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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.06.2011, 22:05
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 11  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Протрейсите m и mBlock. Возможно, нет одного из них.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 12.06.2011, 20:14
SiDDD вне форума Посмотреть профиль Отправить личное сообщение для SiDDD Найти все сообщения от SiDDD
  № 12  
Ответить с цитированием
SiDDD

Регистрация: Oct 2006
Сообщений: 26
Упростил код до двух строчек:

Код AS3:
// код фрейма
 
someMovieClipFromScene.gotoAndStop(someFrame);
 
var mс:MovieClip=new BlaBlaFromLibrary();


someMovieClipFromScene.gotoAndStop(someFrame) тутже вызывает Event.FRAME_CONSTRUCTED..

..далее выполняется код из фреймов У ВСЕХ клипов на сцене по порядку (хотя код из нашего фрейма еще не завершен!)

Если gotoAndStop/gotoAndPlay несколько - будет столько же событий FRAME_CONSTRUCTED (но ВСЕ клипы уже обрабатываться не станут а выполняется только код из фрейма - куда отсылает goto)

И тут у Flash едет крыша и любой новый клип "родится мертвым":
б) если фрейм один - код фрейма не выполняется
а) если фреймов несколько - в следующем кадре новый клип начнет проигрываться СРАЗУ СО ВТОРОГО фрейма



Можно добавить принудительный вызов первого фрейма...

Код AS3:
// код фрейма
 
someMovieClipFromScene.gotoAndStop(someFrame);
 
var mс:MovieClip=new BlaBlaFromLibrary();
mc.gotoAndPlay(1);

...или переставить строчки местами и всё будет работать как надо:

Код AS3:
// код фрейма
 
var mс:MovieClip=new BlaBlaFromLibrary();
 
someMovieClipFromScene.gotoAndStop(someFrame);

Вот такие вот грабли. Отсюда мораль - если пишете код в фрейме - СПЕРВА нужно создать все новые клипы а потом уже выполнять gotoAndStop/gotoAndPlay!


Последний раз редактировалось SiDDD; 12.06.2011 в 20:19.
Старый 12.06.2011, 20:58
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 13  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
Ну, да. Или по другому: Если пишете код в фрейме, то .... не пишите код в фрейме.

Старый 13.06.2011, 19:07
SiDDD вне форума Посмотреть профиль Отправить личное сообщение для SiDDD Найти все сообщения от SiDDD
  № 14  
Ответить с цитированием
SiDDD

Регистрация: Oct 2006
Сообщений: 26
Для меня так и остаётся загадкой - КАК можно собрать проект БЕЗ кода в фреймах?? Скажите хотя бы - ГДЕ этому научиться??

Десятки объектов, сотни эффектов и куча событий... и всё это описать классами? Далее снизойти до описания всей векторной графики в одном бинарном массиве? Прикрутить к этому пол таймера - и всё зашуршит.. ЗАЧЕМ тогда этот falsh? Может писать всё в теле троянского вируса? Чтобы было интереснее так сказать...

..а если по делу - это же БАГ! Причем, как и прочие, найденные в процессе разработки.. Например вот.. Тема оставшаяся без ответа. Затрагивающая туже проблему. Когда, в принципе, логичные действия приводят к странному результату..

..а на всё это уходят часы и сутки...а может в следующей версии этот баг исправят и всё это зря? =) А форум adobe тоже молчит... им нет дела до простых смертных... или.. они слишком заняты %)


Последний раз редактировалось SiDDD; 13.06.2011 в 19:23.
Старый 13.06.2011, 20:23
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 15  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
Цитата:
Сообщение от SiDDD Посмотреть сообщение
Для меня так и остаётся загадкой - КАК можно собрать проект БЕЗ кода в фреймах??
Для меня, также, загадка - как можно, сколько-нибудь серьезное приложение написать с кодом во фреймах?
Серьёзно. Я не прикалываюсь.

Цитата:
Сообщение от SiDDD Посмотреть сообщение
Скажите хотя бы - ГДЕ этому научиться??
Не думаю, что этому надо особо учиться. Управляйте приложением из документ-класса. Если хотите задать какое то особое, определённое поведение для отдельного символа залинкуйте его для ActionScript, но не на автогенерирующийся класс, а на реальный. Просто положите скрипт с таким именем рядом с фла. Это, так -
для начала. Дальше - больше. Потом удивитесь - как вообще можно было, что то делать во фреймах?

