6

我对动作脚本 3 很陌生,我现在正在尝试制作一个非常基本的游戏。但是,无论我查看多少页,我都找不到让我的游戏保持得分的有效方法:/。

我想要做的是让它每 10 秒增加 10 分(现在我用一个键替换它,看看我是否可以让它工作,但它没有)。这是我现在尝试使用的代码:

    var playerScore:int = 0

    stage.addEventListener(MouseEvent.CLICK,onclick);

    function updateTextFields():void{
         playerScoreText.text = ("Player Score: " + playerScore);
    }

    if(Key.isDown(Key.G)){
          playerScore++; //increase playerScore by 1
          updateTextFields();
    }

playerScoreText 是动态文本的名称,任何帮助将不胜感激:)

这段代码都是在时间轴中添加的

我认为问题很可能与动态文本的创建有关,但我不确定。

4

2 回答 2

2

听起来你想用计时器类做这样的事情。您的关键代码没有正确编写。

var playerScore:int = 0;
var score_timer:Timer = new Timer(10000,0);
score_timer.addEventListener(TimerEvent.TIMER,updateTextFields);
score_timer.start();
function updateTextFields(e:TimerEvent):void
{
    playerScore+=10
    playerScoreText.text = ("Player Score: " + playerScore);
}
于 2013-01-07T21:52:57.433 回答
2

确保正确嵌入字体并且动态文本字段的颜色与背景不同。

也代替写作

playerScoreText.text = ("Player Score: " + playerScore);

试试这个

playerScoreText.text = "Player Score: " + String(playerScore);
于 2013-01-07T22:07:35.143 回答