3d赛车游戏设计(unity3D+3dsmax+游戏引擎)(8)
时间:2016-12-15 12:01 来源:毕业论文 作者:毕业论文 点击:次
RaceEndDelay -= Time.deltaTime; //游戏延迟开始计时与游戏结束时 if ( RaceEndDelay <= 0 ) { Application.LoadLevel("end"); //调用游戏结束脚本 } } 3.2.2 储气罐控制脚本的编写 储气罐的控制脚本用于实现储气罐出现的时间,储气罐一旦触发后对车辆所产生的加速度以及加速的持续时间。 储气罐的参数定义如下: var NitroTime:float = 5; 储气罐的最低出现时间 var NitroSpeed:float = 8; 储气罐所能产生的速度加成 var NitroAcceleration:float = 0.5; 储气罐所产生的加速度加成 储气罐一旦触发,对车辆产生作用则由下列语句来实现: function OnTriggerEnter(collision:Collider) 功能开始 { if ( collision.transform.parent.tag == "Racer" ) 如果是车辆触发 { GameController.GetComponent("GameController").ItemCount -= 1; //储气罐计数减一 if ( collision.transform.parent.GetComponent("PlayerRacer") ) //如果是玩家触发 { collision.transform.parent.GetComponent("PlayerRacer").NitroOn = true; collision.transform.parent.GetComponent("PlayerRacer").NitroSpeed = NitroSpeed; 车辆速度变为储气罐设定的速度 collision.transform.parent.GetComponent("PlayerRacer").NitroAcceleration = NitroAcceleration; 车辆的加速度变为储气罐设定的加速度 collision.transform.parent.GetComponent("PlayerRacer").NitroTime = NitroTime; 车辆存在储气罐功能加成的时间 } else if ( collision.transform.parent.GetComponent("EnemyRacer") ) { collision.transform.parent.GetComponent("EnemyRacer").NitroOn = true; collision.transform.parent.GetComponent("EnemyRacer").NitroSpeed = NitroSpeed; collision.transform.parent.GetComponent("EnemyRacer").NitroAcceleration = NitroAcceleration; collision.transform.parent.GetComponent("EnemyRacer").NitroTime = NitroTime; } for( var NitroJet:Transform in collision.transform ) { if ( NitroJet.name == "NitroJet" ) NitroJet.particleEmitter.emit = true; } Destroy(gameObject); 当触发后储气罐物体消失 } } 3.2.3 玩家车辆控制脚本的设计 玩家车辆的控制是游戏中最重要的脚本,起着控制游戏车辆的作用,玩家车辆控制脚本因具备设定玩家通过何种方式来控制车辆,车辆的基本属性参数,车辆同游戏控制器及其他脚本的结合等功能。 (责任编辑:qin) |