![]() |
Почему класс приложения может создаваться дважды?
В CS4 создал флэшку, и главным классом приложения у нее прописал класс Main - потом описал его. Все нормально, работает итд.
Решил прекрутить прелоадер Сходил на http://etcs.ru/blog/cs3/export_in_se...ame_flash_cs3/ почитал и сделал как там написано. Тоже все хорошо То есть я поменял главный класс приложения с Main на Preloader Прелоадер работает - когда все догружает он создает объект класса Main. Проблема в том, что если в теле конструктора Main написать trace("Main"); то в аутпуте выведется строка "Main" два раза. И различные глюки в приложении показывают, что объектов типа Main - две штуки. Весь код проверил раз 10 - сам руками я создают объект этот только в прелоадере. Неужели fla как-то запомнил что прошлым классом приложения был Main и его переглючило и он теперь создает и его и прелоадер? Попробовал по другом - создал новый проект - перенес туда кадры и библиотеку - не помогло. Помогите плз :) проект горит |
код в студию
|
Все как тут http://etcs.ru/blog/cs3/export_in_se...ame_flash_cs3/
При этом в куче проектах это использую - нигде такого нет Preloader.as Код AS3:
Код AS3:
|
а функция main в прелоадере сколько раз вызывается. Поставьте в ней трэйс... вот вам и 2 класcа Main
|
Чтобы хоть как-то работало - пришлось ввести счетчик объектов и проверять его в конструкторе класса Main. Жесть.
Добавлено через 54 секунды Цитата:
Добавлено через 5 минут Мне кажется это IDE глючит - сейчас был косяк следующего рода у меня два разных проекта (лежат в разных папках) - но оба Fla называются Game и у каждого из них есть Main.as свой который они используют Я открыл оба флашника и оба мэина - и компильнул один из проекетов - проект подцепил вместо своего Main.as - мэин другого проекта 0_о и вывалил кучу ошибок. Перезапустил CS4 - все заработало |
Вы убили всю работу прелоадера, явно указав класс Main в Preloader. Можно было в таком случае вообще никаких прелоадеров не делать.
|
Вы вот про эти строки?
Код AS3:
Код AS3:
|
Значит Main инициализируется в embed-клипе, а этого происходить не должно. Нельзя переходить на кадр с embed-клипом, либо надо сделать два кадра в embed-клипе, остановить его на первом, а на втором разместить все необходимые элементы.
|
| Часовой пояс GMT +4, время: 02:49. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.