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

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

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

Регистрация: Sep 2006
Адрес: Calgary
Сообщений: 82
Отправить сообщение для NtM с помощью ICQ
По умолчанию Как добавлять properties к мувикам?

Сразу извиняюсь за возможно дурацкие вопросы..не ругайте сильно.


вопрос номер раз:

есть у меня мувик на сцене. Назван "mc_test"
в AS2 если мне нужно было к нему прицепить какое-то свойство, я просто писала
Код:
_root.mc_test.prop1 = 'some value';
как это делается в AS3?

вопрос номер два:

есть у меня меню, состоящее из трех кнопок. Кликая на каждую кнопку должна показываться соответствующая карта.

1. создаю 3 кнопки, размещаю их на сцене: btn_item1, btn_item2, btn_item3.

По нажатию на каждую кнопку я показываю разные картинки....т.е. дейсвия одинаковые, а картинки разные.

2. создаю класс

Код AS3:
package main{
	public class Map extends Sprite {
            public function Map(map_url:String) {
                trace(map_url);
            }
        }
}
3. В Linkage btn_item1, btn_item2, btn_item3 ставлю галочку «Export for ActionScript», класс main.Map. Как теперь в конструктор класса Мар передать параметр?

спасибо!

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

Регистрация: Jan 2008
Адрес: Украина, Славутич
Сообщений: 646
Отправить сообщение для willis83 с помощью ICQ
класс должен быть dynamic чтобы к нему можно было прикручивать свойства в рантайме.

Старый 15.07.2009, 23:04
NtM вне форума Посмотреть профиль Отправить личное сообщение для NtM Найти все сообщения от NtM
  № 3  
Ответить с цитированием
NtM

Регистрация: Sep 2006
Адрес: Calgary
Сообщений: 82
Отправить сообщение для NtM с помощью ICQ
угу.....
willis83, это был ответ к первому вопросу? т.е. класс MovieClip - не динамический чтоли? а как его сделать динамическим?

Старый 16.07.2009, 00:00
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 4  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
>>т.е. класс MovieClip - не динамический чтоли? а как его сделать динамическим?
Мувиклип динамический. Свойства можно добавить так
Код AS3:
mc["новоеCвойство"] = new MovieClip();
// Как теперь в конструктор класса Мар передать параметр?
//при создании экземпляра класса
mc["новоеКарта"] = new Map("Бельгия");
//потом обращаться к динамическим свойствам
mc.addChild(mc["новоеКарта"]);

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

Регистрация: Jan 2008
Адрес: Украина, Славутич
Сообщений: 646
Отправить сообщение для willis83 с помощью ICQ
AlexLexcuk, Ваш код я категорически не понимаю.
Динамическое свойства классу присваивается так:
Код AS3:
var myclass:Class1 = new Class1;
myclass.prop1 = "new prop1";
Class1 должен быть определён как dynamic и объявления свойства prop1 в нём не обязательно.
На счёт динамический ли класс MovieClip ничего сказать не могу, т.к. не использую его. Проверять в лом. Это кстати не долго вам проверить.


Последний раз редактировалось willis83; 16.07.2009 в 00:28.
Старый 16.07.2009, 02:49
NtM вне форума Посмотреть профиль Отправить личное сообщение для NtM Найти все сообщения от NtM
  № 6  
Ответить с цитированием
NtM

Регистрация: Sep 2006
Адрес: Calgary
Сообщений: 82
Отправить сообщение для NtM с помощью ICQ
спасибо большое за ответы!

1. почему когда я пишу mc_test.prop1 = 'test' я получаю ошибку?

"ReferenceError: Error #1056: Cannot create property prop1 on flash.display.SimpleButton.
at main::maps$iinit()"


mc_test - это кнопка.


2. я не поняла про конструктор.

если я создаю объект класса следующим образом:

Код AS3:
 var Obj1:Map;
Obj1= new Map("param01");
тогда понятно, что можно передать параметр в конструктор.

Но если я прописываю класс для мувика в Library в Symbol Properties (свойство "Class"),
то там я могу только написать имя класса, без параметров для конструктора.
А если параметр передать нужно?

Старый 16.07.2009, 09:25
marat_sa вне форума Посмотреть профиль Отправить личное сообщение для marat_sa Посетить домашнюю страницу marat_sa Найти все сообщения от marat_sa
  № 7  
Ответить с цитированием
marat_sa
 
Аватар для marat_sa

Регистрация: Nov 2006
Сообщений: 487
Отправить сообщение для marat_sa с помощью ICQ Отправить сообщение для marat_sa с помощью Skype™
1) SimpleButton - класс не динамический, он ругается, потому что не может найти в себе свойство prop1.
Самый оптимальный вариант - расширяйте SimpleButton и объявляйте в нем prop1. Или какое-нибудь свойство parameters - Object, куда сможете записывать динамические переменные.

2) Параметр передается уже при создании конкретного экземпляра вашего класса, то есть при вызове конструктора класса.
А в библиотеке просто имя класса пишите. (без скобочек "()") =)
__________________
Стой! Опасная зона! Работа мозга!

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

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

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


 


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


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