2D游戏场景循环切换的简单练习几个变量声明

2D游戏场景循环切换的简单练习几个变量声明

通常 2D 游戏是水平或垂直的。 要进入下一个级别,您需要从左到右(或从上到下等)。 一个关卡游戏开发素材,我下面实现的切换场景的条件是收集完所有金币走到出口点(Exit)触发进入下一关卡的提示开发学习,按空格进入下一关卡。

现在开始一个简单的练习,切换3个场景

让我们从一些变量声明开始。 贴图可以换成其他提示unity 切换场景,或者文字提示“按空格切换”等;

var winImage : Texture2D;     //游戏结束弹出的“you win”贴图
private var myTime : float=0; //记录时间的变量
private var isNext = false;   //是否进入下一关

unity vr切换场景文件_unity 切换场景_unity点击按钮切换场景

如何映射可以加一个OnGUI()函数来实现

function OnGUI()
{
	if(isNext)                  //满足可进入下一关条件,弹出贴图
	   GUI.DrawTexture(Rect(Screen.width /2-179,Screen .height /2
				-90,358,180),winImage,ScaleMode.ScaleToFit ,true,0);
}

unity 切换场景_unity vr切换场景文件_unity点击按钮切换场景

最后在Update()函数中实现场景切换功能。 当游戏场景运行5秒后,会弹出“you win”贴纸。 按空格进入第二个场景,然后用同样的方法进入第三个场景,然后继续回到第一个场景。 一个场景,这样一个循环; 因为平时按空格键(Input.GetButtonDown("Jump"))默认是跳转功能,为了避免混淆,加了一个布尔变量isNext一起实现; 也可以添加一个Button控件,点击进入下一级; 只需更改 if 语句{例如:if(GUI.Button( Rect( x,y ,width ,height ) , "switch scene" ));}。

(提示:要实现场景切换,需要在File->Building Setting中添加场景unity 切换场景,并分配下面用到的数字0、1、2等)

function Update () 
{
	myTime += Time.deltaTime ;    //获取游戏开始到当前时间
	if(myTime >= 5)               //游戏运行时间大于5秒就切换场景
		isNext = true;        //也可以从OnTriggerEnter()函数获取

unity 切换场景_unity点击按钮切换场景_unity vr切换场景文件

if(Input.GetButtonDown("Jump")&&isNext)//按下空格 { isNext = false; var index : int = Application.loadedLevel; if(index <= 1) //当前在场景0 Application.LoadLevel (index+1); //场景编号+1进入下一关 if(index == 2)

unity vr切换场景文件_unity点击按钮切换场景_unity 切换场景

Application .LoadLevel (0); //回到第1关 //Application .LoadLevel ("Scene0");//也可以直接用场景名 } }

对于触发点检测,可以使用碰撞检测方法(下面的代码是“Enter Trigger”)。 同时,需要将贴图出口的标签改为“出口”(Inspector->Tag),在出口处添加一个Box collider,Is Trigger。 打钩;

function OnTriggerEnter(other:Collider)

unity 切换场景_unity vr切换场景文件_unity点击按钮切换场景

{ //exit为触发器; //搜索场景中的金币直到为空(被收集了) if(other.tag=="exit"&&GameObject.FindWithTag("jinbi")==null)//需收集所有金币 { isNext = true; //转换场景 } }