![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 77
|
Привет всем!
Суть: на сцене есть 4 объекта (2 кнопки и 2 клипа), по нажатию на кнопки клипы твинятся, по нажатию на сами клипы твинятся точно так же. по второму нажатию на кнопки либо на клипы, твинятся обратно. Реализация: фунция выставления позиции, функция restore, функции зумИна и зумАута, п клику идет проверка (tweenCheck) на что нажали (за это отвечает глобальная переменная selectedUnit) Хочу сделать чтоб переключать клипы можно было и в момент когда один из них активен, т.е. код должен смотреть, когда кликаем на клип, активен он или нет, если активен то берем новый твин и едем к позиции 2ого, либо просто возвращаем кликнутый клип на место (restore) и выставляем другой (setPosition) Проблема: Внутри функций setPosition и restorePosition стоит простое условие (if (selectedUnit ==1) {бла бла бла }else {тра ля ля }) Как обратиться к переменной внутри условия которое внутри функции, как бы тупо это не звучало) ? |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 77
|
да да ... я понимаю что это бред... просто сформулировать я это по другому затрудняюсь.
я думаю что было бы просто прекрасно лоовить активный клип по selectedUnit, но вот так к ней обратиться не знаю( Последний раз редактировалось ptirA; 24.12.2008 в 18:02. |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 669
|
Упростите код до минимума, к чему здесь все эти твины, вопрос-то не в этом. Уверен, что пока будете упрощать, сами разберетесь...
PS: в чем проблема так и не понял, у вас selectedUnit - публичная переменная класса. Доступна везде. |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 77
|
ммм... я бы с удовольствием упростил если бы знал как, да я знаю что можно сдеать вообще два твина на x и y, сделать универсальную функцию в которую просто будут подставляться значения для них, но в том случае то же возникают проблемы.
фактически вот код который происходит по нажатию на определенный элемент function tweenCheck():void { if (myTween_scaleX && myTween_scaleY.isPlaying) return; if (main_mc.scaleX < mainScaleXin && main_mc.scaleY < mainScaleYin ) { setPosition(); removingListeners(); } else { restorePosition(); addingListeners(); } } Я не совсем понимаю как сюда еще вписать условие что если кликнут другой клип во время когда вся проблема в том, что в selectedUnit уже упало значение. Может быть сделать еще одну переменную символизирующую активность того, или иного клипа? |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 669
|
Я не имел ввиду что ваш код слишком громоздкий и нуждается в переработке, я имел ввиду, что для того чтобы разобраться в вопросе, например, видимости переменной в функции, нужно упростить код вплоть до того, чтоб там осталась одна эта переменная и эта функция. Тем, кто пожелает помочь вам будет сложно быстро разобраться в вашей проблеме.
|
|
|||||
|
Регистрация: Feb 2008
Сообщений: 77
|
Это верно ( разобраться там действительно сожновато будет (
Если в исходнике начать все упрощать, то работающего исходника не получится( зная мои "умения" объяснять проблему решил выложить нормально работающий исходник. Последний раз редактировалось ptirA; 25.12.2008 в 15:17. |
![]() |
![]() |
Часовой пояс GMT +4, время: 15:40. |
|
|
« Предыдущая тема | Следующая тема » |
|
|