【发布时间】:2014-04-01 22:27:37
【问题描述】:
我创建了一种漂亮的图像滚动条,它可以根据相对补间向右或向左滚动影片剪辑。但是,我想添加一个 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();
}
如果您从 productsRight() 和 productsLeft() 函数中删除 checkPositionR() 和 checkPositionL() 函数,您会发现这可以正常工作,但是它会忽略关闭按钮的切换。基本上这只是向左或向右滚动影片剪辑,我希望它不能在任一方向滚动超出某个点。 (或循环)
有什么想法吗?谢谢!
(是的,我可以在时间轴上更轻松地做到这一点,但我认为这很酷)
【问题讨论】:
标签: actionscript-3 movieclip image-gallery gsap