PDA

Просмотр полной версии : Движение маски


Skiminok
04.10.2008, 14:47
Подскажите новичку как сделать такой цикл.

имеется квадрат начальные координаты неизвестны.
надо сделать чтобы при запуске мувика квадрат начал двигаться по оси х примерно на +100, а при достижении +100 возвращался в изначальное положение и начинал все заново. Вот такой вот бесконечный цикл.

если уже где то обсуждалось прошу не казнить я просто не смог найти.

Заранее благодарен за ответ.

flash33
04.10.2008, 15:00
var dir = 1;
onEnterFrame = function(){
if(mc._x > max_x ) dir = -1;//delta_x- приращение по x;
if(mc._x < min_x ) dir = 1;
mc._x += dir*delta_x;
//max_x, min_x - значение крайней точки по x
//mc - ваш клип
}

Skiminok
04.10.2008, 15:30
вставил этот код

var dir = 1;
onEnterFrame = function(){
if(blesk._x > 100 ) dir = -1;//delta_x- приращение по x;
if(blesk._x < 1 ) dir = 1;
blesk._x += dir*delta_x;
}

и нет реакции. Может я что-то сделал не так?

честно говоря я не могу понять принцип этого цикла...

как мне кажется должно быть что-то типа такого

val dir = 1 //как я понял это объявление переменной
onEnterFrame = function(){
if (blesk._x < 100) dir=+1;
if (blesk._x > 99) dir = -100;
blesk._x += dir*delta_x;
}

Какую роль играет delta_x и почему она не описана?
если delta_x это итоговая сумма всех прибавлений то почему стоит знак *, а не +?

разъясните пожалуйста получше.

iNils
04.10.2008, 16:56
Skiminok, для оформления своего кода надо использовать теги и когда хотите что-то добавить, используйте кнопку http://www.flasher.ru/forum/images/russian/style3/buttons/edit.gif и редактируйте последнее сообщение, а не создавайте несколько сообщений подряд.
Читайте правила форума и разделов.

flash33
04.10.2008, 17:40
delta_x - это приращение координаты х вашего клипа за 1 фрейм. Задайте его больше 0, иначе клип будет на месте. Если клип ушел далеко вправо (blesk._x > 100 ) меняем направление назад (множитель dir отрицательное) и наоборот, если слишком далеко влево (blesk._x < 1) - направление положительное.

Skiminok
04.10.2008, 18:45
Уважаемый Flash33 если тебя не затруднит не мог-бы ты написать исходник с описанием где что происходит. А то честно говоря я не могу догнать как это сделать.

Заранее благодарен за ответ.

flazher
04.10.2008, 18:58
Вот пожайлуста

flash33
04.10.2008, 21:43
flazher, ты сам до конца не понял о чем я и переврал. Вот исходник разжеванный до немогу(swf-8), если уж и этого не поймете, добро пожаловать в среднюю школу :D

flazher
05.10.2008, 08:31
если уж и этого не поймете, добро пожаловать в среднюю школу
Я сам учусь в средней школе! :mad: