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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 23.03.2010, 15:26
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 11  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Код я написал правильный - не с точки зрения верной работы, а с точки зрения механики всего лишь. И не надо меня обижать)))

Насчет примера ) покажи какон будет работать - как ты будешь их вызывать. Это меня интересовало , а не как ты написал. Как пишется я вкурсе

И кстати немного некорректно написал ты

Код AS1/AS2:
import mx.utils.Delegate;
this.mc.onEnterFrame = Delegate.create(this, mc_onEnterFrameHandler);
в чем видишь?

должно быть
Код AS1/AS2:
this.mc.onEnterFrame = create(this, mc_onEnterFrameHandler);


Последний раз редактировалось in4core; 23.03.2010 в 15:36.
Старый 23.03.2010, 15:39
NoCD вне форума Посмотреть профиль Отправить личное сообщение для NoCD Найти все сообщения от NoCD
  № 12  
Ответить с цитированием
NoCD
 
Аватар для NoCD

Регистрация: Jan 2006
Адрес: Novosibirsk
Сообщений: 353
Спасибо вам двоим, что объяснили, что как работает, не думал, что все так запутано здесь. Теперь понял, что к чему нужно прикручивать, что бы передать свойства из одной функции в другую

Переделал код Удава для своих нужд.
Вот конечный результат

Код AS1/AS2:
import mx.utils.Delegate;
class Test{
 
public var mc:MovieClip;
public var x:MovieClip;
public var y:MovieClip;
 
public var container:MovieClip;
 
public function a(container)
	{
		super();
 
 trace("container= "+container);
 
 
 
		this.mc = container;
        this.x = container._x;
		this.y = container._y;
		// тут обработчик будет вызывать в области видимости объекта mc
		//this.mc.onEnterFrame = mc_onEnterFrameHandler;
 
		// тут в области видимости текущего объекта. Т.е. экземпляра Test
		this.mc.onEnterFrame = Delegate.create(this, mc_onEnterFrameHandler);
 
		// или что не понятно? 
	}
 
	//private var mc:MovieClip;
 
	private function mc_onEnterFrameHandler():Void
	{
		//trace(this);
		trace(this.mc);
 
		trace(this.mc._x)
	}
 
	}
для меня не было понятным, то, почему не доходили свойства самого клипа mc в функцию mc_onEnterFrameHandler()

То есть я ожидал изначально получить вот так результат trace(this._x) // равно 200
Так как trace(this) у меня показывал имя передаваемого клипа, то для меня было ОЧЕВИДНЫМ и передача вместе с ним все его свойства. Но оказывается просто так свойства клипа нельзя перенести в другую функцию. Надо использовать Delegate.

В итоге пришлось объявлять их специально. Так как для меня это еще не топаная тропа, не буду говорить, хорошо или плохо вот такой вид передачи свойств, будущее покажет.


Последний раз редактировалось NoCD; 23.03.2010 в 15:41.
Старый 23.03.2010, 15:46
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 13  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
Сообщение от in4core Посмотреть сообщение
Код AS1/AS2:
import mx.utils.Delegate;
this.mc.onEnterFrame = Delegate.create(this, mc_onEnterFrameHandler);
в чем видишь?

должно быть
Код AS1/AS2:
this.mc.onEnterFrame = create(this, mc_onEnterFrameHandler);
У класса Test нету метода create. Есть статический метод create у класса Delegate.

Старый 23.03.2010, 17:11
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 14  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Да накосячил , забыл об этом))) Ты про гет и сет не ответил) покажи как ты свой код встроешь в фрейм и запустишь - вот что интересно в первую очередь )))


Последний раз редактировалось in4core; 23.03.2010 в 17:27.
Старый 23.03.2010, 17:25
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 15  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
Сообщение от in4core Посмотреть сообщение
и что ? ты его уже импортировал! причем тут это? Т
Да боже ж мой. Импорт означает лишь то, что нам не нужно будет писать полное имя класса.
Цитата:
ы про гет и сет не ответил) покажи как ты свой код встроешь в фрейм и запустишь )))
Что вам непонятно? Как свойству значение присвоить?

Старый 23.03.2010, 17:31
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 16  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Я исправился - перечитай ))) да про делегату ошибся. бывает.

Про сеттеры :

Код AS1/AS2:
var n = new Class();
и дальше как ты вызовешь сеттеры и геттеры свои - вот что интересно. покажи

Старый 23.03.2010, 17:32
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 17  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Код AS1/AS2:
n.width = 1234;
var a:Number = n.width;

Старый 23.03.2010, 17:34
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 18  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
ну хорошо это ты задал типа. а гет когда произойдет? И интересно чем оно отличалось от моего кода ? смысл один и тот же, тока пишется подругому а работает так же. Или я не прав? Поправь тогда - буду знать на будущее

Старый 23.03.2010, 17:55
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 19  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
а гет когда произойдет?
Во второй строчке кода.
Цитата:
И интересно чем оно отличалось от моего кода ? смысл один и тот же, тока пишется подругому а работает так же. Или я не прав? Поправь тогда - буду знать на будущее
http://help.adobe.com/ru_RU/ActionSc...8a9b90204-7fcb

Старый 23.03.2010, 18:18
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 20  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
спасибо дарагой

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

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

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


 


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


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