3d赛车游戏设计(unity3D+3dsmax+游戏引擎)(8)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

3d赛车游戏设计(unity3D+3dsmax+游戏引擎)(8)


        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)