Flash CS4三维游戏设计(赛车)(13)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

Flash CS4三维游戏设计(赛车)(13)


            if(this.x>this.stage.stageWidth-80)
                this.x= this.stage.stageWidth-80;
        }
        public function CollideWith(object:CarBase):Boolean
        {
            if(this.x-40<object.x+40&&
                this.x+40>object.x-40&&
                this.z-20<object.z+20&&
                this.z+20>object.z-20)
                return true;
            return false;
        }
    }
}
(2)    ComCar类的代码
ComCar类代码是用于管理计算机赛车的,该类派生于CarBase,是一个特殊的赛车类,计算机赛车这类代码设计时需要考虑的是:
A    计算机赛车需要自动思考下一步的行为动作;
B    游戏中,玩家的观察视角被固定在玩家赛车的后面,所以玩家赛车的Z轴坐标其实是不会改变的。这就需要不断地调整计算机赛车的Z轴坐标,以保持赛车之间的相对位置不改变。
ComCar类的代码如下所示:
package classes
{
    import flash.display.MovieClip;
    public class ComCar extends CarBase
    {
        private var m_nThinkingTime;
        public function ComCar()
        {
            m_nSpeedZ=25;
            m_nThinkingTime=5;
        }
        public function Thinking(object:CarBase)
        {
            m_nThinkingTime--;
            if(m_nThinkingTime>0)
                return;
            m_nThinkingTime=5;
            var R:int=(Math.random()*21)-10;
            if(R<-9)
                m_nSpeedX=-8;
            else if(R>9)
                m_nSpeedX=8;
            else
                m_nSpeedX=0;
            m_nSpeedZ=24+int(Math.random()*20)-10;
            if(this.z>object.z+200)
                m_nSpeedZ=20;
            if(this.z<object.z-200)
                m_nSpeedZ=30;
        }
        override public function Logic()
        {
            super.Logic(); (责任编辑:qin)