Flash和ActionScript 3:根据光标的x轴位置更改帧

时间:2012-10-31 05:07:31

标签: actionscript-3 flash actionscript flash-cs6

如果您导航到this flash site上的图库页面,您可以看到Tintin按照我的描述进行操作。我用谷歌搜索了几次,但一直没能看到任何东西。非常感谢任何帮助,谢谢!

编辑:虽然,只更改符号的位置而不是当前帧也可以。无论哪种方式,我只想知道如何做链接显示的内容。

1 个答案:

答案 0 :(得分:1)

使用线性函数计算给定开始和结束比例的所有点。 在此示例中,movieclip myMc将根据给定这两对的光标更改其x位置:在mouseX = 0上它将为100px,而在mouseY = stage.stageWidth上它将为300px。请记住,这是一个线性函数,所以比例继续超出给定的限制!

function onEnterFrame(e:Event){
    myMc.x = solveLinearFunction(0, 100, this.stage.stageWidth, 300, this.stage.mouseX);
}
function solveLinearFunction(x1:Number, y1:Number, x2:Number, y2:Number, xx:Number):Number{
    //linear f(x) = mx + b;
    var mypos:Number = (y1 - y2) / (x1 - x2);
    var bypos:Number = y1 - (mypos * x1);
    return mypos * xx + bypos;
}
this.addEventListener(Event.ENTER_FRAME, onEnterFrame);

以下是有关线性函数的更多信息,它们非常便于制作滚动条和paralax滚动效果:http://earthmath.kennesaw.edu/main_site/review_topics/linear_functions.htm