Flash 如果对象命中,则基于文本的运行状况-20个操作脚本3.0

Flash 如果对象命中,则基于文本的运行状况-20个操作脚本3.0,flash,actionscript-3,Flash,Actionscript 3,我正在创建一个小游戏,只是为了在动作脚本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 'G

我正在创建一个小游戏,只是为了在动作脚本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
        }
这就是全部代码; $

谢谢


Levi

也许这样效果会更好

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

  {
    a -= b;
    Health.text = a;
  }
免责声明:我不是3.0程序员,但许多命令式语言都使用 类似的分配原则

看起来您只是将文本赋值为-20。你应该做的是

Health.text = Health.text - b


嗯。。好子弹击中物体后。它应该是-20。你不是真的在澄清-应该是-20还是应该是-20?那么你至少需要做出我建议的改变。我可以做出改变。但问题是我无法在点击对象后进行更改。我仍然会遇到相同的错误:除了“使用设备字体”设置的文本之外,任何可以在运行时编辑的文本都应该嵌入字体。使用文本>字体嵌入命令嵌入字体。ReferenceError:Error#1065:未定义变量TLFTextField。好的,因此文本是实际的文本字符串,而不是可以直接更改的数字。但是,从错误的外观来看,问题根本与计算运行状况无关,而是与文本的加载方式有关。您知道如何解决这个问题吗?或者如何添加一个可以直接显示的数字?对不起,我不是Actionsript wiz,但有人应该能够。在你的问题中贴出整个错误信息,这样回答起来就更容易了。感谢您尝试提供帮助,我只想指出,在本例中,您正在从字符串中减去(字符串->数字是不允许的隐式强制)。。。正确的答案是a-=b;然后是Health.text=a;(如果Health是正确的实例名称,那么它可能不是)您在这里的想法太过分了。您不了解变量的基本知识(您不了解变量包含哪些内容,而不是它们的名称)。退一步,回到基本点。在网上找到2 3个通用编程教程,并开始浏览它们的可变部分。。。一次又一次之后,您可以通过正确命名textfield并在代码中使用相同的名称(名称在“属性”面板“实例名称”中设置)来修复引用错误。学习使用谷歌研究编译器错误(“as3错误#1065”)。
Health.text = Health.text - b
Health.text -= b