0
for(var temp:int = 0;temp<recipeNum;temp++)
{
    if ((temp == 1) || (temp == 2) || (temp == 6) || (temp == 9))   
    {
        textRecipe.textColor = 0x0000FF;
    }
    else
    {
        textRecipe.textColor = 0x000000;
    }

    textRecipe.text += "\n" + recipe[temp];
    addChild(textRecipe);                   
}

このコードの問題は、画面上のすべてのテキストが黒です。temp 1,2,6,9 を青色にしたい、任意のソリューション。

4

1 に答える 1

3

私が間違っていなければ、あなたはTextFieldという名前の1つだけを使用していますtextRecipe

ステージに何度も追加して も、常に同じオブジェクトであることに注意してください。recipeNum

プロパティを割り当てるtextColorと、テキスト全体の色が変更されるため、最後に割り当てられた色(おそらく黒)がテキスト全体の色になります。

複数をTextField使用するか、を使用しTextFormatてテキストの一部に色を割り当てます。

var myFormat = new TextFormat();
myFormat.color = 0x0000FF;

textRecipe.setTextFormat(myFormat, 5, 8);  //sets color blue to chars from 5 to 8

さらにサポートが必要な場合はお知らせください。

于 2012-12-05T10:51:29.127 に答える