首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改SimpleButton.y似乎不会移动按钮的hitArea

更改SimpleButton.y似乎不会移动按钮的hitArea
EN

Stack Overflow用户
提问于 2010-02-09 17:34:59
回答 2查看 723关注 0票数 0

更新:--这不是一个实际问题。据了解,有另一个雪碧正在创建并设置为alpha=0,恰好处于与SimpleButton高度相同的Y位置。这阻止了与按钮的交互。感谢你们的想法。我要结束这个问题。

我有一个SimpleButton,我在舞台上定位。我正在用它做各种各样的事情,当我设置它的Y位置时,它会破坏/改变hitArea。

代码语言:javascript
复制
var playUp:Bitmap = getBitmap('play_up');
var playDown:Bitmap = getBitmap('play_down');

var Y:Number = 100;

_playButton = new SimpleButton(playDown, playUp, playDown, playDown);
_playButton.addEventListener(MouseEvent.CLICK, playClick);
_playButton.x = (640 / 2) - (_playButton.width / 2);
_playButton.y = Y;
_playButton.name = "playButton";
var shadow:DropShadowFilter = new DropShadowFilter();
shadow.distance = 5;
shadow.angle = 25;
shadow.alpha = 0.5;
shadow.blurX = 8;
shadow.blurY = 8;
_playButton.filters = [shadow];
addChild(_playButton);

如果我删除行_playButton.y = Y;按钮完美地工作,它的命中区域覆盖整个按钮。

如果设置var Y:Number = playDown.height;,则无法滚动或单击按钮。

如果我设置了var Y:Number = playDown.height - 10;,那么只有按钮的顶部10 If处于活动状态,我可以单击并滚动前10 If。

我尝试过将按钮包装在另一个Sprite中,并移动包含的sprite,但结果却完全相同。

代码语言:javascript
复制
var playUp:Bitmap = getBitmap('play_up');
var playDown:Bitmap = getBitmap('play_down');

var Y:Number = 100;

_playButton = new SimpleButton(playDown, playUp, playDown, playDown);
_playButton.addEventListener(MouseEvent.CLICK, playClick);
_playButton.x = (640 / 2) - (_playButton.width / 2);
_playButton.y = Y;
_playButton.name = "playButton";
var shadow:DropShadowFilter = new DropShadowFilter();
shadow.distance = 5;
shadow.angle = 25;
shadow.alpha = 0.5;
shadow.blurX = 8;
shadow.blurY = 8;
_playButton.filters = [shadow];

var holder:Sprite = new Sprite();
holder.addChild(_playButton);
addChild(holder);
EN

回答 2

Stack Overflow用户

发布于 2010-02-09 18:20:47

对于库中为Actionscript导出的两个图像,这很好:

代码语言:javascript
复制
var playUpBMPD:BitmapData = new PlayUp(200, 40);
var playDownBMPD:BitmapData = new PlayDown(200, 40);
var playUp:Bitmap = new Bitmap(playUpBMPD);
var playDown:Bitmap = new Bitmap(playDownBMPD);

var Y:Number = 100;

var _playButton:SimpleButton = new SimpleButton(playDown, playUp, playDown, playDown);
_playButton.x = (640 / 2) - (_playButton.width / 2);
_playButton.y = Y;
_playButton.name = "playButton";
var shadow:DropShadowFilter = new DropShadowFilter();
shadow.distance = 5;
shadow.angle = 25;
shadow.alpha = 0.5;
shadow.blurX = 8;
shadow.blurY = 8;
_playButton.filters = [shadow];

addChild(_playButton);

getBitmap是做什么的?此外,Y是否在代码中的任何其他地方使用。

票数 1
EN

Stack Overflow用户

发布于 2010-02-09 18:22:12

我以前没有使用过SimpleButton,但是我从一个大约10分钟的谷歌搜索中收集到:每次移动按钮时,您可能需要手动更改按钮的hitState、upState、downState等的位置。在下面的示例中,它看起来像他们的hitState,等等,因为按钮是在舞台上的特定位置绘制的。

http://weblog.cahlan.com/2006/07/simplebutton-class-in-actionscript-30.html

即使在SimpleButton参考页面中的示例中,看起来它们实际上是在设置hitState的位置:

http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/flash/display/SimpleButton.html

(如果我完全错了,那就道歉。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2231097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档