【问题标题】:Field value not updating字段值未更新
【发布时间】:2011-06-28 19:17:17
【问题描述】:

我真的,真的在网上到处寻找一个基本的评分系统,但找不到一个真正有效的。也许这只是我/我的游戏,但没有任何效果。 我正在尝试使用动态文本框来做到这一点。所以我有一个起始分数。 但是当我输入:“分数 = 分数 + 10;”
什么都没发生。所以,是的,请提供任何帮助。我要贴出大部分游戏代码,看看是不是别的东西,只有大约 30 行……我想要它,这样当两个物体碰撞时,分数就会上升。谢谢 哦,我嵌入了文字,在闪光告诉我之后。因此第一行↓。

import flash.text.*;
import flash.display.*;
import flash.events.*;
import flash.ui.Keyboard;
import flash.text.TextField;

var pressedKeys:Object = {}; 

// BASIC KEYBOARD MOVEMENT - Took it out as it is almost defs irrelevant.


var Score = 10 
var myText:TextField = new TextField();
addChild(myText);
myText.text = ("Score:"+ Score);
myText.textColor = 0xFF0000;
myText.border = true;
myText.height = 20;
myText.x = 4;
myText.y = 4;

addEventListener(Event.ENTER_FRAME, hitTest)
function hitTest(e:Event):void
{
    if(Hero_Mc.hitTestObject(Enemy_mc)&& (Enemy_mc.width<Hero_Mc.width))
   {
      Hero_Mc.width=Hero_Mc.width +4;
      Hero_Mc.height=Hero_Mc.height +4;
      Enemy_mc.stop();
        removeChild(Enemy_mc);
        addChild(Enemy_mc);
        Enemy_mc.x= Math.floor(Math.random()*500);
        Enemy_mc.y= Math.floor(Math.random()*350);
        Score = Score + 10;
    }
}

【问题讨论】:

    标签: flash actionscript-3 data-binding binding flash-cs5


    【解决方案1】:

    没有任何变化,因为myText.text 只接收Score 的值,而不是实际的引用。您可以使用BindingUtils。或者,您可以更改以下行:

    var Score = 10;
    

    private var _score = 10;
    protected function set Score(value:Number):void {
        _score = value;
        //Now, whenever you set Score to anything, it also sets the text on myText.
        myText.text = ("Score:"+ Score);
    }
    
    protected function get Score():Number {
        return _score;
    }
    

    另外,我同意公民的观点。 ActionScript 约定是使用小写变量,_prefixed 用于私有变量。

    【讨论】:

    • 天才,它有效。谢谢一堆。啊,感谢您的提醒,我一周前才开始使用 AS3,仅使用了一点 HTML5。自学成才之类的。非常感谢。
    • 没问题。不要忘记接受答案。它有助于您的声誉。祝你好运!
    【解决方案2】:

    这是一个更好的语法:

    var score:Number = 10;
    score += 10;
    

    if 语句评估为真吗?

    【讨论】:

    • 是的,抱歉应该说,我试图制作一个像鱼一样的游戏...:P 但是是的,这就是分数增加的来源
    • 试试我的语法,可能会有所帮助。有时 flash 就是那样的怪异
    • 我做了...它没有。另一个虽然做到了。但是谢谢,重要的是思想:P
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多