Скроллер изображения, который отключает стрелку влево или стрелку вправо в зависимости от положения mc

Я создал своего рода отличный скроллер изображений, который прокручивает мувиклип вправо или влево на основе относительной анимации. Однако я хотел бы добавить оператор if или что-то в этом роде, чтобы, когда мувиклип попадает в определенную позицию, отключалась либо стрелка влево, либо стрелка вправо. Вот код, который у меня есть до сих пор:

import flash.display.MovieClip;
import flash.events.MouseEvent;
import com.greensock.*;
import com.greensock.easing.*;

function init():void{
    TweenLite.to(products_mc, 1, {x:696, alpha:1});
}

init();
checkPositionR();


function productsLeft(events:MouseEvent):void
{
    TweenLite.to(products_mc, .75, {x:"-255"});
    arrowR_btn.visible = true;
    arrowR_btn.buttonMode = true;
    checkPositionL();

}

function productsRight(events:MouseEvent):void
{
    TweenLite.to(products_mc, .75, {x:"255"});
    arrowL_btn.visible = true;
    arrowL_btn.buttonMode = true;
    checkPositionR();

}

function checkPositionR():void
{
if (products_mc.x = 696) {
    arrowR_btn.visible = false;
    arrowR_btn.buttonMode = false;
}

}

function checkPositionL():void
{
if (products_mc.x = -1086) {
    arrowL_btn.visible = false;
    arrowL_btn.buttonMode = false;
}

}
arrowL_btn.buttonMode = true;
arrowL_btn.addEventListener(MouseEvent.CLICK, productsLeft);

arrowR_btn.buttonMode = true;
arrowR_btn.addEventListener(MouseEvent.CLICK, productsRight);

arrowL_btn.doubleClickEnabled = true;
arrowR_btn.doubleClickEnabled = true; 

arrowL_btn.addEventListener(MouseEvent.DOUBLE_CLICK, doubleClickHandler, false); 
arrowR_btn.addEventListener(MouseEvent.DOUBLE_CLICK, doubleClickHandler, false); 

function doubleClickHandler(evt:MouseEvent):void 
 {
  evt.stopPropagation();
 }

Если вы удалите функции checkPositionR() и checkPositionL() из функций productsRight() и productsLeft(), вы увидите, что это работает нормально, однако затем игнорирует отключение кнопки. По сути, это просто прокрутка клипа влево или вправо, и я хочу, чтобы он не мог прокручиваться дальше определенной точки в любом направлении. (или петли)

Любые идеи? Спасибо!

(да, я мог бы сделать это на временной шкале намного проще, но я думаю, что это круто, как в сценарии)


person user2561920    schedule 01.04.2014    source источник


Ответы (2)


попробуйте использовать оператор if в productsRight/Left, который будет работать только в том случае, если значение x объекта находится в определенном пределе.

продуктыПраво:

if(products_mc.x < 696){
    //your Code
}

продуктыОставлено:

if(products_mc.x > -1086){
    //your Code
}
person ModDL    schedule 02.04.2014
comment
Спасибо за идею, попробую и отпишусь как получилось - person user2561920; 02.04.2014
comment
О да, это ничего не делает - person user2561920; 02.04.2014

Хорошо, я нашел идеальное решение: http://www.flashuser.net/build-an-image-slideshow-in-flash

Однако теперь мне интересно, есть ли способ сделать это сразу на нескольких мувиклипах одним щелчком мыши?

person user2561920    schedule 02.04.2014
comment
На самом деле, возможно ли использовать один щелчок, чтобы переместить мувиклип, как в демо-ссылке, и в то же время сделать альфа-канал видимым в другом мувиклипе, который совпадает со скользящим действием в демо выше? - person user2561920; 03.04.2014