Форум 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)
-   -   Вызов функции через onEnterFrame (http://www.flasher.ru/forum/showthread.php?t=175924)

Vansimar 27.02.2012 14:39

Вызов функции через onEnterFrame
 
Код AS1/AS2:

picture.onRollOver=Over;
picture.onRollOut=Out;
var speed=5;
_root.onEnterFrame = function() { 
 
    picture._x+=speed;
        trace(speed);
        if(picture._x>0){picture._x=-2712}
};
 
picture.onRollOver= function()
{trace("good");
    if(speed>=0){
                speed-=0.2;
                }
}
picture.onRollOut= function()
{
        trace("Bad");
 
    if(speed<5){
                speed+=0.2;
                }
                if(speed>5){
                speed=5;
                }
}

Вот код,мне нужно сделать чтоб фукции RollOver иOut срабатывали постоянно, а они выполняются один раз и все,как это сделать?

iNils 27.02.2012 14:42

Это не код, а каша. Почему люди должны ломать свои глаза?

Vansimar 27.02.2012 14:48

Код AS1/AS2:

var speed=5; //скорость
 
_root.onEnterFrame = function() { 
 
    picture._x+=speed;  //постоянное перемещение объекта
 
};
 
picture.onRollOver= function()
{
    if(speed>=0){   
                speed-=0.2;        //при наведении если скорость больше нуля то уменьшить ее
                }
}
picture.onRollOut= function()
{
 
 
    if(speed<5){
                speed+=0.2;
                }
                if(speed>5){  //при убирании мышки с объекта если скорость больше 5 то установить в 5
                                          // если меньше 5 то прибавить к скорости
                speed=5;
                }
}

Вот нужно чтоб код проверки на наведение выполнился не один раз а каждый кадр,как это сделать?

FlashRus 27.02.2012 14:52

Код AS1/AS2:

var speed:Number = 5;
 
picture.onRollOver = Over;
picture.onRollOut = Out;
 
function Over() {
        onEnterFrame = motionOver
}
 
function Out() {
        onEnterFrame = motionOut
}
 
function motionOver() {
        picture._x += speed;
        if(speed>=0){   
                speed-=0.2;
        }
}
 
function motionOut() {
        picture._x += speed;
        if(speed<5){
                speed+=0.2;
        }
        if(speed>5){   
                speed=5;
        }
}


Vansimar 27.02.2012 14:53

все)спасибо)я сделал через флаг


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

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