AS3 - 9 种不同的动态文本数组中的随机值
AS3 - random value in 9 different dynamic text with array
请帮我做一个小项目。
我有 9 个不同的动态文本和 9 个默认值。
我需要的!
当我按 'enter' 时,必须随机选择并仅显示一个值。
像轮盘赌或老虎机。初始值必须在同一个地方,但只能显示一个。
在第二次按下键盘(输入)时,它必须更改并显示初始值。
和那个循环
现在我编写了一个代码来更改 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();
}
}
示例:
您只需要知道这是您的第一个 "enter" 到 select 文本字段,还是第二个重置文本字段文本的字段,因此您可以这样做:
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];
}
}
}
}
)
希望能帮到你。
请帮我做一个小项目。 我有 9 个不同的动态文本和 9 个默认值。 我需要的! 当我按 'enter' 时,必须随机选择并仅显示一个值。 像轮盘赌或老虎机。初始值必须在同一个地方,但只能显示一个。
在第二次按下键盘(输入)时,它必须更改并显示初始值。 和那个循环
现在我编写了一个代码来更改 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();
}
}
示例:
您只需要知道这是您的第一个 "enter" 到 select 文本字段,还是第二个重置文本字段文本的字段,因此您可以这样做:
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];
}
}
}
}
)
希望能帮到你。