接着前面学习笔记十九,这次进一步,添加碰撞监测。而且之前都是使用GUI来实现2D动画的播放,而实际上开发2D游戏最好不要用GUI来实现。因为GUI渲染效率比较低,并且无法使用Unity的独有特色功能。如物理引擎,粒子系统和特效。那如何实现2D游戏咧?其实很简单,3D的游戏中加入了Z轴。那如果不去旋转摄像机直接照射X,Y轴。便和2D游戏一样了。
首先在游戏界面汇总创建一个面对象,作为2D游戏的背景图,并让摄像机直接对着它。
接着在背景图上绘制图层如主角,敌人,道具等。然后动态更新每个对象身上的材质贴图就可以实现动的效果。ok,上代码。
例1:
//主角对象
private var hero : GameObject;
//按键是否被按下
private var keyUp : boolean;
private var keyDown : boolean;
private var keyLeft : boolean;
private var keyRight : boolean;
//记录当前时间
private var time : float;
//限制一秒多少帧
private var fps : float = 4;
//帧序列
private var nowFram : int;
//动画数组
private var an