PDA

Просмотр полной версии : Народ,помогите,плз, решить проблему зацикливания мувика,который в обратку крутится(+)


stas35
12.12.2002, 21:59
Посмотрите, плз, исходник.
Запустить мувик в обратную сторону получилось, а вот зациклить это дело не могу :(
Подскажите как теперь сделать, чтоб шар постоянно туды-сюды летал, а не один раз и все?
Или может кто-то подскажет более простой способ запуска мувика в обратную сторону ну и решение проблемы зацикленности тоже.
Заранее благодарю.
Начинающий.

-=shimur=-
12.12.2002, 22:44
Почему бы не сделать это графически???

stas35
12.12.2002, 22:54
а

sergwizard
13.12.2002, 03:39
Получай решение своей задачки. Скрипт, конечно, можно было написать более изящно, но написал так, чтобы было понятно.
Только не удивляйся, если ты сделаешь все абсолютно так же, но работать не будет. :)

Cerber
13.12.2002, 04:33
вот...

sergwizard
13.12.2002, 06:03
Нее-ет, Cerber, твой пример не очень хорош. Во-первых, ты больше ничего не поместишь на сцену, - все будет двигаться вместе с _root. Во-вторых, невозможно контролировать одновременно скорость и амплитуду передвижения.

Попробуй такой пример. Скопируй этот код в пустой мувик в первый фрейм, и проверь.

_root.createEmptyMovieClip("mc",0);
with(_root.mc){
R = 20;
t = Math.PI / 180;

lineStyle(0, 0x000000, 0);
beginFill( 0xFF0000 );
intx = R;
inty = 0;

for (var i=0; i<361; i++) {
foo(i);
curveTo(oldx, oldy, (oldx + intx) / 2, (oldy + inty) / 2);
}
}
function foo(value) {
oldx = intx;
oldy = inty;
intx = R * Math.cos(value * t);
inty = R * Math.sin(value * t);
endFill();
}
_root.mc._x = 100;
_root.mc._y = 100;
mc.onEnterFrame = function(){
if(mc._x<=100){
back = 0;
}
if(mc._x>=450){
back = 1;
}
back ? mc._x-=5 : mc._x+=5;
}

А stas35(у) могу посоветовать следущее:
Убери из клипа motion tween. Пусть клип состоит только из одного фрейма. Выложи его на сцену и обзови "mc".
Потом в первый фрейм мувика скопируй последнюю часть предложенного кода. Начиная с mc.onEnterFrame = function()
И все. Все у тебя получится.