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(每单位像素)一致。

发布了1 篇原创文章 · 获赞 2 · 访问量 16

猜你喜欢

转载自blog.csdn.net/weixin_43821918/article/details/105348519