0

テキスト アイテム (ゲームのスコア カウンター) の 1 つが、テキスト ラベルに値があるときに設定した形式に従っていませんが、値が 1以上0に更新されるとすぐに、テキストが正しく形式設定されます。1スコアが の場合、テキストは黒で Times New Roman フォントですが、それ以上0に更新されると、色、フォント、フォント サイズが変わります。1問題の商品は ですscoreText.textscoreTextこれは、ラベルに関連するコードのスニペットです。

public class Main extends MovieClip {

static var scoreText:TextField = new TextField();

public var scoreFormat = new TextFormat("Arial Rounded MT Bold", 20, 0xFFFFFF);

public function Main()
{
        addChild(gameLayer);
        addChild(backgroundLayer);
        addChild(interfaceLayer);
        interfaceLayer.addChild(mainMenu);
        soundControl = intro.play(0, 100);
        mainMenu.playBtn.addEventListener(MouseEvent.CLICK, startGame);
}

public function startGame(e:Event)
{
    scoreText = new TextField();
    scoreText.text = String(0);
    interfaceLayer.addChild(scoreText);
    scoreText.x = 75;
    scoreText.y = 0;
    scoreText.selectable = false;

    scoreText.setTextFormat(scoreFormat);

    resetScore();
}

static function updateScore(points)
{
    score += points;
    scoreText.text = String(score);
    var scoreFormat = new TextFormat("Arial Rounded MT Bold", 20, 0xFFFFFF);
    scoreHeader.setTextFormat(scoreFormat);
    scoreText.setTextFormat(scoreFormat);
}

static function resetScore()
{
    score = 0;
    scoreText.text = String(score);
}

誰かが私が間違っていた場所を特定するのを助けることができれば、私は感謝します.

ありがとう

4

2 に答える 2

0

これを試して

public class Main extends MovieClip {

static var scoreText:TextField = new TextField();
static var scoreFormat = new TextFormat("Arial Rounded MT Bold", 20, 0xFFFFFF);


public function Main()
{
        addChild(gameLayer);
        addChild(backgroundLayer);
        addChild(interfaceLayer);
        interfaceLayer.addChild(mainMenu);
        soundControl = intro.play(0, 100);
        mainMenu.playBtn.addEventListener(MouseEvent.CLICK, startGame);
}

public function startGame(e:Event)
{
    scoreText.setTextFormat(scoreFormat);
    scoreText.text = String(0);
    interfaceLayer.addChild(scoreText);
    scoreText.x = 75;
    scoreText.y = 0;
    scoreText.selectable = false;
    resetScore();
}

static function updateScore(points)
{
    score += points;
    scoreText.text = String(score);
    scoreHeader.setTextFormat(scoreFormat);
}

static function resetScore()
{
    score = 0;
    scoreText.text = String(score);
}
于 2013-05-12T23:21:29.357 に答える
0

TF を設定してみてくださいdefaultTextFormat。テキスト形式でジャンプを保存できます。

public function startGame(e:Event)
{
    scoreText = new TextField();
    scoreText.defaultTextFormat=new TextFormat("Arial Rounded MT Bold", 20, 0xFFFFFF);
    scoreText.text = String(0);
    interfaceLayer.addChild(scoreText);
    scoreText.x = 75;
    scoreText.y = 0;
    scoreText.selectable = false;
    resetScore();
}
于 2013-05-13T05:33:35.560 に答える