基于文本的运行状况如果对象命中,则执行-20 Actions Script 3.0

时间:2011-09-20 17:46:22

标签: flash actionscript-3

我正在创建一个小游戏,只是为了获得Action Script 3.0的更多经验。 我想要的是:

如果你开枪。子弹击中了。比上面的文字要-20 .. 说它有100(健康)。我们打了。它将显示80.第二次打60等。

这就是我所拥有的,但似乎没有成功。

 var a;
 var b;

 a = 100;
 b = 20;

Health.text = a

//-------- This above part works.

//After adding the part under here. The whole 'Game' doesnt work.

if (kogel.hitTestObject(baws)) //Kogel=bullet. Baws=target

        {
            Health.text = -b
        }

这是整个代码;     $

var geweer;  //poppetje in de instance name voor je object die je wilt bewegen.
var ster:Star;
var omhoog;
var omlaag;
var a;
var b;

a = 100;
b = 20;

Health.text = a

stage.addEventListener(KeyboardEvent.KEY_DOWN,beweeg);
function beweeg(event:KeyboardEvent)


    { 
        switch(event.keyCode)
        {
            case 38:
            geweer.y = geweer.y -10;
            //kogel.y = kogel.y -10;
            break;

            case 40:
            geweer.y = geweer.y +10;
            //kogel.y = kogel.y +10;
            break;

            case 32:
            kogel = new Star();
            addChild(kogel);
            kogel.y = geweer.y
            kogel.x = geweer.x

        }

            }

stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
function enterFrameHandler(event:Event)

{

kogel.x = kogel.x + 5

    }


if (kogel.hitTestObject(baws))
        {
            Health.text = -b
        }

谢谢,

列维

2 个答案:

答案 0 :(得分:0)

也许这会更好用

if (kogel.hitTestObject(baws)) //Kogel=bullet. Baws=target

  {
    a -= b;
    Health.text = a;
  }

答案 1 :(得分:0)

  

免责声明:我不是AS 3.0编码器,但许多命令式语言都使用   类似的任务原则。

看起来你只是将文本分配到-20。你应该做的是

Health.text = Health.text - b

Health.text -= b