Flash CS4三维游戏设计(赛车)(13)
时间:2016-11-25 19:00 来源:毕业论文 作者:毕业论文 点击:次
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) |