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

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

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

Регистрация: Aug 2011
Адрес: Урал
Сообщений: 43
Question Работа с кадрами в классах

Здравствуйте.

При компиляции выдается ошибка что ссылка на btn_home (клип на втором кадре) null. Что нужно сделать, чтобы можно было переходить по кадрам туда-обратно? Ну или как сделать, чтобы из всех кадров в главном классе были видны кнопки?...
Код AS3:
package  {
 
	import flash.display.*;
	import flash.events.*;	
 
	public class MainClass extends MovieClip {
 
		public function MainClass() {
			stop();
 
			btn_go1.addEventListener(MouseEvent.CLICK, goto2);
			btn_home.addEventListener(MouseEvent.CLICK, goHome);
		}
 
		public function goto2(e:MouseEvent):void {
			gotoAndStop(2);	
 
		}
		public function goHome (e:MouseEvent):void {
			gotoAndStop(1);
		}
 
	}
 
}

Старый 04.08.2011, 19:19
toFL вне форума Посмотреть профиль Найти все сообщения от toFL
  № 2  
Ответить с цитированием
toFL
Banned

Регистрация: May 2011
Адрес: +48° 27' 57.93", +35° 2' 46.02"
Сообщений: 447
Записей в блоге: 2
Отправить сообщение для toFL с помощью Skype™
Кладите ваши кнопки в первый кадр и управляйте ими при помощи visible (true/false)

Старый 04.08.2011, 19:25
Denis_Pryanikov вне форума Посмотреть профиль Отправить личное сообщение для Denis_Pryanikov Найти все сообщения от Denis_Pryanikov
  № 3  
Ответить с цитированием
Denis_Pryanikov
 
Аватар для Denis_Pryanikov

Регистрация: Aug 2011
Адрес: Урал
Сообщений: 43
Т.е. классу MainClass будут видны кнопки расположенные только на первом кадре?

Старый 04.08.2011, 19:30
toFL вне форума Посмотреть профиль Найти все сообщения от toFL
  № 4  
Ответить с цитированием
toFL
Banned

Регистрация: May 2011
Адрес: +48° 27' 57.93", +35° 2' 46.02"
Сообщений: 447
Записей в блоге: 2
Отправить сообщение для toFL с помощью Skype™
- В первом кадре, классу MainClass, будут видны кнопки из первого кадра.
- Во втором кадре, классу MainClass, будут видны кнопки из второго кадра.
- Если кнопка лежит в первом кадре и продолжается до второго (например), то классу MainClass, её будет видно в обоих кадрах.

Старый 04.08.2011, 19:45
Denis_Pryanikov вне форума Посмотреть профиль Отправить личное сообщение для Denis_Pryanikov Найти все сообщения от Denis_Pryanikov
  № 5  
Ответить с цитированием
Denis_Pryanikov
 
Аватар для Denis_Pryanikov

Регистрация: Aug 2011
Адрес: Урал
Сообщений: 43
Получается я должен вешать слушателей для кнопок второго кадра, когда нахожусь во втором кадре?
Если да, то каким образом это сделать в классах? (при написании кода на таймлайне с этим не было проблем).
Объясните, пожалуйста.

Старый 04.08.2011, 19:56
toFL вне форума Посмотреть профиль Найти все сообщения от toFL
  № 6  
Ответить с цитированием
toFL
Banned

Регистрация: May 2011
Адрес: +48° 27' 57.93", +35° 2' 46.02"
Сообщений: 447
Записей в блоге: 2
Отправить сообщение для toFL с помощью Skype™
Вариант 1:
Код AS3:
private function registerListeners ():void
{
	if (currentFrame == 2)
		(button as MovieClip).addEventListener(MouseEvent.CLICK, onClick);
	// здесь нужно быть уверенным, что button существует
}
Вариант 2:
Код AS3:
private function registerListeners ():void
{
	if (button != null)
		(button as MovieClip).addEventListener(MouseEvent.CLICK, onClick);
	// это для случаев, когда в каждом кадре есть разные кнопки с одинаковыми именами
}


Последний раз редактировалось toFL; 04.08.2011 в 19:58.
Старый 04.08.2011, 20:02
Bgg вне форума Посмотреть профиль Отправить личное сообщение для Bgg Найти все сообщения от Bgg
  № 7  
Ответить с цитированием
Bgg
 
Аватар для Bgg

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Цитата:
Сообщение от Denis_Pryanikov Посмотреть сообщение
Получается я должен вешать слушателей для кнопок второго кадра, когда нахожусь во втором кадре?
Если да, то каким образом это сделать в классах? (при написании кода на таймлайне с этим не было проблем).
Объясните, пожалуйста.
Не использовать второй кадр вообще.

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

Регистрация: Aug 2011
Адрес: Урал
Сообщений: 43
Цитата:
Сообщение от Bgg Посмотреть сообщение
Не использовать второй кадр вообще.
Я начал заниматься приложением и посчитал, что лепить все в 1 кадре будет не совсем удобно.
Просто ни разу не видел архитектуру flash-приложений (более-менее больших). Вот, хотелось бы узнать, каким образом идет работа там. Все в 1 кадре? (ну с прелоадером 2). Не могли бы просвятить меня?
Получается если все в 1 кадре, все данные складываются в контейнеры и далее нужно прятать/показывать контейнер?

Добавлено через 49 секунд
toFl, спасибо за код

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

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Цитата:
Сообщение от Denis_Pryanikov Посмотреть сообщение
Я начал заниматься приложением и посчитал, что лепить все в 1 кадре будет не совсем удобно.
Просто ни разу не видел архитектуру flash-приложений (более-менее больших). Вот, хотелось бы узнать, каким образом идет работа там. Все в 1 кадре? (ну с прелоадером 2). Не могли бы просвятить меня?
Получается если все в 1 кадре, все данные складываются в контейнеры и далее нужно прятать/показывать контейнер?
Да, все делится по контейнерам. Можно скрывать/показывать(visible) или добавлять/удалять(addChild/removeChild). Не обязательно все складывать вручную самому, можно добавлять программно.

Более того, в нормальных редакторах кода(FlashDevelop) по умолчанию основной класс унаследован от Sprite, а не от MovieClip как у вас сейчас, и там вообще нет кадров.

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

Регистрация: Aug 2011
Адрес: Урал
Сообщений: 43
Скажите пожалуйста, а что предпочтительнее: скрывать/показывать(visible) или добавлять/удалять(addChild/removeChild) ?

Были мысли попробовать писать во FlashDevelop, но сомневался вообще в его необходимости. Стоит попробовать?
И получается при работе с контейнерами (без кадров) нужно работать со Sprite, а про MovieClip можно забыть?

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

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

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


 


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


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