PDA

Просмотр полной версии : Перемещение мувиклипа не работает


_valera_
25.01.2016, 16:50
Подскажите чайнику.
как переместить movieClip из точки А в точку Б

Не работает, убегает за пределы экрана.

movieClip.x = 10;

if(movieClip.x < 100){addEventListener(Event.ENTER_FRAME, animat);}

function animat(event:Event) {
movieClip.x += 5;
}

Wolsh
25.01.2016, 18:34
1. Код оформляйте тегами AS3
2. Название темы не отражает сути вопроса (читайте Правила Форума) — в следующий раз тема будет закрыта.

KiL33
25.01.2016, 22:10
примерно так
http://wonderfl.net/c/mCM7/edit#

zCHESNOKz
26.01.2016, 00:22
Подскажите чайнику.
как переместить movieClip из точки А в точку Б

Не работает, убегает за пределы экрана.

}[/AS3]

как то так http://bg.ru/media/upload/images/ThinkstockPhotos-135551944(1).jpg

_valera_
26.01.2016, 11:19
как то так http://bg.ru/media/upload/images/ThinkstockPhotos-135551944(1).jpg

Большое спасибо, но так как я новичок,
то этот код для меня непонятен.

Можете указать в моем коде ошибку?

Wolsh
26.01.2016, 15:04
Непонятно, для чего стоит условие "если х меньше ста", когда прямо в предыдущей строке х установлен в 10.
То есть он по определению меньше ста, зачем проверять?
"Вылетает за экран" — ну а что он должен делать, никто же не останавливает его по достижении границы (внутреннее чутье подсказывает мне, что Вы хотели его двигать до координаты х = 100). Вы просто прибавляете 5 на каждый кадр. Естественно, он просто двигается бесконечно, с чего бы ему остановиться? Поставьте условие достижения границы, и в нем отпишитесь от ентерфрейма.

Добавлено через 4 минуты
movieClip.x = 10;

addEventListener(Event.ENTER_FRAME, animat);

function animat(event:Event):void {
if (movieClip.x >= 100) {
movieClip.x = 100;
removeEventListener(Event.ENTER_FRAME, animat);
}
else movieClip.x += 5;
}

_valera_
26.01.2016, 19:24
Поставьте условие достижения границы, и в нем отпишитесь от ентерфрейма.


Большое спасибо, я осознал ошибку.