Unity-SunnyLand练习记录6-摄像机的跟随
Unity-SunnyLand练习记录6-摄像机的跟随 添加Cinemachine Window,Package Manager,添加Cinemachine插件 添加后上方选项会出现Cinemachine标签,点击,添加2D相机 设置跟随 将相机的follow对象设置为player 为摄像机添加Cinemachine Confiner,设置相机移动的范围 为背景添加多边形碰撞体(Polygon Collider),注意设置为触发器,然后在摄像机的Bounding shape 2D中选中背景
Unity学习记录-Vector和Transform
Unity学习记录-Vector和Transform 常用的Vector向量 1print(Vector3.zero); 0,0,0 1print(Vector3.right); 1,0,0 1print(Vector3.left); -1,0,0 1print(Vector3.forward); 0,0,1 1print(Vector3.back); 0,0,-1 1print(Vector3.up); 0,1,0 1print(Vector3.down); 0,-1,0 Vector常用方法 计算两点之间的距离 123Vector3 v1 = new Vector3(1, 1, 0);Vector3 v2 = new Vector3(0, 0, 1);Vector3.Distance(v1,...
Unity-SunnyLand练习记录5-动画的绑定
Unity-SunnyLand练习记录5-动画的绑定 为角色添加Animator组件 Add Component,Animator 创建Animator Controller,并添加到Animator中 在资源页面新建文件夹用于存放动画,右键创建Animator Controller 将创建的Animator Controller拖拽到Animator中 创建具体的动画 选中player,点击window,Animation,Animation 点击create,拖拽图片素材形成动画 调整动画速度等参数 打开Animatior Controller,设置动画切换的条件和模式 代码的编写 通过判断按键是否按下,修改isRuning的布尔值,从而控制动画的切换 1234567891011121314151617void PlayerMobement()//角色移动函数{ //获取角色的移动方向 -1,0,1 float movement =...
Unity学习记录-Time相关
Unity学习记录-Time相关 时间缩放比例 12Time.timeScale = 0;//设置时间倍速,为0则暂停,为1则正常 帧间隔时间:最近的一帧用了多长时间 12print(Time.deltaTime);//每帧所用的时间,会受到scale的影响 12print(Time.unscaledDeltaTime);//不受scale影响的帧间隔时间 物理帧间隔时间 12print(Time.fixedDeltaTime);//会受到scale的影响 12print(Time.fixedUnscaledDeltaTime);//不会受到scale的影响 从游戏开始到现在的时间 12print(Time.time);//会受到scale的影响 12print(Time.unscaledTime);//不受scale影响 帧数 12print(Time.frameCount);//帧数
Unity-SunnyLand练习记录4-角色的跳跃及手感优化
Unity-SunnyLand练习记录4-角色的跳跃及手感优化 角色跳跃代码 在FixedUpdate中,判断是否按下跳跃键,并调用跳跃函数 12345678910private void FixedUpdate(){ PlayerMobement(); //判断并调用 if(Input.GetButton("Jump")) { jump(); }} 在跳跃函数中,为角色刚体添加y轴方向的速度 1234void jump()//角色跳跃函数{ playerRb.velocity = new Vector2(playerRb.velocity.x, jumpForce*Time.fixedDeltaTime);} 手感优化 在FixedUpdate中,我们使用GetButton,在Update中,我们使用GetButtonDown 用户手册对两者的描述: 1GetButton:bool 当按下并且未释放轴时,返回...
Unity-SunnyLand练习记录3-角色水平移动和Tilemap碰撞设置
Unity-SunnyLand练习记录3-角色水平移动和Tilemap碰撞设置 角色水平移动设置 确定键盘按键事件 Edit,ProjectSettings,Input Manager中查看Axes 查看Horizontal对应的按键 移动代码的编辑 首先为角色移动控制创建变量获取角色刚体和设置移动速度 12345//1.获取角色刚体public Rigidbody2D playerRb;//2.声明角色移动速度public float playerMoveSpeed = 400.0f; 创建PlayerMovement函数,并在FixedUpdate中调用它,这样保证在不同配置的机器上每秒移动的距离是一样的 在PlayerMovement函数中,先获取键盘按键事件 然后对角色刚体的速度进行赋值 对于刚体的运动,在FixedUpdate中调用 1234567891011121314151617void FixedUpdate(){ PlayerMovement();}void PlayerMobement(){ ...
Unity学习记录-GameObject的内容
Unity学习记录-GameObject的内容 GameObject的成员变量 名字 name 获取gameobject的名字 为gameobject的名字赋值 12print(this.gameObject.name);//获取this.gameObject.name = "星辰微光";//赋值 判断是否激活 activeSelf 获取物体是否激活 1print(this.gameObject.activeSelf); 判断物体是否为静态对象 isStatic 判断物体是否为静态对象 1print(this.gameObject.isStatic); 获取物体所在的层级 layer 返回的是一个int值,表示物体所在的层级 1print(this.gameObject.layer); 获取物体的标签 tag 返回一个string 1print(this.gameObject.tag); GameObject的静态方法 创建自带的几何体...
Unity-SunnyLand练习记录2-角色创建
Unity-SunnyLand练习记录2-角色创建 创建角色图层 在Hierarchy处新建2DGameObject 在Sprite Renderer中拖拽入Sprite的材质 在Sorting Layer中设置角色的1图层 为角色添加刚体和碰撞盒 为瓦片地图添加碰撞 在瓦片地图中添加组件Tilemap Collider 2D
Unity-SunnyLand练习记录1-Tilemap
Unity-SunnyLand练习记录1-Tilemap 1.Tilemap的创建 在Hierarchy处,右键,2DObject,Tilemap 创建完成后会出现Grid,其子对象就是创建的瓦片地图 2.素材的切片 将素材png的Sprite Mode设置为Multiple 将素材png的每格像素设置为16 点击Sprite Editor进行切片编辑,新版本会直接切割好 之后点击切片,应用即可 3.将切片后的素材加入调色板 点击窗口,2D,平铺调色板 点击 create new palette 新建调色板,把切片好的素材拖放进去即可 4.Tilemap缝隙的处理 在实际游玩场景中我们可以看到Tilemap中存在缝隙 调整Grid的 单元格大小 ,缩小即可(如1改为0.9)
Unity学习记录-MonoBehaivour的重要内容
Unity学习记录-MonoBehaivour的重要内容 在一个脚本中,最多只能有一个类继承MonoBehaviour。 创建的脚本只有继承了MonoBehaivour才能挂在GameObject上。 继承MonoBehaivour的脚本只能挂载,不能new MonoBehaviour中的重要内容 获取脚本依附的物体对象 gameobject 12print(this.gameObject);//打印依附对象的名字 获取物体对象的位置信息 transform 123print(this.transform.position);//位置print(this.transform.eulerAngles);//欧拉角print(this.transform.lossyScale);//缩放 获取脚本是否激活 enabled 123this.enabled;//返回一个布尔类型this.enabled = false;//使脚本失活 获取物体自身挂载的脚本 GetComponent 根据脚本名获取 返回的是一个基类,如果获取失败会返回空 比较少用 12test...





