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

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

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

блогер
Регистрация: Mar 2010
Сообщений: 108
Записей в блоге: 1
По умолчанию Управление мувиклипом из класса

Здравствуйте, друзья!

Вопрос по ООП. Хотелось бы узнать, можно ли реализовать следующий механизм и, если можно, как это сделать:

Я хочу написать класс, в котором будут храниться методы для управления каким-либо мувиклипом на сцене.

Например, я написал класс MyController, в котором находится метод сдвигающий клип MC:

Код AS3:
public class MyController{
 
	public function moveMC(n:Number){
		MovieClip(root).myMC.x += n;
	}
 
}
Далее, при нажатии на кнопку я создаю экземпляр класса и вызываю метод moveMC.

Код AS3:
var myController:MyController = new MyController;
myController.moveMC(50);
Когда так делаю вылазит ошибка, что то связанное со ссылкой на объект типа null.

Подскажите, пожалуйста способ, как это реализовать.

Спасибо!

Старый 21.01.2011, 18:11
GemiBillyBob вне форума Посмотреть профиль Отправить личное сообщение для GemiBillyBob Найти все сообщения от GemiBillyBob
  № 2  
Ответить с цитированием
GemiBillyBob

Регистрация: Aug 2010
Адрес: Харьков, Украина
Сообщений: 42
Мне кажется лучше было бы сделать это так:
Код AS3:
package{
public class MyController{
        import flash.display.MovieClip; 
 
        public function MyController(){} // пустой конструктор на всякий случай
 
 
	public function moveMC(_x:Number, _y:Number,_mc:MovieClip):void{
		_mc.x += _x;
		_mc.y += _y;
	}
 
    }
}
И вызов, соответственно, если в кадре:
Код AS3:
var myController:MyController = new MyController;
myController.moveMC(34,12,myMC); // !important, myMC - мувик с таким именем (instance name) в данном кадре
Пока писал, понял, что всё это странно, но, надеюсь, чем-то помог.

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

блогер
Регистрация: Mar 2010
Сообщений: 108
Записей в блоге: 1
спасибо!

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

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

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


 


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


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