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

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

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

Регистрация: Jan 2008
Сообщений: 669
По умолчанию движение мувика, созданного в классе, НЕ наследуемом от MovieClip

Приветствую Вас!
Не получается заставить двигаться мувик. Мувик создается в конструкторе класса Ball(здесь всё нормально, т.е. координаты задаются). Метод moveDown вызывается onEnterFrame(trace работает).
код класса(упрощенный):
Код:
class Ball {
	public var speed:Number = 2;
	public var ball_mc:MovieClip;
	public function Ball() {
		ball_mc = _root.attachMovie("ball", "b", 1);
		ball_mc._x = 100;//в конструкторе это работает
		ball_mc._y = 100;
		moving();
	}
	public function moving():Void {
		ball_mc.onEnterFrame = moveDown;
	}
	public function moveDown():Void {
		ball_mc._y += speed;
		trace("I'm move");//trace работает, мувик не движется...
	}
}
На гл. временной диаграмме следующий код var b:Ball = new Ball;
А в библиотеке имеется мувик ball c одноименным идентификатором.
Знаю, что можно наследовать Ball от MovieClip, а потом просто аттачить мувик. Так работает, но мне очень не надо наследоваться от MovieClip.
Наверное вопрос уже подымался, но я не смог его кратко сформулировать в поиске.
Спасибо.

Старый 03.04.2008, 13:12
qazwsx вне форума Посмотреть профиль Найти все сообщения от qazwsx
  № 2  
Ответить с цитированием
qazwsx
Banned
[+5 15.02.09]
[++5 15.02.09]

Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
В этом случае по твоему что такое _x, _y клипа?

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

Регистрация: Jan 2008
Сообщений: 669
Не совсем понял твой вопрос.
_x и _y - это свойства мувика, отвечающие за его местоположение на сцене.

Старый 03.04.2008, 13:34
qazwsx вне форума Посмотреть профиль Найти все сообщения от qazwsx
  № 4  
Ответить с цитированием
qazwsx
Banned
[+5 15.02.09]
[++5 15.02.09]

Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
Во первых у ball_mc никогда не случается событие onEnterFrame во вторых функция moveDown и moving не видит ball_mc

Старый 03.04.2008, 13:41
Kuruki вне форума Посмотреть профиль Отправить личное сообщение для Kuruki Найти все сообщения от Kuruki
  № 5  
Ответить с цитированием
Kuruki

Регистрация: Jan 2008
Сообщений: 669
Событие onEnterFrame у ball_mc случается как и положено(не веришь - протестируй).
А заставить их видеть мувик можно? Хотя бы намекни как, если долго объяснять.

Старый 03.04.2008, 13:47
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 6  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Код:
import mx.utils.Delegate
class Ball {
	public var speed:Number = 2;
	public var ball_mc:MovieClip;
	public function Ball (mcParent:MovieClip, depth:Number, obj:Object) {
		if (depth == undefined) {
			depth = mcParent.getNextHighestDepth ()
		}
		ball_mc = mcParent.attachMovie("ball", "b" + depth, depth, obj);
		moving ();
	}
	public function moving ():Void {
		
		ball_mc.onEnterFrame = Delegate.create (this, moveDown);
	}
	public function moveDown():Void {
		ball_mc._y += speed;
		trace("I'm move");//trace работает, мувик не движется...
	}
}
Код:
new Ball (this, null, {_x:100, _y:100});
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 03.04.2008, 14:11
Kuruki вне форума Посмотреть профиль Отправить личное сообщение для Kuruki Найти все сообщения от Kuruki
  № 7  
Ответить с цитированием
Kuruki

Регистрация: Jan 2008
Сообщений: 669
Ай спасиба, дарагой!
Я попой чуял, что здесь нужно импортировать "встроенные" классы, но ничего о них не знаю, кроме фильтров. Где вообще люди узнают про них, про их методы? Поиск опять же нужных результатов не дал.(искал "встроенные классы", может не то искал?).

Старый 03.04.2008, 14:33
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 8  
Ответить с цитированием
chingachgoog
Banned
[+4 01.02.09]
[+1 01.02.09]
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
Ради интереса, не напишите вариант когда у вас работало? С наследованием.

Старый 03.04.2008, 15:29
Kuruki вне форума Посмотреть профиль Отправить личное сообщение для Kuruki Найти все сообщения от Kuruki
  № 9  
Ответить с цитированием
Kuruki

Регистрация: Jan 2008
Сообщений: 669
Напишу. Безусловно код немного изменится.
В классе:
Код:
class Ball extends MovieClip {
	public var speed:Number = 2;
	public function Ball() {
		_x = 100;
		_y = 100;
		moving();
	}
	public function moving():Void {
		onEnterFrame = moveDown;
	}
	public function moveDown():Void {
		_y += speed;
	}
}
А на гл. временной диаграмме:
this.attachMovie("ball","ball_mc",1);
В библиотеке должен быть мувик с идентификатором "ball", а также в поле Class впишите Ball.

Старый 03.04.2008, 15:48
Obi вне форума Посмотреть профиль Отправить личное сообщение для Obi Найти все сообщения от Obi
  № 10  
Ответить с цитированием
Obi
 
Аватар для Obi

Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
Цитата:
Сообщение от Kuruki
Ай спасиба, дарагой!
Я попой чуял, что здесь нужно импортировать "встроенные" классы, но ничего о них не знаю, кроме фильтров. Где вообще люди узнают про них, про их методы? Поиск опять же нужных результатов не дал.(искал "встроенные классы", может не то искал?).
F1 - > ActionScript 2.0 Language Reference -> ActionScript classes

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

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

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


 


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


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