javascript - 如何在 Flash AS3 中构建自定义 slider ?

标签 javascript actionscript-3 flash

我需要一些帮助来制作自定义 slider ,有点像您用于音量按钮的 slider 。我有一个,但它不能多用;一旦我在停止工作之前添加多个变量,我认为我不能使用局部变量,因为我需要使用事件监听器来让 slider 滑动。

我所问的是是否有人可以提供一个多功能 slider 的代码并解释其工作原理,以便我可以从中学习。我可以显示我现在正在使用的代码,但它可能没用。

public function createSlider(x:Number, y:Number, parent:DisplayObjectContainer) : void {
        this.slider = new Sprite();
        this.slider.graphics.beginFill(0xFFFFFF);
        this.slider.graphics.drawCircle(x, y, 7);
        this.slider.graphics.endFill();
        this.bar = makeRoundedRect(x - 6, y - 6, 100, 11, 0xCCCCCC, 1, [10, 10, 10, 10]);
        parent.addChild(bar);
        parent.addChild(slider);

        this.slider.addEventListener(MouseEvent.MOUSE_OVER, sliderHover);
    }

    private function sliderHover(e:MouseEvent) : void 
    {
        this.slider.addEventListener(MouseEvent.MOUSE_DOWN, sliderDown);
    }
    private function sliderDown(e:MouseEvent) : void {
        this.slider.addEventListener(MouseEvent.MOUSE_MOVE, sliderMove);
        this.slider.addEventListener(MouseEvent.MOUSE_UP, sliderDone);
        this.slider.addEventListener(MouseEvent.MOUSE_OUT, sliderDone);
    }

    private function sliderMove(e:MouseEvent) : void {
        this.slider.addEventListener(MouseEvent.MOUSE_DOWN, sliderDown);
        this.slider.removeEventListener(MouseEvent.MOUSE_MOVE, sliderMove);
        this.slider.startDrag(false, new Rectangle(0, slider.y, 90, 0));

    }
    private function sliderDone(e:MouseEvent) : void {
        this.temp_mouseCurX = Math.abs(this.slider.x + 10);
        trace(this.temp_mouseCurX);
        this.slider.stopDrag();
    }

它使用了一个私有(private)变量,我知道它不适合我想做的事情。

最佳答案

您应该尝试使用 e.currentTarget。而不是 this.slider。

关于javascript - 如何在 Flash AS3 中构建自定义 slider ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41200352/

相关文章:

javascript - storeState 数据上的 Vue.js 观察者

php - php 变量中的 Javascript 代码

javascript - JS 函数未运行整个脚本

java - AS3Crypto 和 Javax.Crypto 之间的加密/解密 ECB/PKS5/Blowfish 失败并出现填充错误

actionscript-3 - 是否有可能将 'trap' 子 swf 跟踪语句发送到父 swf?

php - 在网站 : Red5 stream or posting the audio data? 上录制音频

javascript - 使用 javascript 选择每个表列

actionscript-3 - AS3 : removing a lineStyle in the middle of drawing a shape

javascript - 当AS的ExternalInterface准备好时告诉JS

flash - 使用 AS3 在 Flash 中绘制房间的墙壁