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

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > Action script 2.0

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

Регистрация: Jul 2004
Адрес: Ekaterinburg
Сообщений: 11
По умолчанию Создание компонентов Flash

Вопрос по созданию компонентов на Flash с использованием AS2.
Пишу текст (dynamic), задаю Instance name конвертирую его в MovieClip.
Пишу класс наследуемый от MovieClip, определяю там свои методы и свойства. Потом нажимаю Linkage, там все это прописываю и вроде все ок. Свойства работающие с переменными базового класса (например _x) работают номрмально, но непонятно как поменять надпись, пробовал и по Instance name обращаться говорит что нет такой переменной.
Ну или другими словами что я делаю не так?

Пример
class FCM.Base.Component extends MovieClip
{
public function get Left():Number
{
return this._x;
}
public function set Left(val:Number)
{
this._x=val;
}
//Все что выше все работает как надо.
// А вот что надо писать ниже что бы оно работало?
function get Text():String
{
return something;
}
function set Text(str:String)
{
Do something;
}
}

Старый 05.07.2004, 23:22
Nucer вне форума Посмотреть профиль Отправить личное сообщение для Nucer Посетить домашнюю страницу Nucer Найти все сообщения от Nucer
  № 2  
Nucer
[++]
 
Аватар для Nucer

Регистрация: Jan 2003
Адрес: Москва
Сообщений: 839
Отправить сообщение для Nucer с помощью ICQ
Пиши всё в своём мувике тогда уж. Например
Код:
this.Text = function ():String
{
  return this.something;
}
типа того

Старый 06.07.2004, 09:00
Denza вне форума Посмотреть профиль Отправить личное сообщение для Denza Найти все сообщения от Denza
  № 3  
Denza

Регистрация: Jul 2004
Адрес: Ekaterinburg
Сообщений: 11
Цитата:
Оригинал написал(а) Nucer
Пиши всё в своём мувике тогда уж.
А как? Я во флэше чайник, я на более других языках программлю обычно.

Цитата:
Например
Код:
this.Text = function ():String
{
  return this.something;
}
типа того
Дык что писать вместо этого something?
я пробовал и text и _text и Instance Name и с this и без. Говорит что нет такой переменной.

Старый 06.07.2004, 13:27
Nucer вне форума Посмотреть профиль Отправить личное сообщение для Nucer Посетить домашнюю страницу Nucer Найти все сообщения от Nucer
  № 4  
Nucer
[++]
 
Аватар для Nucer

Регистрация: Jan 2003
Адрес: Москва
Сообщений: 839
Отправить сообщение для Nucer с помощью ICQ
Так я ж говорю, пиши не в AS файле, а в мувике, на первом кадре.

Старый 06.07.2004, 14:53
Denza вне форума Посмотреть профиль Отправить личное сообщение для Denza Найти все сообщения от Denza
  № 5  
Denza

Регистрация: Jul 2004
Адрес: Ekaterinburg
Сообщений: 11
Цитата:
Оригинал написал(а) Nucer
Так я ж говорю, пиши не в AS файле, а в мувике, на первом кадре.
Если я напишу в первом кадре и создам два экземпляра этого компонента, то они оба будут одинаковые.

А я хочу создать два (к примеру) компонента и у одного из них потом (когда нибудь) поменять текст написав
label2.Text="new text";

Старый 06.07.2004, 16:00
Nucer вне форума Посмотреть профиль Отправить личное сообщение для Nucer Посетить домашнюю страницу Nucer Найти все сообщения от Nucer
  № 6  
Nucer
[++]
 
Аватар для Nucer

Регистрация: Jan 2003
Адрес: Москва
Сообщений: 839
Отправить сообщение для Nucer с помощью ICQ
Делаешь символ мувиклип в библиотеке, пишешь в нём методы и члены класса и потом к ним обращаешься.

Старый 06.07.2004, 16:20
Denza вне форума Посмотреть профиль Отправить личное сообщение для Denza Найти все сообщения от Denza
  № 7  
Denza

Регистрация: Jul 2004
Адрес: Ekaterinburg
Сообщений: 11
Цитата:
Оригинал написал(а) Nucer
Делаешь символ мувиклип в библиотеке, пишешь в нём методы и члены класса и потом к ним обращаешься.
"Classes may only be defined in external ActionScript 2.0 class scripts."

Нельзя так классы делать. Инклудом тоже нельзя. Можно только импортом или линкейджем, что и сделано. См первое письмо.

Старый 06.07.2004, 21:07
Nucer вне форума Посмотреть профиль Отправить личное сообщение для Nucer Посетить домашнюю страницу Nucer Найти все сообщения от Nucer
  № 8  
Nucer
[++]
 
Аватар для Nucer

Регистрация: Jan 2003
Адрес: Москва
Сообщений: 839
Отправить сообщение для Nucer с помощью ICQ
Всё, я сдаюсь

Старый 07.07.2004, 08:50
Denza вне форума Посмотреть профиль Отправить личное сообщение для Denza Найти все сообщения от Denza
  № 9  
Denza

Регистрация: Jul 2004
Адрес: Ekaterinburg
Сообщений: 11
Цитата:
Оригинал написал(а) Nucer
Всё, я сдаюсь
вобщем мне уже подсказали решение, оно правда в некоторых случаях работает не так как надо, но хоть понятно куда дальше копать..



function get Text():String
{
return eval(_root._target + this)._Text;
}
function set Text(str:String)
{
eval(_root._target + this)._Text = str;
}

_Text это Instance name

Старый 07.07.2004, 10:51
Denza вне форума Посмотреть профиль Отправить личное сообщение для Denza Найти все сообщения от Denza
  № 10  
Denza

Регистрация: Jul 2004
Адрес: Ekaterinburg
Сообщений: 11
Правильное решение:

function get Text():String
{
return eval(this)._Text;
}
function set Text(str:String)
{
eval(this)._Text = str;
}

_Text это Instance name


Последний раз редактировалось Denza; 07.07.2004 в 10:52.
Создать новую тему   Часовой пояс GMT +4, время: 21:58.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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