2by3能边开发边看游戏画面反馈
2by3能边开发边看游戏画面反馈
2d游戏只在z轴旋转
聚焦游戏物体:hierarchy选中游戏物体按f/双击
鼠标右键进行拖拽
滚动中间进行shi ye
跟随: CinemachineVirtualCamera组件 -> Follow
摄像机边界值: CinemachineVirtualCamera组件 -> Add Extension -> CinemachineConfiner2D
unity包管理 : Window -> Package Manage
摄像机模式: Camera -> Projection
获取键盘的输入 KeyCode.
判断某个键是否按下: Input.GetKey()
Mathf.Approximately(value1,value2) : 比较两个值近似相等的数学方法
基于中心点来判断渲染层级
Ctrl+K+C快速注释
访问级别:
所有类型和类型成员都具有可访问级别,用来控制判断是否可以允许我们访问某些成员变量和方法。可使用访问修饰符来指定声明类型或成员的可访问性。
float类型的变量?
即小数变量,0.1是不能使用的,要加f代表float{浮点型}
而整形不用加f\
住:f是float的缩写
Vector2{"矢量"是一个可以改变对象位移的类型,拥有可以改变2个值的能力,因为我们是2D游戏,只有2个可以位移的量,即XY轴所以用Vector2}
position"位置"这里指的是Unity上面的这个这个position{位置}就是Transform下的第一个这个{位置}
Vector2 position = transform.position中
Vector2 poition调用了vector2类型指定了Unity中的position的x y值{再次强调2D游戏没有z轴所以只有xy两个变量}
后面的 = transform.position指的是将这指定的xy两个值赋予在transform.positiopn上面
position.x = position.x + 0.1f;个人推断是指设置这个position.x的值{这个是x轴位移的值}不断加0.1f
最后面的tansform.position = poition;是将position.x这个不断加1的变化名称赋值给transform.position 这里联系第一行的内容我们能知道Vector2 position是transform.position赋值的
所以老师靠着位置x不断+1的循环实现了Luna在x轴上的位移.
关键:在副对象上面重新建立了一个新的xy坐标系,在此基础上进行相关对象的位移计算
T
qtgu:开箱密码
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
public float moveSpeed = 5f; // 移动速度
private Rigidbody2D rb;
void Start()
{
// 获取 Rigidbody2D 组件
rb = GetComponent<Rigidbody2D>();
}
void Update()
{
// 获取水平和垂直输入(使用键盘的 WASD 或方向键)
float horizontalInput = Input.GetAxis("Horizontal");
float verticalInput = Input.GetAxis("Vertical");
// 计算移动速度
Vector2 moveVelocity = new Vector2(horizontalInput, verticalInput) * moveSpeed;
// 应用移动速度到 Rigidbody2D
rb.velocity = moveVelocity;
}
}
预制体
ctrl+z回滚
动画组件 -> Animator
动画控制器 ->Animator Controller
新建动画控制器 -> project -> 新建Animators 文件夹 -> 新增Animator Controller
绑定动画控制器 -> 选定对象 -> 选择添加的动画组件(Animator) -> 将Animator Controller 拖拽到Animator 下的Controller上
动画制作窗口 Animation: Window -> Animation -> Animation
动画状态机窗口 Animation: Window -> Animation -> Animation