gpt4 book ai didi

actionscript-3 - 过滤器问题 : sprite does not dispatch MouseEvents anymore

转载 作者:行者123 更新时间:2023-12-04 06:24:37 25 4
gpt4 key购买 nike

我正在处理一个非常简单的问题:在对 Sprite 应用 BevelFilter 之后,它似乎不再调度 MouseEvents。我曾尝试重新启用 buttonMode,但没有成功。我是否遗漏了一些非常基本的东西,或者这是一个 Flash 错误?它也发生在 DropShadowFilter 中。

编辑:这是一些代码。问题似乎来自面具和过滤器的组合:

        var s:Sprite = new Sprite();
s.graphics.beginFill(0xff0000,1);
s.graphics.drawRect(0,0,50,50);
s.buttonMode = true;
s.addEventListener(MouseEvent.CLICK, onClick);
this.addChild(s);
s.x = s.y = 100;
var m:Sprite = new Sprite();
m.graphics.beginFill(0,1);
m.graphics.drawRect(0,0,50,50);
s.addChild(m);

// comment one of these two lines out and it works
s.filters = [new BevelFilter()];
s.mask = m;

我试图将掩码的 mouseChildren、mouseEnabled 和 buttonMode 设置为 true,但没有结果。谢谢!

最佳答案

我尝试运行您的代码并得到相同的结果。奇怪的。

无论如何,我能够通过创建一个“容器” Sprite 并在那里应用过滤器来使其工作:

var c:Sprite = new Sprite();
this.addChild(c);

var s:Sprite = new Sprite();
s.graphics.beginFill(0xff0000,1);
s.graphics.drawRect(0,0,50,50);
s.buttonMode = true;
s.addEventListener(MouseEvent.CLICK, onClick);
c.addChild(s);
s.x = s.y = 100;
var m:Sprite = new Sprite();
m.graphics.beginFill(0,1);
m.graphics.drawRect(0,0,50,50);
s.addChild(m);

c.filters = [new BevelFilter()];
s.mask = m;

该解决方案适用于您的情况吗?

关于actionscript-3 - 过滤器问题 : sprite does not dispatch MouseEvents anymore,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6181595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com