场景碰撞体创建
polygon Collider 2D
场景碰撞体创建
polygon Collider 2D
获取组件属性
自定义变量名 获取组件<组件类型>();
控制玩家移动的两个参数
Horizontal
vertical
float horizontal = Input.GetAxis("Horizontal");左右
float vertical = Input.GetAxis("Vertical");上下
position.x = position.x + 0.1f*horizontal;
position.y = position.y + 0.1F * vertical;
获取角色当前位置属性
Vector2 position = transform.position;
1. 存在阴影部分,部分场景元素层级比较特殊,会单独抽出一幅图来表示
帧数最好停留在30-60,人眼无法感觉到卡顿
输入系统
1. Project Settings->Input Manager->Horizontal
有赋对象,则坐标是相对于目标物体的距离;
无赋对象,则坐标是相对于坐标原点的距离;
脚本的初步认识
start,游戏开始时运行的
update,游戏运行时调用的,规定一秒钟调用60次左右;
赋予了新值的变量必须重新再赋予给原变量。
挂载脚本的方式
1. 将写好的脚本直接拖拽到目标精灵身上
2. 点击目标精灵,再点击最下面的add componnent,输入脚本名字。
脚本报错后可以直接点击错误,会弹出窗口console,可以得知报错脚本的位置,代码位置,和解决方案。
有报错则无法运行
新手之跃:b
脚本使用ui需要设置ui命名空间
脚本挂载方式:
1. 创建脚本控制角色移动
2. 配置编辑器:
Edit -> Preferences...
External Tools ->external Script Editor
3. 如果未识别到对应版本的vsstudio,手动找到vs中devenv.exe文件
4. 创建Scripts目录来存放所有脚本文件
5. create C# Scripts(Js Scripts)
新手之越:x
1. 坐标系有两种;global, local
2. 子对象移动均室父对象的坐标远点
1. 主场场景设置;MainScene
2. 右键创建new scene
1. unity, unity hub install
2. console输出面板
3. 工具栏
has exit time(勾选状态下) 和conditions内的条件需要同时满足才可以
生命值赋值执行顺序:
1.类中属性
2.监视模板
3.start方法
启程宝箱的开箱钥匙密码qtgu
对老师的代码优化了一下,老师代码耦合度太低了,我贴在下面我的代码,效果很好
//判断Luna是否有对应的看向方位
if (!Mathf.Approximately(move.x, 0) || !Mathf.Approximately(move.y, 0))
{
moveSpeed = 1;
lookDirection.Set(move.x, move.y);
lookDirection.Normalize();
lunaMove.SetFloat("MoveValue", move.magnitude);
//按下shift奔跑
if (Input.GetKey(KeyCode.LeftShift))
{
moveSpeed = 3;
lunaMove.SetFloat("MoveValue", 2);
}
}
//动画的控制
lunaMove.SetFloat("LookX", lookDirection.x);
lunaMove.SetFloat("LookY", lookDirection.y);