我创建了一种漂亮的图像滚动条,它根据相对补间向右或向左滚动动画片段。然而,我想添加一个if语句或其他东西,以便当movieclip到达某个位置时,左方向箭头被禁用或右方向箭头被禁用。这是我到目前为止的代码:
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()函数,您将看到它正常工作,但是它忽略了关闭该按钮的切换。基本上这只是向左或向右滚动一个影片剪辑,我希望它无法向任何一个方向的某个点滚动。 (或循环)
有什么想法吗?谢谢!
(是的,我可以在时间轴上做到这一点很容易,但我觉得这很酷就像脚本一样)
答案 0 :(得分:1)
尝试在productsRight / Left中使用if语句,只有当对象的x值在某个限制内时才会运行。
productsRight:
if(products_mc.x < 696){
//your Code
}
productsLeft:
if(products_mc.x > -1086){
//your Code
}
答案 1 :(得分:0)
好的,我找到了完美的解决方案: http://www.flashuser.net/build-an-image-slideshow-in-flash
但是现在我想知道,如果有一种方法可以一次点击多个动画片段吗?