Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Движение маски (http://www.flasher.ru/forum/showthread.php?t=116581)

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, для оформления своего кода надо использовать теги [code][/code] и когда хотите что-то добавить, используйте кнопку http://www.flasher.ru/forum/images/r...ttons/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

Вложений: 1
Вот пожайлуста

flash33 04.10.2008 21:43

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

flazher 05.10.2008 08:31

Цитата:

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


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

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