Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Перемещение мувиклипа не работает (http://www.flasher.ru/forum/showthread.php?t=212368)

_valera_ 25.01.2016 16:50

Перемещение мувиклипа не работает
 
Подскажите чайнику.
как переместить movieClip из точки А в точку Б

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

Код AS3:

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

Цитата:

Сообщение от _valera_ (Сообщение 1191210)
Подскажите чайнику.
как переместить movieClip из точки А в точку Б

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

}[/as3]

как то так http://bg.ru/media/upload/images/Thi...5551944(1).jpg

_valera_ 26.01.2016 11:19

Цитата:

Сообщение от zCHESNOKz (Сообщение 1191238)

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

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

Wolsh 26.01.2016 15:04

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

Добавлено через 4 минуты
Код AS3:

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

Цитата:

Сообщение от Wolsh (Сообщение 1191246)
Поставьте условие достижения границы, и в нем отпишитесь от ентерфрейма.

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


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

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