Создание массивов (array)
Flash может создавать названия переменных динамично, потому что можно получить имя переменной из выражения. Благодаря этому можно создавать последовательные ряды, "словари" и.т.д
Например, ряд (массив) из 10 элементов можно создать из 10 переменных с именами:
A_1
A_2
...
A_10
Например, выражение:
Set Variable "name" & namecount = newname
Set Variable "namecount" = namecount + 1
Создаст массив похожий на этот:
name1 -> Gary
name2 -> another name
name3 -> someone else
namecount -> 3
:
Set Variable "index" = 1
Set Variable "found" = false
Loop While (index <= namecount and not found)
If (Eval("name" & index) eq nametofind)
Set Variable "found" = true
Else
Set Variable "index" = index + 1
End If
End Loop
В этом случае, если условие found
выполняется, index
содержит требуемое название.
Вы можете составлять двухмерные массивы, как вот этот:
A_1_1
A_2_1
...
A_3_3
Получение значения переменной, названной динамично
Используйте функцию eval
чтобы узнать значение переменной, которую назвали с помощью выражения. Например, выражение eval("Name")
- это то же самое, как и выражение Name
.
Можно определить название переменной, значение которой надо получить, прямо в то время, когда клип проигрывается. Для этого название переменной должно быть выражением.
Например, выражение eval("Name"&Index)
дает возможность управлять 10 названиями, где Index
- это переменная, которая содержит число от 1 до 10. Это выражение определит одну из переменных: Name1, Name2, Name3, ... В зависимости от значения Index
.
В повторении (loop) значение Index
может обновляться, и таким образом будут получены все 10 названий.
Содержание