avatar
文章
161
标签
37
分类
21
主页
文章
笔记
时间轴
项目
研发手记
更多
  • 搜索
  • 学习路线
  • 简历
  • 工具
  • 音乐
  • 视频
  • 感悟
  • 站点档案
  • 友链
  • GitHub
  • B站
岁迹
主页
文章
笔记
时间轴
项目
研发手记
更多
  • 搜索
  • 学习路线
  • 简历
  • 工具
  • 音乐
  • 视频
  • 感悟
  • 站点档案
  • 友链
  • GitHub
  • B站

岁迹

面向对象编程(中级)
发表于2026-06-27|编程语言
7 面向对象编程(中级) IDE:集成开发环境 IDEA Eeclipse:一个开源的、基于 Java 的可扩展开发平台。是由 IBM 公司开发,在 2001 年 11 月贡献给开源社区的,目前最优秀的 Java 开发 IDE 之一。 7.1 IDEA 的使用 IDEA:全程 IntelliJ IDEA。在业界被公认为最好的 Java 开发工具。是捷克 JetBrains 公司的产品。除了 Java 开发,还支持 HTML,CSS,PHP,MySQL,Python 等。下载地址 7.1.1 常用快捷键 删除当前行:ctrl + Y 复制当前行:ctrl + D 补全代码:alt + / 添加 / 取消注释:ctrl + / 导入该行需要的类:alt + enter 快速格式化代码:ctrl + alt + L 快速运行程序:shift + F10(我改成了alt + R) 生成构造器:alt + insert 查看一个类的层级关系:ctrl + H 定位一个方法:把光标放在一个方法上,按 ctrl + B 自动分配变量名:在后面加上 .var 查看模板快捷键:c...
运算符
发表于2026-06-27|编程语言
3.1 算术运算符 运算符:一种特殊的符号,用于表示数据的运算、赋值和比较等。 + - * \对应加,减,乘,除 ​ 5 / 2 = 2; 因为是 int。同理 5.0 / 2 = 2.5 % :取模(求余数),结果和被取模数同号。其实 a % b == a - (int)a / b * b; 例如:-10 % 3 =-10 - (-10)/ 3 * 3; 11 % 9 = 2; -11 % 9 = -2; 11 % -9 = 2; -11 % -9 = -2; ++ :自增。 ++i 先自增后赋值;i++ 先赋值后自增 12345int i = 10;int j = ++i; //等价于 i = i + 1; j = i; 此时 i = 10; j = 10`int k = i++; //等价于 k = i; i = i + 1; 此时 i = 11; k = 10`i = i++; //系统会先后执行 int temp = i; i = i + 1; i = tempi = ++i; //系统会先后执行 i ...
算法
发表于2026-06-27|编程语言
杨辉三角 123456789101112131415161718192021222324import java.util.Scanner;public class pro1 { public static void main(String[] args) { Scanner myScan = new Scanner(System.in); int [][]arr = new int [10][]; for(int i = 0;i < arr.length;i++){ arr[i] = new int [i+1]; for(int j = 0;j < arr[i].length;j++){ if(j==0||j==arr[i].length - 1){ arr[i][j] = 1; } else&#...
程序控制结构
发表于2026-06-27|编程语言
4.1顺序控制 程序从上到下逐行执行,中间没有任何判断和跳转(默认的控制顺序) 比如:Java 定义变量时采用合法的前向引用。 12graph LRA(A语句)-->B(B语句)-->C(C语句)-->D(D语句)-->E(...) 语句:Java 中最小的执行单位。语句分为 单语句 和 复合语句。 单语句:通常意义的一条语句。语句间以分号 ; 分隔。 复合语句:一对大括号括起来的语句组。也称为 “块” 12345{ 语句1; 语句2; ...} 块中可以有多条语句。块后没有分号 ; 4.2 分支控制 if-else 让程序有选择的执行。主要分为:单分支控制、双分支控制 4.2.1 单分支控制123if (条件表达式) { 语句;} 特别地,把代码块(复合语句)作为语句的场合也能这样写: 123if (条件表达式) { 执行代码块;} 当条件表达式为 ture,就会执行 {执行代码块;};如果为 false 则不执行。特别地:如果 ...
数组
发表于2026-06-27|编程语言
5 数组、排序和查找 数组:可以存放多个同一类型的数据。数组也是一种数据,是引用类型。 即:数组就是一组数据。 5.1 一维数组 数组可以是多个相同类型数据的组合,实现对这些数据的统一管理。 数组中的元素可以是任何数据类型。包括基本类型和引用类型。 数组的下标从 0 开始。且必须在指定范围内使用,否则报错。 数组属于 引用类型,数组型数据是 对象(Object) 数组的构造方法: 使用数组的步骤:1.声明数组并开辟空间 2.给数组各个元素赋值 3.使用数组 构造方式1:动态初始化 123int[] name = new int[5]; // 创建了数组 name,存放5个intint ints2[] = new int[1]; // 这种写法也行ints[2] = 15; // 访问数组第3个数 构造方式2:动态初始化 123char[] arry; // 先声明数组 name,此时数组是 nullarry = new char[2]; // 分配内存空间,可以存放数据了chars[1] = '\t'; 构...
变量
发表于2026-06-27|编程语言
2.1 变量​ 变量:变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量(值)。 变量:变量是程序的基本组成单位 变量的三个基本要素:类型 + 名称 + 值 示例:int a = 1 类型 int 名称 a 值 1 如何声明变量: 1234int a;//声明变量a,给变量a一块空间a = 100;int b = 100;//变量的赋值,将100赋值给bint c = 5, d; 2.2 变量使用注意事项 变量表示内存中的一个存储区域。不同变量,不同类型,占用的空间大小不同。如 int 有 4 byte,而 double 有 8 byte。 该区域有自己的名称 变量名 和类型 数据类型 变量必须先声明,后使用。 123int a;a=10;System.out.println(a); 变量在同一作用域内不能重名。 该区域的数据值可以在同一类型范围内变化。 变量的三个基本要素:类型 + 名称 + 值 2.3 程序中 +号的使用 当左右两边都是数值型,做加法运算 当左右两边任意一方...
JAVA概述
发表于2026-06-27|编程语言
1.1 Java 历史 目前 Java 版权属于甲骨文公司。 长期支持的版本只有 Java8 与 Java11。这两个版本也是最多使用的版本。 Java SE:标准版 Java EE:企业版(重要) Java ME:小型版(少) 1.2 Java 重要特点 Java 语言是面向对象的(oop) 简单来说,面向对象是一种程序设计技术。其重点放在数据(对象)和对象的接口上。 ——何为面向对象?详见 [[ 6 面向对象编程 ]](https://i-melody.github.io/2021/11/29/Java/入门阶段/6 面向对象编程(基础)/) Java 语言是健壮的。其强类型机制、异常处理、垃圾自动收集是健壮性的保证。 Java 强调早期问题检测、后期动态检测,及消除易出错的情况。其编译器能检测很多其他语言仅在运行时才会发现的问题。 ——异常见 [[ 11 异常 ]](https://i-melody.github.io/2021/12/18/Java/入门阶段/11 异常/) Java 语言是跨平台性的:一个编译好的 .class 文件可以在...
Games101
发表于2026-06-27|图形与引擎
Lecture2 线性代数简单总结 向量的点乘:点乘结果反映两个向量的方向相似程度 Lecture 02 Review of Linear Algebra P2 - 26:00 可以判断向量前与后的信息 点乘>0 同方向 点乘<0 反方向 向量的叉乘 Lecture 02 Review of Linear Algebra P2 - 30:31 输入两个向量,输出一个同时垂直与这两个向量的新向量 如何判断新向量的方向? 右手螺旋定则 如a×b=c 四指从a的方向向b的方向握紧,大拇指指向的就是c的方向 如何判断两个向量的左右关系? Lecture 02 Review of Linear Algebra P2 - 38:10 a×b得到结果是和z轴同向,是正的,说明b在a的左侧 如何判断一个点是否落在三角形内部?(做光栅化,给三角形内部的像素着色需要用到) Lecture 02 Review of Linear Algebra P2 - 39:29 AB×AP > 0 说明P在AB左侧 BC×BP > 0 说明P在BC左侧 CA×CP ...
麦田物语
发表于2026-06-27|图形与引擎
场景切换创建TransitionManager控制人物的场景切换 在游戏中,我们存在多个场景,我们需要进入不同的场景,以便游戏的游玩性。对于场景的管理,我们使用事件来进行管理,对于每一个场景,我们都设置一个进入的以及出去的碰撞体,每当碰撞体的碰撞器检查到玩家后,开始进行场景的切换,将玩家的位置传送到指定的场景中。在切换场景的时候,我们需要对当前场景的物体也进行管理,因为当前的场景需要被卸载,新场景的加载需要时间,可能会在新场景加载进行访问,就可能找不到相应的物体,进而报空。 例如,当新场景加载时,原有场景被卸载,场景中的相机可能无法访问到新场景的边界信息,因为新场景还未被加载完成,所有会报空,所有我们需要在新场景加载完成后,重新获取场景的边界,这个时候就需要事件处理 具体实现场景切换的逻辑:在Hierarchy窗口中创建一个空物体,让其携带碰撞体的组件,将其的位置移动到需要进行场景切换的位置,同时挂载Teleport脚本。每当检测到玩家的碰撞器,进行场景切换 Teleport 12345678910111213141516namespace MFarm.Transition...
银河恶魔城
发表于2026-06-27|图形与引擎
玩家状态机采用了状态机模式,将玩家的不同状态(如闲置和移动)封装到不同的类中,通过状态机来管理状态的切换。 1. Player.cs内容及作用 这是玩家角色的核心脚本,负责管理玩家的基本属性、状态机以及一些基本的行为。 属性: moveSpeed:玩家的移动速度。 wallCheck、wallCheckDistance、groundCheck、groundCheckDistance、whatIsGround:用于检测碰撞,如墙壁和地面。 facingRight、facingDir:控制玩家的朝向。 anim、rb:分别是玩家的动画控制器和刚体组件。 stateMachine、IdleState、MoveState、jumpState、airState:用于管理玩家的状态。 方法: Awake():初始化状态机和各种状态。 Start():获取动画控制器和刚体组件,并将玩家初始状态设置为 IdleState。 Update():每帧更新当前状态。 SetVelocity():设置玩家的速度,并根据速度控制玩家的朝向。 IsGroundDetected():检测玩家是否在地面上。...
1…111213…17
avatar
岁迹
记录游戏客户端开发、Unity 项目、个人 App 岁迹的开发过程。
文章
161
标签
37
分类
21
GitHub
公告
记录游戏客户端开发、项目复盘和个人成长。
最新文章
AI方案12026-08-27
FirstChargeModel.lua2026-08-27
Model 如何读取服务器数据、协议是什么、View 的 Data 包含什么2026-08-27
移动与视角框架2026-08-27
ActivityModel2026-08-27
分类
  • Unity/游戏客户端15
  • 其他笔记2
  • 博客搭建1
  • 图形与引擎25
  • 数据库与持久化9
  • 游戏拆解2
  • 研发手记41
    • Model6
标签
Games101 游戏设计 image 数据持久化 Model 拍脸系统 Unity项目以及安卓构建 UE 策划 Algorithm Unity网络编程基础 UE-C++ C++ 设计模式 GameEngineStudy Java 研发手记 新建文件夹 面试题模拟 系统拆解 新手奖励 黑神话悟空 Hexo Mysql Python Unity常见框架学习 Ugit 笔记 markdown 综合记录 C# 无畏契约 综合笔记 活动开发 Butterfly 游戏算法 快速上手
归档
  • 八月 2026 43
  • 六月 2026 118
网站信息
文章数目 :
161
本站访客数 :
本站总浏览量 :
最后更新时间 :
© 2025 - 2026 By 岁迹框架 Hexo 7.3.0|主题 Butterfly 5.5.5
鄂ICP备2026033623号