首先拼接一个人物模型
- 利用空对象,进行组合人物细节。
- 使用的方法是:
(1) 添加一个Sprite Renderer 组件
(2) 在精灵位置添加相应的部分的图像。
(3)分别组装 调整对应层级顺序
拼接树的模型
1.组装方法同人物的模型相似 。
2.注意树的组装层级
人物移动时 两个模型之间的图层关系。
为了解决,在2d 中两个模型的相互显示顺序。
1.在Player 身上添加一个 SortingGroup 的插件
2.将SortingGroup 和 sprite Renderer 排序图层选择对应的图层
3.因为树和人相差的高度问题,需要将树的sprite 的排序点改为轴心
4.将编辑 的项目设置中的 摄像机设置为
自定义轴 然后要以Y为改变显示的轴
树的动画设置。
2d 中可以通过动画器来重复刷新树叶的位置,来模拟动画的效果
添加动画器 添加动画,将 所需要的动画剪辑的图片拖入到动画里面 。
开启Tile Palette面板
安装
如果当前项目还没有使用过Tile Palette面板,可能需要临时下载:
打开Window > Pack Manager,然后搜索2D Tilemap Editor,点击Install进行安装。
解决的问题是, 使用插件来讲 相机自动跟随Player 。
将插件相机的跟随对象和看向对象 改为Player目标
地图的绘制
1.添加空对象,先命名为对应名称
(1)给collision 设置刚体 改为静态的刚体
2、添加组件 Gird 组件。
- 调用出涂色板进行绘制
编写人物移动的代码
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
public class Player : MonoBehaviour
{
private Rigidbody2D rig; //刚体
private float inputX;
private float inputY;
private Vector2 movementValue; //二维的信息
private float speed=3;
private void Awake()
{
rig =GetComponent<Rigidbody2D>(); // 唤醒是获取角色身上的刚体
}
private void Update()
{
getMoveValue();
}
private void FixedUpdate()
{
move();
}
//获取x,y 的偏移量变化值
private void getMoveValue()
{
inputX = Input.GetAxisRaw("Horizontal");
inputY = Input.GetAxisRaw("Vertical");
movementValue = new Vector2(inputX,inputY);
//print(movementValue.normalized);// 取模
movementValue = movementValue.normalized;// 偏移速度太快了。 所以呢将偏移量进行取模的操作。
}
// 实现任务的移动
private void move()
{
rig.MovePosition(rig.position + movementValue * Time.deltaTime*speed);
}
}