2015-03-30 3 views
0

У меня есть множество массивов (Q001, Q002, Q003 ...). Каждый массив - это вопрос плюс 4 возможных ответа. Я хочу случайным образом выбрать, какой вопрос отображать. Поэтому я произвольно присваиваю имя массива переменной selectedQuestion. Затем я пытаюсь записать первый элемент этого массива в текстовое поле, например: txt.Question.text = [selectedQuestion] [0];Ссылка на элемент массива с использованием переменной в ActionScript 3

Например, если выбранный вопрос Q001, он помещает Q001 в текстовое поле. Но я действительно хочу, чтобы в текстовом поле был первый элемент массива Q001.

ответ

1

Предполагается, что у вас есть 3 массивы вопросов, поэтому, чтобы получить этот вопрос, вы можете сделать так:

var question_01:Array = ['question 01', 'answer 01', 'answer 02', 'answer 03', 'answer 04']; 
var question_02:Array = ['question 02', 'answer 01', 'answer 02', 'answer 03', 'answer 04']; 
var question_03:Array = ['question 03', 'answer 01', 'answer 02', 'answer 03', 'answer 04']; 

var selected_question:int = Math.ceil(Math.random() * 3); // gives : 1, 2 or 3 

trace(this['question_0' + selected_question][0]); // gives : question 01, for example 

Вы также можете поместить ваши вопросы массивов в массив, как это:

var questions:Array = [ 
    ['question 01', 'answer 011', 'answer 02', 'answer 03', 'answer 04'], 
    ['question 02', 'answer 012', 'answer 02', 'answer 03', 'answer 04'], 
    ['question 03', 'answer 013', 'answer 02', 'answer 03', 'answer 04'] 
]; 
selected_question = Math.floor(Math.random() * 3); // gives : 0, 1 or 2 

trace(questions[selected_question][0]); // gives : question 02, for example 

Надеюсь, что это поможет.

+0

Спасибо акомозо. Ты обалденный! Мне не хватало «этого». Многомерный массив - отличное решение. Теперь у меня есть два варианта. –

Смежные вопросы