Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash ActionScript 2滑块问题_Flash_Slider_Actionscript 2 - Fatal编程技术网

Flash ActionScript 2滑块问题

Flash ActionScript 2滑块问题,flash,slider,actionscript-2,Flash,Slider,Actionscript 2,我在AS2中找到了一个制作滑块的脚本。问题是脚本经常检查我在哪个帧上,我需要它不要这样做。我想我需要的是一种方法,让它检查一次并设置帧数,然后如果我在这段时间内滑动滑块开始检查,然后在完成时滑动滑块停止再次检查。此滑块将用于通过Pointroll提供的横幅广告 问题是,随着不断检查,它将干扰pointroll中的跟踪。有人有什么想法吗 我的行动脚本: knob._x = track._x + track._width/3.75; knob._y = track._y; totalFrame =

我在AS2中找到了一个制作滑块的脚本。问题是脚本经常检查我在哪个帧上,我需要它不要这样做。我想我需要的是一种方法,让它检查一次并设置帧数,然后如果我在这段时间内滑动滑块开始检查,然后在完成时滑动滑块停止再次检查。此滑块将用于通过Pointroll提供的横幅广告

问题是,随着不断检查,它将干扰pointroll中的跟踪。有人有什么想法吗


我的行动脚本:

knob._x = track._x + track._width/3.75;
knob._y = track._y;
totalFrame = 79;

//var ratio:Number = track._width / 50;

knob.onPress = function():Void {
//var vertical:Number = track._y + (track._height / 2);
startDrag(knob,0,track._x,track._y,track._width+track._x-this._width,track._y);
this.onEnterFrame=function(){
    fNum=Math.ceil((this._x-track._x)/(track._width-this._width)*  (this._totalframes));
    if(fNum <= 2) fNum = 3;
    this.gotoAndStop(fNum);
}
} 
knob.onRelease = function():Void {
this.stopDrag();
delete this.onMouseMove;
}
//knob.onReleaseOutside = knob.onRelease;


onEnterFrame=function(){
fNum=int((knob._x-track._x)/(track._width-knob._width)*(totalFrame))+2;
trace(fNum);
this.gotoAndStop(fNum);
 }

 /* function updateKnobOutput():Void {
  trace((knob._x - track._x) / ratio);
 }*/

stop();
旋钮。x=轨道。x+轨道。_宽度/3.75;
旋钮。_y=轨道。_y;
totalFrame=79;
//var比率:数量=轨道宽度/50;
旋钮.onPress=函数():无效{
//垂直变量:数字=轨道。_y+(轨道。_高度/2);
开始标记(旋钮,0,轨道。x,轨道。y,轨道。w宽度+轨道。x-此。w宽度,轨道。y);
this.onEnterFrame=函数(){
fNum=Math.ceil((this.\ux-track.\ux)/(track.\uwidth-this.\uwidth)*(this.\uTotalFrames));

如果(fNum,
onEnterFrame
功能将在播放头每次通过一帧时启动。如果帧速率为30fps,且播放头在该帧上停止,则表示
onEnterFrame
中的代码每秒执行30次

如果您不需要/不希望代码执行那么多,请将其从
onEnterFrame
中取出


如果没有更多的上下文,很难给你比这更具体的建议。

好吧,我看到的第一个问题是,你每次“按”都设置“onEnterFrame”,但当用户释放按钮时不要删除“onEnterFrame”


我认为最好的方法是在用户移动(拖动)旋钮时设置鼠标移动处理程序,并在“onMouseMove”处理程序中执行所需的操作,然后删除(禁用)“onMouseMove”处理程序在用户释放按钮后执行。

所以我应该删除OnInterFrame并为该函数命名?我会尝试一下。嗯,删除OnInterFrame会破坏滑块……这意味着如果我删除OnInterFrame,发布swf,脚本将不再知道中间帧的位置,滑动滑块也不会起任何作用。Wh我正在尝试完成的是一个从第1帧到第80帧或某些帧范围的滑块。我将movieclip“轨迹”绑定到剪辑中的总帧数。我还将movieclip“旋钮”绑定到“轨迹”,以便从左到右和从右到左滑动可以在时间轴上下移动您。