Поскольку у меня есть ответ на мой предыдущий вопрос, я подумал, что проще создать новый вопрос:
Часть первая: ответил!Спасибо!
Я создаю фрагмент кода, который повторяется для нескольких переменных, и мне было интересно, не проще ли создать для него функцию, а в функции «динамически» настроить переменную, котораяМне нужно изменить.
Пример: я создаю 31 дверь, которая либо открыта, либо закрыта.Итак, у меня есть:
var door1State = 0;
var door2State = 0;
...
var door31State = 0;
Мой вопрос, возможно ли создать функцию, в которой я передаю номер двери в качестве параметра, например:
function openDoor(doorNumber) {
door+doorNumber+State = 1;
}
Поэтому, когда я связываюПрислушиваясь к двери, мне не нужно каждый раз писать анонимные функции.
Надеюсь, мое объяснение понятно, если нет, я с удовольствием уточню еще немного.
Спасибо зазаранее!
Часть вторая: ответ на вопрос
Спасибо за все полезные ответы, у меня есть следующий вопрос по этой проблеме.Я работаю с Blippar, и у них есть API, который работает довольно легко, но теперь мне нужно анимировать двери, чтобы открыть.Сначала я объявил «спрайтов» в «сцене», а затем мне нужно анимировать определенные части
deur1.onTouchEnd = function() {
if (door1Openable == 1) {
deur1.animate().rotationY(180).scale(600,360).translation(0,0,95).duration(1000);
deur1text.animate().rotationY(0).scale(600,360).translation(0,0,100).duration(1000);
setTimeout(function(){
door1State = 1;
}, 1500);
} else {
return false;
}
Это происходит 31 раз, для 31 двери.Мой вопрос: как было бы проще преобразовать это в функцию с параметрами?Единственными обязательными параметрами являются «номер двери», «позиция х» и «позиция у».
Я пробовал что-то подобное, что, очевидно, не сработало, но мне трудно найти правильныйспособ сделать это.
function() openDoor(doorNumber,xPos,yPos) {
if ('door'+doorNumber+'Openable' == 1) {
'deur'+doorNumber.animate().rotationY(180).scale(600,360).translation(xPos,yPos,95).duration(1000);
'deur'+doorNumber+'text'.animate().rotationY(0).scale(600,360).translation(xPos,yPos,100).duration(1000);
setTimeout(function(){
'door'+doorNumber+'State' = 1;
}, 1500);
} else {
return false;
}
Опять же, надеюсь, это достаточно ясно, я в основном пытаюсь динамически использовать переменные внутри функции с помощью параметров.
API непо какой-то причине примите метод window [], он запускается в приложении.