最近跟哥们一起做个flash的小游戏,这里把一些可以讨论的类贴出来供大家参考 本节是敌人的移动类型: 内容如下 package game.object.actor.enemy { import flash.display.MovieClip; /* 敌人移动方式类,表明敌人的不同移动可能 * 至少包含:a)移动方式类别(飞行,爬行,暂时不考虑其它,比如钻地什么的,到时候再说); * b)移动速度; c)移动动画;d)此类型下的防御力;e)此类型下的攻击力; * f)此类型的优先级;g)此移动方式的移动范围(只需要y轴即可) */ public class EnemyMoveType { protected var MovingSpeed:int;//移动速度,实际是按照像素来计算的,这个值可以由继承类直接操作,因为有时候动画不变,但是移动变慢 private var MovingSwf:MovieClip;//移动调用的动画,没有动画则无法实现移动 private var MovingTotalStep:int;//移动动画共有多少个步,可能用不上,暂时放在这里,如果用进来一下调用一步的方式,就可以用上, //如果是切换到当前动作的动画就不管了,让它自己播放,就用不上这个变量了。 private var MovingStep:int;//当前走到移动动画的第几步,同上,如果进来一下调用一步,则使用这个变量, private var FullBloodValue:int;//血槽长度; private var IsFlying:Boolean;//是否是飞行状态,默认是爬行 private var AttackPower:int;//攻击力; private var DefenceValue:int;//防御力; private var ThePrority:int;//优先级; //同样优先级的情况下,移动速度最快的优先级更高 protected var MoveRangeFrom:int;//移动范围的起始点; 百分比表示,0表示起始点,100表示终止位置。 protected var MoveRangeEnd:int;//移动范围的终止点; 百分比表示,0表示起始点,100表示终止位置。 public function EnemyMoveType(movingSpeed:int,movingSwf:MovieClip,fullBloodValue:int, isFlying:Boolean=false,attackPower:int=0,defenceValue:int=0, thePrority:int=0,moveRangeFrom:int=0,moveRangeEnd:int=100):void { MovingSwf = movingSwf;//由于是本地资源,不需要再次异步等待加载 MovingSpeed = movingSpeed; IsFlying = isFlying; FullBloodValue = fullBloodValue; AttackPower = attackPower; DefenceValue = defenceValue; ThePrority = thePrority; MoveRangeFrom = moveRangeFrom; MoveRangeEnd = moveRangeEnd; } } }