Просмотр полной версии : SimpleButton не возвращается в свой upState
Division
12.01.2011, 23:21
Есть игра. В игре кнопки сделаны средствами SimpleButton (будь они неладны).
При нажатии на кнопку происходит переход на другой экран (спрайт, содержащий эту кнопку, хитро заменяется другим).
Так вот, если вернуться обратно на экран с кнопкой, то видно что она осталась в состоянии over. Будто событие MOUSE_UP не сработало.
Пробовал вручную послать событие кнопке, не помогло.
Причем проблема возникает только в браузере. В стендалон плеере все ок.
Что с этим делать?
cleptoman
12.01.2011, 23:37
интересно..а если поизвращаться, попробавать передобавить кнопку на сцену?
А версии плееров одинаковые?
Division
13.01.2011, 00:03
интересно..а если поизвращаться, попробавать передобавить кнопку на сцену?
Не помогает. Пробовал разные извращения.
А версии плееров одинаковые?
А как узнать версию стендалон плеера?) В "о программе" написано 10 (:
Например так (http://help.adobe.com/ru_RU/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7cd8.html).
И еще к варианту решения (не уверен что сработает, сам не пробовал, в любом случае костыль)
(youButton as MovieClip).gotoAndStop(1);
Division
13.01.2011, 00:31
TanaTiX
http://help.adobe.com/ru_RU/AS3LCR/Flash_10.0/flash/display/SimpleButton.html
SimpleButton не муви клип.
Стенд алон плеер: 10,0,45,2 [все работает ок]
Плагин: 10,1,102,64 [глючит зараза]
А можно ссылку, на своей системе глянуть?
На счет мувика - да, был введен заблуждение легким переходом от кнопок к мувикам и обратно в ИДЕ.
Как один из вариантов костылей: "хитро заменить кнопку" на следующем кадре, когда события уже дойдут до кнопки.
Division
13.01.2011, 11:45
http://www.flashgamelicense.com/view_game.php?from=dev&game_id=15826
нажимаем на кнопку "why". Потом возвращаемся в главное меню. Кнопка "why" остается нажатой. Водим по ней мышкой - все ок.
Как один из вариантов костылей: "хитро заменить кнопку" на следующем кадре, когда события уже дойдут до кнопки.
Что-что?)
нет доступа к вашему примеру...
Division
13.01.2011, 13:39
На счет мувика - да, был введен заблуждение легким переходом от кнопок к мувикам и обратно в ИДЕ.
Насчет легкого перехода - у меня не получилось сделать легкий переход на мувиклипы. Когда я делаю кнопку мувиком, задаю ей кастомный класс, то оно не компилится - ругается что кнопка SimpleButton, а я пытаюсь задать ей MovieClip-ный класс. Глючнит IDE в этом моменте.
zuxul, нужен аккаунт на фгл. Если будет время сделаю отдельный пример с багом.
Попробуй кнопке enable дернуть.
Psycho Tiger
13.01.2011, 14:10
А в чем сложность написать обёртку над SimpleButton, которой передается этот SimpleButton и вместо него появляется кастомная Button?
Типа
var a = new CustomButton(button:SimpleButton);
a.addEventListener(CLICK, ...); //полностью аналогично button.addEventListener(CLICK..);
Division
13.01.2011, 14:54
А в чем сложность написать обёртку над SimpleButton, которой передается этот SimpleButton и вместо него появляется кастомная Button?
Вообще я об этом не думал. Кнопки все в IDE созданы и расставлены. Разве что пробежаться по всем кнопкам, убрать их со сцены и поставить на их место кастомные кнопки. А стейты и трансформации брать из подменяемых кнопок.
Так себе вариант.
Для меня лучше всего было бы прямо в IDE превратить все кнопки в MovieClip'ы, но не получается после этого задать им кастомный класс.
Psycho Tiger
13.01.2011, 14:57
Вообще я об этом не думал. Кнопки все в IDE созданы и расставлены. Разве что пробежаться по всем кнопкам, убрать их со сцены и поставить на их место кастомные кнопки. А стейты и трансформации брать из подменяемых кнопок.
Именно так.
Почему вариант так себе?
cleptoman
13.01.2011, 15:02
Для меня лучше всего было бы прямо в IDE превратить все кнопки в MovieClip'ы, но не получается после этого задать им кастомный класс.
это почему это?)
ругается что кнопка SimpleButton
Ну это все правильно. Я говорил не про кодирование, а про рисование. А если с учетом кодирование, так нужно менять класс, от которого они наследуются.
А вы случайно не в кадрах пишите?
Division
13.01.2011, 16:03
Именно так.
Почему вариант так себе?
Говнокод (:
это почему это?)
Вот это правильный вопрос) Потому что я плохо знаю работу в IDE. Я менял на мувиклип свойство символа в библиотеке и оно не компилилось. Оказывается что нужно было так же поменять свойство у экземпляров кнопок на сцене.
После этого заработало)
А вы случайно не в кадрах пишите?
Нет, пишу в FD, ресурсы беру из swf файлов.
Итак, проблема решена путем замены кнопок на мувики с моим кастомным классом.
Всем спасибо)
PS так и знал что нельзя создавать подобные темы. Теперь меня подозревают в программировании в кадрах (:
Psycho Tiger
13.01.2011, 19:03
Говнокод (:
А искать неявные костыли для возвращения кнопки в нужный стейт - это ОК?
У нас явно разнятся понятия этого критерия.
Division
13.01.2011, 19:10
Тоже *****код) Но менее жестокий.
Все завершилось торжеством справедливости, обошлись без костылей.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.