看了一下SIKI老师的课程,自己试一下做一个“打飞机”游戏,unity3d使用的版本是最新的5.5
首先创建工程选2D
打开之后导入一些资源包,直接拖进去就能导入的了
讲image文件夹里的background拖进场景,并且reset一下图片的坐标,使图片中心和摄像机重合,然后拖动摄像机的大小,使得拍摄范围和图片的范围差不多就OK啦
接下来呢就要做一个循环播放的地图,通过地图不断向下运动来使得你将来的飞机看起来像在向前飞行嘛
通常的做法呢就是将你的background复制一下,然后拉到上面嘛(为什么循环播放地图要复制一份呢,自己脑补一下就知道了嘛),为了让播放的时候不会出现奇奇怪怪的东西,我们需要尽量的把两张图片边界“粘在一起”,有一个比较好用的方法,就是看你的图片,右键属性,就能知道你图片的像素了,接下来打开unity3d image文件夹里面的图片,在右边的Inspector可以看到有一栏叫 Pixels Per Unit,神马意思呢,就是你图片的像素/100就是在unity3d里面的长度啦,那么长852/100 = 8.52,所有拉上去的图片的y轴就可以设置为8.52是最准确了
接下来呢就是要图片自己向下移动啦,我们通过C#脚本来实现
//背景图移动速度 public static float moveSpeed; void Start(){ moveSpeed = 3f; } // Update is called once per frame void Update () { transform.Translate(Vector3.down * moveSpeed * Time.deltaTime); Vector3 postion = transform.position; if(postion.y <= -8.52f){ transform.position = new Vector3(postion.x,postion.y+2*8.52f,postion.z); } }代码非常简单是吧,首先设置背景图的速度嘛,然后移动向下的过程中要判一下当它的顶部(之前计算过就是8.52)移出去了,那么就要把它重新的“循环”回来嘛,我们设置的两张图,所以呢是要y轴加上两个8.52,其他不变就OK啦
这样做完之后点击播放一下,应该就能看到一个无间隙一直循环的地图了,赶紧动手做一下吧!