unity2D游戏学习笔记
作者:互联网
unity2D游戏自用学习笔记
1.2D游戏利用Rigidbody 2D来进行左右移动,转向,跳跃。
左右移动:获取移动物体的刚体,利用Input.GetAxisRaw("Horizontal")
来获取左右方向键或者AD键按下时得到的值。把值给刚体的速度velocity的x来进行左右方向的位移。
转向:改变物体Scale x的正负值。或者transform.localEulerAngles = new Vector3(0, 0, 0);
或者 xxx.transform.rotation=Quaternion.Euler(0.0f,0.0f,0.0f);
。
跳跃:检测跳跃输入Input.GetButtonDown("Jump")
(系统默认键位是空格)。设定一个正值给给刚体的速度velocity的y来进行上方向的位移。
防止无限跳跃的方法:设置一个bool值检测物体是否与地面接触xxx(bool值)= Physics2D.OverlapCircle(groundCheck.position, 0.1f(两者z轴的对比), Ground);
,若接触才可跳跃。控制跳跃次数可以实现多段跳。最好设置子物体对比。
2.镜头跟踪
方法一:计算镜头与跟踪角色的相对偏移offset = target.position - this.transform.position;
,在update中跟踪对象的位置减去偏移量offset就是镜头需要移动的量 this.transform.position = target.position(跟踪角色位置) - offset;
,从而达到跟踪角色。
方法二在unity的window中点击Package Manager中添加Cinemachine插件,新建一个2d摄像头,Follow中选择跟踪角色,Body中可以设置相关跟随的效果设置。点击Add Extension中的Cinemachine Confiner可以设置跟随边界。检测的方式是给场景设置的Polygon Collider(多边形的碰撞体)。第二种方法特别好用,以后只用第二种了。
3.绘制地图
用Tilemap绘制,很方便,导入要添加的素材,跟画画一样。需要保证背景和素材的Pixels Per Unit(每单位像素)一致。
标签:游戏,unity2D,transform,笔记,跟踪,设置,offset,跳跃,position 来源: https://blog.csdn.net/weixin_43821918/article/details/105348519