Цитата:
Сообщение от SiDDD Посмотреть сообщение

Десятки объектов, сотни эффектов и куча событий... и всё это описать классами? Далее снизойти до описания всей векторной графики в одном бинарном массиве? Прикрутить к этому пол таймера - и всё зашуршит.. ЗАЧЕМ тогда этот falsh? Может писать всё в теле троянского вируса? Чтобы было интереснее так сказать...
Ну тут вы просто прикалываетесь . Хотя по поводу десятков объектов... у меня несколькими сотнями объектов (около 600-от) управляет один - единственный класс (в 70 строк с комментами), и ничего... справляется .

Цитата:
Сообщение от SiDDD Посмотреть сообщение
..а если по делу - это же БАГ! Причем, как и прочие, найденные в процессе разработки.. Например вот.. Тема оставшаяся без ответа. Затрагивающая туже проблему. Когда, в принципе, логичные действия приводят к странному результату..

..а на всё это уходят часы и сутки...а может в следующей версии этот баг исправят и всё это зря? =) А форум adobe тоже молчит... им нет дела до простых смертных... или.. они слишком заняты %)
Это действительно баг. И я о нём не знал... А написал полуприкалываясь, "полу" потому, что это действительно плохая практика - писать во фреймах.


Последний раз редактировалось fish_r; 13.06.2011 в 20:28.
Старый 14.06.2011, 17:18
SiDDD вне форума Посмотреть профиль Отправить личное сообщение для SiDDD Найти все сообщения от SiDDD
  № 16  
Ответить с цитированием
SiDDD

Регистрация: Oct 2006
Сообщений: 26
Цитата:
Сообщение от fish_r Посмотреть сообщение
Для меня, также, загадка - как можно, сколько-нибудь серьезное приложение написать с кодом во фреймах? Серьёзно. Я не прикалываюсь.
Как закончу - обязательно покажу Хотя, серьезность проекта можно поставить и под сомнение.

Например есть клип с анимацией персонажа. И в 35 фрейме нужен переход на третий. Но, при определенном условии, переход пропускаем и идём с 36-го фрейма и до последнего. Где всё благополучно останавливаем командой stop(); Вопрос - как собрать код из всех этих фреймов в один класс?

Цитата:
Если хотите задать какое то особое, определённое поведение для отдельного символа залинкуйте его для ActionScript, но не на автогенерирующийся класс, а на реальный. Просто положите скрипт с таким именем рядом с фла.
А вот за такую идею спасибо! Где-нить обязательно применю.

Старый 14.06.2011, 18:00
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 17  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Цитата:
Вопрос - как собрать код из всех этих фреймов в один класс?
Очевидно, что за этим должен следить какой-то персональный контроллер анимации.
__________________
тут я

Старый 14.06.2011, 18:13
SiDDD вне форума Посмотреть профиль Отправить личное сообщение для SiDDD Найти все сообщения от SiDDD
  № 18  
Ответить с цитированием
SiDDD

Регистрация: Oct 2006
Сообщений: 26
Цитата:
Сообщение от КорДум Посмотреть сообщение
Очевидно, что за этим должен следить какой-то персональный контроллер анимации.
..и так, шаг за шагом, таки дойти до одного красивого бинарного файла

Старый 14.06.2011, 18:16
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 19  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Утрируете.
__________________
тут я

Старый 14.06.2011, 18:35
derhab вне форума Посмотреть профиль Отправить личное сообщение для derhab Найти все сообщения от derhab
  № 20  
Ответить с цитированием
derhab
 
Аватар для derhab

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
Цитата:
Сообщение от SiDDD Посмотреть сообщение
Например есть клип с анимацией персонажа. И в 35 фрейме нужен переход на третий. Но, при определенном условии, переход пропускаем и идём с 36-го фрейма и до последнего. Где всё благополучно останавливаем командой stop(); Вопрос - как собрать код из всех этих фреймов в один класс?
прилинкуйте этот клип в библиотеке к классу, в котором опишите необходимую логику, есть же в конце концов свойства currentFrame, totalFrames, событие ENTER_FRAME и т.д., можно полностью управлять поведением анимации
__________________
freelance | Раздор

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

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

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


 


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


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