![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 669
|
Приветствую Вас!
Не получается заставить двигаться мувик. Мувик создается в конструкторе класса 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 работает, мувик не движется...
}
}
А в библиотеке имеется мувик ball c одноименным идентификатором. Знаю, что можно наследовать Ball от MovieClip, а потом просто аттачить мувик. Так работает, но мне очень не надо наследоваться от MovieClip. Наверное вопрос уже подымался, но я не смог его кратко сформулировать в поиске. Спасибо. |
|
|||||
|
Banned
[+5 15.02.09]
[++5 15.02.09] Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
|
В этом случае по твоему что такое _x, _y клипа?
|
|
|||||
|
Регистрация: Jan 2008
Сообщений: 669
|
Не совсем понял твой вопрос.
_x и _y - это свойства мувика, отвечающие за его местоположение на сцене. |
|
|||||
|
Banned
[+5 15.02.09]
[++5 15.02.09] Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
|
Во первых у ball_mc никогда не случается событие onEnterFrame во вторых функция moveDown и moving не видит ball_mc
|
|
|||||
|
Регистрация: Jan 2008
Сообщений: 669
|
Событие onEnterFrame у ball_mc случается как и положено(не веришь - протестируй).
А заставить их видеть мувик можно? Хотя бы намекни как, если долго объяснять. |
|
|||||
|
Негуру
администратор
Регистрация: 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 работает, мувик не движется...
}
}
|
|
|||||
|
Регистрация: Jan 2008
Сообщений: 669
|
Ай спасиба, дарагой!
Я попой чуял, что здесь нужно импортировать "встроенные" классы, но ничего о них не знаю, кроме фильтров. Где вообще люди узнают про них, про их методы? Поиск опять же нужных результатов не дал.(искал "встроенные классы", может не то искал?). |
|
|||||
|
Регистрация: 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. |
|
|||||
|
Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
|
Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 10:04. |
|
|
« Предыдущая тема | Следующая тема » |
|
|