unity3d开发 打飞机小游戏(一)(场景布置)

时间:2023-02-07 19:12:12

  看了一下SIKI老师的课程,自己试一下做一个“打飞机”游戏,unity3d使用的版本是最新的5.5

  首先创建工程选2D

  unity3d开发 打飞机小游戏(一)(场景布置)


打开之后导入一些资源包,直接拖进去就能导入的了

unity3d开发 打飞机小游戏(一)(场景布置)


讲image文件夹里的background拖进场景,并且reset一下图片的坐标,使图片中心和摄像机重合,然后拖动摄像机的大小,使得拍摄范围和图片的范围差不多就OK啦

unity3d开发 打飞机小游戏(一)(场景布置)


接下来呢就要做一个循环播放的地图,通过地图不断向下运动来使得你将来的飞机看起来像在向前飞行嘛

通常的做法呢就是将你的background复制一下,然后拉到上面嘛(为什么循环播放地图要复制一份呢,自己脑补一下就知道了嘛),为了让播放的时候不会出现奇奇怪怪的东西,我们需要尽量的把两张图片边界“粘在一起”,有一个比较好用的方法,就是看你的图片,右键属性,就能知道你图片的像素了,接下来打开unity3d image文件夹里面的图片,在右边的Inspector可以看到有一栏叫 Pixels Per Unit,神马意思呢,就是你图片的像素/100就是在unity3d里面的长度啦,那么长852/100 = 8.52,所有拉上去的图片的y轴就可以设置为8.52是最准确了

unity3d开发 打飞机小游戏(一)(场景布置)unity3d开发 打飞机小游戏(一)(场景布置)


接下来呢就是要图片自己向下移动啦,我们通过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啦


这样做完之后点击播放一下,应该就能看到一个无间隙一直循环的地图了,赶紧动手做一下吧!