Actionscript 3 如何在actionscript 3中使用滑块动态更新图像?

Actionscript 3 如何在actionscript 3中使用滑块动态更新图像?,actionscript-3,Actionscript 3,这是我的困境。我们在这里大量使用alpha通道的图像堆栈。我想使用一个滑块调用系列图像。我得到一个连接字符串,从我的文件夹中拉出一个图像。但是当我滑动滑动条时,无法动态加载图像 我正在使用帧编号来更改文件名以拉起下一帧。如果我把加载器放在函数外,我可以得到显示的图像,但是当我把加载器放在函数中时,我得到一个又一个错误,说文件无法定位 以下是目前的代码: var imgLoader = new Loader(); var str1 = String (".jpg"); var sliderValu

这是我的困境。我们在这里大量使用alpha通道的图像堆栈。我想使用一个滑块调用系列图像。我得到一个连接字符串,从我的文件夹中拉出一个图像。但是当我滑动滑动条时,无法动态加载图像

我正在使用帧编号来更改文件名以拉起下一帧。如果我把加载器放在函数外,我可以得到显示的图像,但是当我把加载器放在函数中时,我得到一个又一个错误,说文件无法定位

以下是目前的代码:

var imgLoader = new Loader();
var str1 = String (".jpg");
var sliderValue:uint = mySlider.sliderKnob.x / 3;
addEventListener(Event.ENTER_FRAME, onEnterFrame);
function onEnterFrame(event:Event):void {
    sliderValue = mySlider.sliderKnob.x / 3;
    status_txt.text = "Slider position is: "+sliderValue;
    fileText.text = "Sketch_0"+sliderValue+".jpg";
    imgLoader.load( new URLRequest ( "Sketch_0"+sliderValue+".jpg"));
addChild(imgLoader);
setChildIndex(imgLoader, 0); 
}

首先,你需要加载一个没有滑块的图像,看看它是否加载。如果没有,请验证路径。正如您所说,相对路径相对于SWF所在的文件夹(或包含SWF的HTML页面所在的文件夹)起作用

第二,减轻你试图给Flash播放器带来的沉重负担

addEventListener(Event.ENTER_FRAME, onFrame);

var nextName:String;

function onFrame(e:Event):void
{
    var anIndex:int = mySlider.sliderKnob.x / 3;
    var aName:String = "Sketch_0" + anIndex + ".jpg";

    status_txt.text = "Slider position is: " + anIndex;
    fileText.text = aName;

    // Flash Player does not load images instantly,
    // so lets request new image only if user stopped moving the slider.
    if (aName == nextName)
    {
        loadNext(nextName);
    }
    else
    {
        nextName = aName;
    }
}

var currentName:String;
var currentImage:Loader;

function loadNext(value:String):void
{
    // If the requested file is the same as current, just ignore the request.
    if (value == currentName) return;

    currentName = value;

    // Dispose of the previous image in a proper way.
    if (currentImage)
    {
        removeChild(currentImage);

        currentImage.unloadAndStop(true);
        currentImage = null;
    }

    // Create a new one.
    var aRequest:URLRequest = new URLRequest(currentName);

    currentImage = new Loader();
    currentImage.load(aRequest);

    addChild(currentImage);
}

1.为什么要在ENTER\u框架处理程序中执行此操作?你知道你强迫同一个加载器对象一次又一次地请求文件,每秒25-30-60次,对吗?2.文件名正确吗?3.可能是相对路径?我没有因为任何特殊的原因使用enter frame,除了我不擅长这个。有没有办法只在我移动滑块时更新它?是否有移动侦听器事件?我可以检查此事件。看起来很有效。谢谢你的帮助。有一件事。。。我有更多的变化,你(组织)下午我,这样我可以直接问?我需要一位专家的帮助,我希望这是合法的。谢谢。@H.G.这正是本网站的主题。你工作,然后遇到一些你还不明白的问题,你走到这里,你展示你迄今为止所做的,你解释你的问题,你得到帮助。这里有很多高技能的人,你最终会得到别人的帮助。如果你自己没有表现出足够的努力,这种情况也会发生。您输入的“删除图像”命令效果很好,但在读取新文件之前执行该操作会导致图像显示为打开和关闭。我试图向下移动代码,但它不再是孩子,而是家长。我试图修改代码,但不起作用。下面是我如何修改该区域中的脚本…//创建一个新脚本。var aRequest:URLRequest=新的URLRequest(currentName);currentImage=new Loader();currentImage.load(aRequest);//以适当的方式处理上一个映像。如果(parent.currentImage){removeChild(currentImage);currentImage.unloadAndStop(true);currentImage=null;}很抱歉,我不确定如何将格式设置为代码。它在第一篇文章中提示了我,但这次它只是显示为文本。