11.1 二维游戏开发
直接导入一个叶子的图片,然后并且可以通过新建一个sprite的图片,然后将其扩大到覆盖整个屏幕并把其颜色修改,就可以生成一个背景 可以选中这个类型
接下来调整精灵的大小,可以通过scale来实现,也可以通过精灵属性下的Pixels Per Unity来就决定,它代表的是每一个unity单位包含多少像素 默认是100,设置为10的话则会让这个显示的图片变大 接下来实现二维人物的动画: 这时候我们创建出这样的一个场景并且调出animation窗口,创建一个idle动画 接下来选中这六个,并且将其拖拽到窗口里 using System.Collections; using System.Collections.Generic; using UnityEngine; [RequireComponent(typeof(Rigidbody2D))] [RequireComponent(typeof(Collider2D))] public class Bullet : MonoBehaviour {public float speed = 2f; private Rigidbody2D body; // Start is called before the first frame update void Start() {body = GetComponent<Rigidbody2D>(); } // Update is called once per frame void Update() {body.MovePosition(transform.position speed * transform.right * Time.deltaTime;) } private void OnCollisionEnter2D(Collision2D collision) {if (collision.gameObject.tag == "enemy") {GameObject.Destroy(collision.gameObject); GameObject.Destroy(gameObject); } } } 给人物写一个发射子弹的脚本 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Spawner : MonoBehaviour {public float timeInterval = 3f; float timer = 0f; public GameObject bullet; // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() {if (timer > timeInterval) {Instantiate(bullet, transform); timer = 0; } timer = Time.deltaTime; } } 接下来用资源包里自带的图片为其创建一个子弹预制件,并为其添加上circle collider 2D组件,并将bullet脚本拖拽给它 接下来创建一个敌人并为其赋予动画,赋予动画的方式和之前一样,然后为其添加box collider以及添加tag 接下来介绍一种可以让二维物体也可以具有光照的方法: 11.2 瓦片地图
如果需要表现斜45度的效果的话,在排列的地方则需要一些技巧 然后就可以绘制地图了
11.3 二维角色
拖拽标准包中的机器人到场景中 接下来设定好这些状态变化的条件 添加这两个组件并调整碰撞体大小 但是这时候遇到了这样的问题,这是因为给瓦片地图虽然设置了刚体,但是的也得给刚体设置上静态的属性才可以。
接下来实现跳上平台的功能
11.4 二维角色骨架系统
接下来在unity中实现二维角色的骨骼动画。 导入2D animation包后 在这里插入图片描述 然后为其自动生成网格 下面可以自动赋权重 添加sprite skin组件并创建骨骼 创建动画并修改关键帧动画的位置,即可实现动画 |
|