请帮我一个小项目。 我有9种不同的dinamic文本,有9个默认值。 我需要的! 当我按下'进入'#39;必须随机选择并只显示一个值。 像一个轮盘或老虎机。初始值必须在同一个地方,但只能显示一个。
在第二次按键盘(输入)时,必须更改并显示初始值。 和
的循环现在我做了一个代码来改变value1.text上的值(从数组中选择随机)
function randomJob(){
var jobs:Array = new Array("apple", "lemon", "banana", "orange", "mandarin", "lime", "kiwi", "pear", "apricot");
value1.text = jobs[randomNumber(jobs.length-1)];
}
function randomNumber(max){
return(Math.round(Math.random()*max));
}
this.stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
function keyDownHandler(event : KeyboardEvent) : void
{
if (event.keyCode == Keyboard.ENTER)
{
randomJob();
}
}

例如:
答案 0 :(得分:1)
你只需知道它是否是你的第一个"输入"选择一个文本字段,或第二个重置文本字段文本,所以你可以这样做:
var fruits:Array = ['apple', 'lemon', 'banana', 'orange', 'mandarin', 'lime', 'kiwi', 'pear', 'apricot'];
var texts:Array = []; // array to put your text fields
var first_time:Boolean = true; // indicates if it's the first enter
for(var i:int = 0; i < fruits.length; i++){
var text_field:TextField = new TextField();
text_field.x = 50;
text_field.y = 50 + 28*i;
text_field.height = 25;
text_field.text = fruits[i];
text_field.border = true;
addChild(text_field);
texts.push(text_field);
}
stage.addEventListener(
KeyboardEvent.KEY_DOWN,
function (e:KeyboardEvent):void {
if (e.keyCode == Keyboard.ENTER){
if(first_time){
first_time = false;
var index:int = Math.round(Math.random()*(fruits.length-1));
for(var i:int = 0; i<fruits.length; i++){
if(i != index){
// if it's not the randomly selected text field, then set its text to "bad luck"
texts[i].text = 'bad luck';
}
}
} else {
// if you want repeat again, set first_time = true
//first_time = true;
for(i = 0; i < fruits.length; i++){
// reset all text fields
texts[i].text = fruits[i];
}
}
}
}
)
希望可以提供帮助。