更新:--这不是一个实际问题。据了解,有另一个雪碧正在创建并设置为alpha=0,恰好处于与SimpleButton高度相同的Y位置。这阻止了与按钮的交互。感谢你们的想法。我要结束这个问题。
我有一个SimpleButton,我在舞台上定位。我正在用它做各种各样的事情,当我设置它的Y位置时,它会破坏/改变hitArea。
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,但结果却完全相同。
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);发布于 2010-02-09 18:20:47
对于库中为Actionscript导出的两个图像,这很好:
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是否在代码中的任何其他地方使用。
发布于 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
(如果我完全错了,那就道歉。)
https://stackoverflow.com/questions/2231097
复制相似问题