目标是:牢记以下137条操作,越级上升到中级阶段
unity-unity2d基础操作笔记(三)
- 一百零一、如何操作一个游戏物体由多个部分组成的动画
- 一百零二、如何使用rigidbody 2d进行物体移动
- 一百零三、获取游戏物体身上的组件方法
- 一百零四、代码控制物体朝向
- 一百零五、不使用插件,纯手动跳跃的实现
- 一百零六、如何判断玩家按下了某个键
- 一百零七、如何防止跳的过程中可以左右移动
- 一百零八、实现多方向开枪的思路
- 一百零九、如何保存预制体变动
- 一百一十、如何制作子弹预制体
- 一百一十一、如何从预制体路径上生成子弹
- 一百一十二、如何实现子弹飞行
- 一百一十三、直接在代码里面可以使用标签匹配找到物体
- 一百一十四、欧拉角表示旋转
- 一百一十五、如何获取另外一个脚本的方法
- 一百一十六、如何通过路径加载AudioClip
- 一百一十七、代码中如何控制游戏物体身上的Animator组件是否勾选
- 一百一十八、如何通过界面的方式添加动画事件
- 一百一十九、围绕自身旋转代码实现
- 一百二十、手榴弹遇到物体时的状态设置
- 一百二十一、移动的第四种方法
- 一百二十二、游戏物体旋转的写法
- 一百二十三、如何在c#中实现要等待一秒执行
- 一百二十四、audioSource.playOnAwake=false表示不会开始时自动播放【技巧】
- 一百二十五、如何使用代码找到指定范围内的所有敌人
- 一百二十六、如何计算transform的距离
- 一百二十七、如何实现不使用插件情况下,如何实现镜头跟随游戏物体
- 一百二十八、如何让摄像机不移动,固定在一个位置
- 一百二十九、Text的命名空间:using UnityEngine.UI
- 一百三十、如何通过组件的类型名称获取游戏物体
- 一百三十一、开火点一般都设置成物体的子物体,调整好位置【技巧】
- 一百三十二、如何为空物体设置颜色icon
- 一百三十三、layer的检视面板中,越靠下面就越显示在上面【技巧】
- 一百三十四、物体朝某个方向移动的方法
- 一百三十五、Random.Range(0,101)随机生成0到100的随机数,左边包括,右边不包括
- 一百三十六、使用AddListener方式添加按钮点击事件
- 一百三十七、如何从一个场景跳转到另外一个场景
一百零一、如何操作一个游戏物体由多个部分组成的动画
当一个人物由多个部分的动画组成,可以将动画的多个部分都放入一个数组中,当需要执行某个动作时,循环数组执行某一个动画就可以了
一百零二、如何使用rigidbody 2d进行物体移动
float h = Input.GetAxis(“Horizontal”); rd.velocity = new Vector2(h " speed * Time.fixedDeltaTime, rd.velocity.y);
一百零三、获取游戏物体身上的组件方法
一个游戏物体上可以挂在多个脚本,可以通过如下获取脚本,同时,当播放动画的时候,一般都需要先获取Animator组件
-
public定义好
-
直接拖动
-
通过代码GetComponent获取
一百零四、代码控制物体朝向
transform.rotation=Quternion.Euler(0,0,0)右边
transform.rotation=Quternion.Euler(0,180,0)右边
一百零五、不使用插件,纯手动跳跃的实现
-
还是使用rigidbody2d组件
-
通过rigidbody 2d组件给一个向上的力
rd.AddForce(Vector2.up*500F);
- 如何防止多段空中跳跃
可以设定给一个int的值如 int 具名Num=1
在按下键的时候Num-=1
同时执行动画的条件加上一个&& 条件Num>0
当落在地上的时候Num=1
- 如何判断是否落在地上
先给地上打上标签,通过碰撞体碰撞的时候判别,碰撞的时候识别碰撞的是什么,可以通过
other.transform.tag
一百零六、如何判断玩家按下了某个键
Input.GetKeyDown(KeyCode.K)
一百零七、如何防止跳的过程中可以左右移动
只需要判断是否在地上,在空中,就不移动,在移动方法中直接returnif(isOnGround -false) return;
一百零八、实现多方向开枪的思路
-
在玩家上和右边创建空物体作为发射点
-
在hirachy中,将发设定放在玩家的下面
一百零九、如何保存预制体变动
-
如果在hirachy中,预制体有 改动
-
在inspector面板中,点击overrides保存变动
-
然后点击apply all
一百一十、如何制作子弹预制体
-
在hirachy中,创建一个2d object中的sprite