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

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

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

Регистрация: Mar 2007
Адрес: Киев
Сообщений: 96
Question Как испльзовать onEnterFrame внутри класса?

Как испльзовать onEnterFrame внутри класса?
Код:
class X {
	//Клип в котором будут располагаться все ресурсы X
	private var container_mc:MovieClip;

	//???????????????????????
	var onEnterFrame;
	//???????????????????????

	public function X(target:MovieClip, depth:Number, x:Number, y:Number) {
		container_mc = target.createEmptyMovieClip("container_mc" + depth, depth);
		container_mc._x = x;
		container_mc._y = y;

		//???????????????????????
		this.onEnterFrame = function() {
			trace("yes");
			container_mc._x++;
		};
		//???????????????????????

	}
	public function load_X(URL:String):Void {
		container_mc.loadMovie(URL);
	}
}
Так не работает.
Необходимо заставить двигаться экземпляр X.
Подскажите, как это сделать?

Старый 08.09.2007, 18:33
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Метод onEnterFrame существует у классов-наследников MovieClip.

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

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
bjd, я в твоей прошлой теме привел тебе пример кода с onEnterFrame, что не получилось?

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

Регистрация: Mar 2007
Адрес: Киев
Сообщений: 96
Цитата:
Сообщение от __etc
Метод onEnterFrame существует у классов-наследников MovieClip.
Значить необходимо дописать
Код:
class X extends MovieClip {...}
но это почему-то не помогло?

Цитата:
Сообщение от udaaff
bjd, я в твоей прошлой теме привел тебе пример кода с onEnterFrame, что не получилось?
к сожалению onEnterFrame ни там ни здесь у меня не работает

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

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
bjd, чтобы у экземпляра класса был метод onEnterFrame, нужно наследоваться от MovieClip.
Мой пример наверное не заработал потому что... читай:
Help > Learning ActionScript 2.0 in Flash > Working with Movie Clips > Assigning a class to a movie clip symbol

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

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Код:
import mx.utils.Delegate;
class X {
    //Клип в котором будут располагаться все ресурсы X
    private var container_mc:MovieClip;
    public function X(target:MovieClip, depth:Number, x:Number, y:Number) {
        container_mc = target.createEmptyMovieClip("container_mc" + depth, depth);
        container_mc._x = x;
        container_mc._y = y;
        container_mc.onEnterFrame = Delegate.create( this, doEnterFrame);
    }
 
    public function doEnterFrame():Void{
        trace("yes");
        container_mc._x++;
}
    public function load_X(URL:String):Void {
        container_mc.loadMovie(URL);
    }
}
Не хотите наследоваться от MC - применяйте Delegate.

Старый 08.09.2007, 19:58
bjd вне форума Посмотреть профиль Отправить личное сообщение для bjd Найти все сообщения от bjd
  № 7  
Ответить с цитированием
bjd

Регистрация: Mar 2007
Адрес: Киев
Сообщений: 96
Цитата:
Сообщение от udaaff
Help > Learning ActionScript 2.0 in Flash > Working with Movie Clips > Assigning a class to a movie clip symbol
Не пойму две строчки:

-Select Advanced to show the options for Linkage, if they aren't already showing.
-Select the Export for ActionScript option, and type MoveRight in the Class text box. Click OK.

Переведите пожалуйста.

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

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
- Выбирите "Advanced", чтобы отобразить опции "Linkage", если они уже не отображены.
- Выбирите опцию "Export for ActionScript", и напечатайте "MoveRight" в текстовом поле Class. Кликните OK

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

Регистрация: Mar 2007
Адрес: Киев
Сообщений: 96
Цитата:
Сообщение от udaaff
Help > Learning ActionScript 2.0 in Flash > Working with Movie Clips > Assigning a class to a movie clip symbol
Спаибо, так как описано там всё работает, особенно помогли 5 и 6 строчки. Но что делать если клип создаётся программно внутри класса?
Что тогда делать вместо:
-Select Advanced to show the options for Linkage, if they aren't already showing.
-Select the Export for ActionScript option, and type MoveRight in the Class text box. Click OK. ?

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

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Если создается мувиклип, программно, внутри класса, у него, так же, как и другого лубого мувиклипа, должен быть метод onEnterFrame.

PS: объясни, что ты хочешь сделать, в общих чертах.


Последний раз редактировалось udaaff; 08.09.2007 в 20:38.
Создать новую тему Ответ Часовой пояс GMT +4, время: 17:52.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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