Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 19.08.2010, 19:09
GreyClown вне форума Посмотреть профиль Отправить личное сообщение для GreyClown Найти все сообщения от GreyClown
  № 1  
Ответить с цитированием
GreyClown

Регистрация: Dec 2008
Сообщений: 20
Отправить сообщение для GreyClown с помощью ICQ
Question откуда получается дубликат клипа и с вложенностью не могу разобраться

Помогите пожалуйста разобраться, непонятно откуда после прохождения игры и повторного нажатия, появляется дубликат клипа руки с луком.
Да и еще уровень вложенности прицела при повторе становиться ниже чем монстры.
вроде уже точно задаю на первом кадре уровень, но при повторе он как буль-то пропускает этот кусок кода.
нужно сегодня за ночь решить эту проблему, помогите пожалуйста знающие люди.

внутри 3 кадра,
1 кадр сама игра
2 кадр игра не пройдена
3 кадр игра пройдена
при нажатии на повторить, снова идет переход на 1 кадр
Вложения
Тип файла: swf game3.swf (48.9 Кб, 40 просмотров)

Старый 19.08.2010, 21:05
GreyClown вне форума Посмотреть профиль Отправить личное сообщение для GreyClown Найти все сообщения от GreyClown
  № 2  
Ответить с цитированием
GreyClown

Регистрация: Dec 2008
Сообщений: 20
Отправить сообщение для GreyClown с помощью ICQ
понял в чем проблема, но не знаю как её решить.
Все глюки начинаются из за глубины мувиклипа.
хоть я и при помощи swapDepth задаю глубину, на 2-м круге почему-то все перестает работать

Старый 19.08.2010, 21:41
GreyClown вне форума Посмотреть профиль Отправить личное сообщение для GreyClown Найти все сообщения от GreyClown
  № 3  
Ответить с цитированием
GreyClown

Регистрация: Dec 2008
Сообщений: 20
Отправить сообщение для GreyClown с помощью ICQ
По умолчанию Пожалуйста помогите, кто знает в чем проблема

мозг уже не может работать, незнаю как исправить проблему.

вот воссоздал эту проблему без лишних отвлекающих моментов
в архиве исходник и сама флешка.
чтоб увидеть глюк нужно после каждого клика проводить над квадратами, и увидите этот глюк.
Помогите разобраться как избежать этой ошибки?
почему глубина клипов сама становиться отрицательной и потом её невозможно изменить?

еще раз очень прошу помочь мне кто знает в чем проблема и как её исправить.
Вложения
Тип файла: rar проблема с глубиной.rar (6.2 Кб, 33 просмотров)
Тип файла: swf temp.swf (553 байт, 35 просмотров)

Старый 19.08.2010, 22:11
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
По вашему примеру (проблема с глубиной.rar). Чтобы понять, что происходит:

1) Уберите все трейсы в 1-м кадре.
Поставьте в конце кода 1 кадра следующее:
Код AS1/AS2:
trace(_root.getInstanceAtDepth(-16381));
trace(_root.getInstanceAtDepth(-16383));
trace(_root.getInstanceAtDepth(-16379));
trace(_root.getInstanceAtDepth(5000));
trace(_root.getInstanceAtDepth(5001));
trace(_root.getInstanceAtDepth(5002));
Трейсы нам покажут, какой мувик находится на той или иной глубине.

Запустите пример.
Выведет:
Код:
undefined
undefined
undefined
_level0.t1_mc
_level0.t2_mc
_level0.t3_mc
Все верно. На уровнях -16381, -16383, -16379 к моменту трейсов уже ничего нет, потому и undefined. Все стоит теперь на 5000-5002.
Но!
Щелкните, перейдите в 2 кадр. Еще раз щелкните, перейдите тем самым опять в 1.
Видите?
У вас трейсы выведут
Код:
_level0.t1_mc
_level0.t2_mc
_level0.t3_mc
_level0.t1_mc
_level0.t2_mc
_level0.t3_mc
То есть на сцене у вас на тех же самых местах и на тех же самых авторских отрицательных уровнях опять возникают те же мувики, созданные в авторской среде (с теми же самыми именами!). Отсюда и дубликаты возникают и глубины не те.

Решение проблемы при данных обстоятельствах:

1) Убирайте все со сцены и аттачте мувики из библиотеки:
Код AS1/AS2:
attachMovie('t1_id', 't1_mc', 5000, {_x:100, _y:100});
attachMovie('t2_id', 't2_mc', 5001, {_x:100, _y:200});
attachMovie('t3_id', 't3_mc', 5002, {_x:200, _y:150});
2) Убираете также теперь ненужные swapDepths();

Весь механизм такого появления авторских мувиков на прежних местах при возврате в первый кадр я вам не смогу объяснить, так как деталей сам не знаю, но с подобным сталкивался.

Ну и другое решение - расположить все объекты в среде разработки в слоях заранее и не использовать swapDepth, ограничится авторским расположением объектов на отрицательных глубинах.
__________________
Идите первым!


Последний раз редактировалось mooncar; 19.08.2010 в 22:34.
Старый 19.08.2010, 22:35
GreyClown вне форума Посмотреть профиль Отправить личное сообщение для GreyClown Найти все сообщения от GreyClown
  № 5  
Ответить с цитированием
GreyClown

Регистрация: Dec 2008
Сообщений: 20
Отправить сообщение для GreyClown с помощью ICQ
спасибо, это понял.
а swapDepths(); нельзя будет использовать теперь?
попробую аттачить.

Другое решение тоже не подойдет, т.к. дубликаты потом нужно будет куда-то располагать, а они становятся выше чем прицел по глубине.

а вообще спасибо, наверное придется аттачить, хотя так нехотелось. дай бог при аттаче глюков не будет

Старый 19.08.2010, 22:39
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 6  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
При аттаче изначально и всегда используются положительные глубины, глюков не будет.
Кстати, теперь смело можете использовать swapDepths(), поведение программно вытащенных на сцену мувиков будет предсказуемым.
При проектах со сложностью более 1 кадра и переходах назад с глубинами программно лучше не работать.
И вообще - всегда все делать в одном кадре. Это лучшая практика.

Дополню. Не обязательно аттачить всё. Создавайте в авторское среде контейнеры для разных групп мувиков на разных слоях. И внутри контейнеров также можно использовать уже собственные глубины, относящиеся именно к данному мувику-контейнеру.
При этом сам конетйнер будет лежать всегда выше или ниже других контейнеров, которые в авторской среде были выше или ниже его по слоям.
Таким образом мы можем гибко управлять видимостью и порядком наложения объектов, как при создании сцен, так и по ходу выполнения кода, сочетая все это.
__________________
Идите первым!


Последний раз редактировалось mooncar; 19.08.2010 в 22:50.
Создать новую тему Ответ Часовой пояс GMT +4, время: 14:26.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 14:26.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.