在MouseClick上更改Sprite的beginFill Opacity不起作用

时间:2015-07-17 16:19:29

标签: actionscript-3

我有一个createIndicatorDots函数,可以创建指标点,如下所示

indicatorsSprite = new Sprite();
indicatorsSprite.graphics.clear();
**indicatorsSprite.graphics.beginFill(0xffffff,1);**


indicatorsSprite.graphics.lineStyle(2,Util.getUnsignedColor(Util.getColorSetting(config.settings['Brand color'],config.theme['Brand color'])));
    indicatorsSprite.graphics.drawCircle(50, 50, 30);
    indicatorsSprite.graphics.endFill();
    indicatorsSprite.width=10;
    indicatorsSprite.height=10;
    indicatorsSprite.x = 130+i*20;
    indicatorsSprite.y = 212;
    indicatorsSprite.buttonMode = true;
    indicatorsSprite.name = spriteString;
    indicatorsSprite.addEventListener(MouseEvent.CLICK, indicatorClickHandler(indicatorsSprite.name))
    indicatorsSprite.addEventListener(MouseEvent.ROLL_OVER,indicatormouseOverHandler(indicatorsSprite.name));
    indicatorsSprite.addEventListener(MouseEvent.ROLL_OUT,indicatormouseOutHandler(indicatorsSprite.name));
    indicatorsSprite.mouseChildren = true;
    indicatorsSprite.mouseEnabled = true;

所以我希望指示符点在Init上具有0不透明度,并且在单击它们时,不透明度需要更改为1,然后应用colorTransform更改颜色。但是由于某种原因,不透明度永远不会变为1,因此不会应用colorTransform。

我尝试在Click Handler中再次重新创建点,但没有任何效果。但是,在init中使用不透明度为1(如代码所示),然后应用colorTransform,一切都按预期工作。

另外作为一种可能的解决方案,我甚至可以在开始时没有beginFill或透明的beginFill颜色。但那就是我希望在INIT没有颜色的情况下实现的最终效果,然后单击它可以通过ColorTrans或不透明度变为1来获得颜色。

请告知。

0 个答案:

没有答案