Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 如何在屏幕上显示我的分数计数器?_Actionscript 3 - Fatal编程技术网

Actionscript 3 如何在屏幕上显示我的分数计数器?

Actionscript 3 如何在屏幕上显示我的分数计数器?,actionscript-3,Actionscript 3,有没有办法让我当前的分数计数器保持在屏幕上?或者我需要创建另一个方法吗?我的代码如下(当然不是最终的脚本,我只是想在润色它之前让原型工作(:) 我还创建了一个不同的方法(如下所示),但该方法在设置为零时不会显示“score”数字的值,并且不会在向变量添加点时更新 var score:Number = 0; trace("The score is", score); var str:String = ("Score:"); txt.text = str +(score); // now "scor

有没有办法让我当前的分数计数器保持在屏幕上?或者我需要创建另一个方法吗?我的代码如下(当然不是最终的脚本,我只是想在润色它之前让原型工作(:)

我还创建了一个不同的方法(如下所示),但该方法在设置为零时不会显示“score”数字的值,并且不会在向变量添加点时更新

var score:Number = 0;
trace("The score is", score);
var str:String = ("Score:");
txt.text = str +(score); // now "score 1"

因此,基本上,上面的代码显示了我希望它显示的内容,但没有跟随角色,而底部则相反!非常感谢任何帮助!:)

我假设您使用的是某种类型的相机类,您下载的内容,或者只是移动舞台。然而,最好的做法是将UI和游戏本身分开。您应该创建如下层次结构:

MAIN_CONTAINER
->UI_CONTAINER
-->SCORE TEXT FIELD, HUD...
->GAME_CONTAINER //MOVE THIS CONTAINER [1]
-->PLAYER, ENEMIES, OBJECTS...
[1] GAME_CONTAINER.x = -player.x+[your stage's width]; GAME_CONTAINER.y = -player.y+[your stage's height];

每当更新分数变量时,您需要使用新分数更新
txt.text
。最好的方法是编写setter函数:

private var _score:Number=0;
public function set score(value:Number):void {
    _score=value;
    txt.text="Score: "+_score.toString(); // provide correct name for text field!
}
由于变量的可见性修饰符,在某些情况下可能也需要getter函数:

public function get score():Number { return _score; }

显然,他知道如何设置,他的问题是:“如何使文本字段‘跟随’玩家”。@Zhafur这将添加到他的第二个解决方案中。谢谢!我似乎不能让这该死的东西工作,但我现在明白了我需要做什么物流!希望我能在今天或明天的某个时候完成它,然后用我所做的更新它。
public function get score():Number { return _score; }