在AS3中实施无敌框架的最佳方式

时间:2014-03-09 16:33:03

标签: actionscript-3 flash

我正在制作一个小型Flash游戏,我想实现无敌框架,但我不确定如何去做。基本上,当玩家走过一个物体时,我想要移除一个生命值(我知道该怎么做),然后拥有无敌帧,以便玩家有时间离开物体。

的内容
if (player.hitTestObject(spikes)) {
    //remove health
    // INVINCIBILITY FRAMES
}

这里的任何方向都会有所帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

你最好提供一些关于编程风格的细节,我的意思是你的编程风格纯粹是as3或纯粹的舞台,或者同时使用as3和stage。 假设你使用的是纯粹的as3风格,我会回答你的问题。 如果你想让你的英雄无敌于所有的东西而不仅仅是那个命中的尖刺,你应该在你的英雄(或角色)类中添加一个公共方法和一个变量来跟踪去除无敌的剩余时间。像这样的东西

public function gotHit(){
 invincibilityTimeLeft=500;//500 is miliseconds, which is a half second edit this as you     wish.
 isInvincible=true;
}

然后在游戏的Event.ENTER_FRAME循环中,你应该根据传递的时间减少角色的invincibilityTimeLeft。当它再次达到0或更低时,将字符的isInvincible变量设置为false。我希望你明白我的意思。

祝你好运。

-Ozan