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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.11.2009, 00:53
Eric Gurt вне форума Посмотреть профиль Отправить личное сообщение для Eric Gurt Посетить домашнюю страницу Eric Gurt Найти все сообщения от Eric Gurt
  № 1  
Ответить с цитированием
Eric Gurt
 
Аватар для Eric Gurt

Регистрация: Oct 2006
Сообщений: 395
Question Чудеса gotoAndStop() в AS3

Вобщем вот с чем столкнулся.

Я создал символ персонажа для игры, в нем на единственном кадре написал:
Код AS3:
MovieClip(root).create_player(this); // Самосоздание игрока
Также в тот кадр впихнул несколько мувиков, на каждом кадре которых разные вариации частей тела персонажа.

На главном кадре флэшки (да, я пишу на кадрах ) написал это:
Код AS3:
var players:Array=new Array(); // массив с мувиками игроков
var players_total:int=0;
 
function create_player(mcc:MovieClip):void // alt
{
trace("begin of call. players_total = "+players_total);
mcc.head.eyes.gotoAndStop(2);
trace("middle of call. players_total = "+players_total);
players_total+=1;
trace("end of call. players_total = "+players_total);
trace("########");
}
Самое интересное при запуске - когда в Outout появляется вот такое:
Код:
begin of call. players_total = 0
begin of call. players_total = 0
begin of call. players_total = 0
begin of call. players_total = 0
begin of call. players_total = 0
begin of call. players_total = 0
middle of call. players_total = 0
begin of call. players_total = 1
########
middle of call. players_total = 1
begin of call. players_total = 2
########
middle of call. players_total = 2
begin of call. players_total = 3
########
middle of call. players_total = 3
begin of call. players_total = 4
########
middle of call. players_total = 4
begin of call. players_total = 5
########
middle of call. players_total = 5
begin of call. players_total = 6
########
Если из кода главного фрэйма вырезать mcc.head.eyes.gotoAndStop(2); то получается все нормально. Через дебаг увидел только то, что дойдя до смены кадра в подмувике, флэшка почему-то решает отложить выполнение функции и взяться за выполнение другой. Это баг флэша или я чего-то недопонимаю?
__________________
.:Make it better:.
www.gevanni.com

Старый 21.11.2009, 01:35
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 2  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
Ни разу с подобным не сталкивался начиная со времён Flash 5. Видимо, вы чего-то недопонимаете

А также не показываете код. Что есть mcc.head.eyes? Что делает create_player() кроме того, что здесь приведено?

А вообще, при написании кода в кадрах, использовании нетипизированного доступа и приведений типа MovieClip(root), вы будете часто сталкиваться с подобными ошибками)

UPD: Ради интереса протестил. Прикрепил пример, полностью аналогичный вашему. Всё работает. Так что ошибка в чём-то другом. В чём – без кода на руках угадать невозможно...
Вложения
Тип файла: rar gotoAndStopTest.rar (8.7 Кб, 49 просмотров)


Последний раз редактировалось SamFR; 21.11.2009 в 02:07.
Создать новую тему Ответ Часовой пояс GMT +4, время: 16:07.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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