unity3d开发flappy bird之背景设计(一)

本文介绍了使用Unity3D开发2D游戏Flappy Bird的过程,从设置2D投影模式到创建背景和小鸟动画。通过调整Main Camera的Projection、创建Quad作为背景并设置材质球,以及编写脚本实现小鸟动画的播放,揭示了游戏开发中的关键步骤和技术要点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        我记得上一年有一个很热的游戏叫“flappy bird”,这款游戏曾风靡全球。游戏虽小,但难度极高,紧紧抓住了玩家那种求胜通关的欲望,而吸引了更多玩家去挑战难度,真正做到了游戏的精致程度。万万没想到这款游戏的开发到完成仅仅需要4小时,我的天啊,我花了差不多一个晚上才完成了背景的设计和小鸟动画的播放。这就说明了游戏的可玩性并不是用画质和炒作来衡量的。而是游戏的设计模式决定游戏的质量。

        好吧进入正题,unity3d不仅仅能开发3D游戏,而且还能做2D游戏。心血来潮,就试试去做呗。我们新建一个3D工程去做2D游戏(并无影响),进入工程第一件事情就是把Main Camera的Projection设置为Orthographic(摄像机的2D投影模式)。然后在Build Setting中选中Android(毕竟做手游)进行Switch Platform,然后就可以在Game视图中根据自己的情况尽情设置游戏的分辨率了。

          首先我们创建背景,顾名思义就是添加背景图片。创建一个Quad,这是个单平面模型,我们可以为此添加材质球背景图片,添加完成之后。背景(bg)Reset一下,调整好其适应的屏幕大小和位置。注意:创建的Quad我们不会用到Mesh Collider组件,可以将其删除;图片的Texture Type改为Editor GUI模式;材质球的Shader也改为Unlit / Transparent模式,以后创建材质球图片也是这样设置。这里我已经把一个背景大体设置好了,注意为了让水管(pipe),小鸟(bird),地面(back)能显示在背景(bg)的前面,不与之重叠显示,需要把它们的Position.Z设置为-1。


 

         好下面用脚本来播放小鸟的飞行动画帧,先来了解材质球的显示原理。我们添加材质球的默认显示是这样的,然后更改材质球的Tiling.X=0.125,这个数值的计算公式是:1 / 图片动画帧 = 1 / 8 = 0.125。这样图片就从第一帧开始显示,效果图:现在就可以用脚本来控制小鸟的动画播放了。

<span style="font-size:14px;">using UnityEngine;
using System.Collections;

public class Bird : MonoBehaviour {
	public int frameCount=0;//计算当前第几帧
	public int frameNumber=10;//定义每秒10帧
	public float timer;//计算帧数
	// Use this for initialization
	void Start () {
	
	}
	
	// Update is called once per frame
	void Update () {
		timer += Time.deltaTime;
		//1帧所用时间为1/10S
		if (timer >= 1.0f / frameNumber) {
			frameCount++;
			timer-=1.0f / frameNumber;
			int frameIndex=frameCount%8;//动画一共8帧
			//this.material//.renderer
			//利用材质的SetTextureOffset方法播放动画帧
			this.gameObject.GetComponent<MeshRenderer>().material.SetTextureOffset("_MainTex",new Vector2(0.125f*frameIndex,0));
		}
	}
}</span>
        运行效果



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值