Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 更改SimpleButton.y似乎不会移动按钮的区域_Actionscript 3_Flash Cs4_Simplebutton - Fatal编程技术网

Actionscript 3 更改SimpleButton.y似乎不会移动按钮的区域

Actionscript 3 更改SimpleButton.y似乎不会移动按钮的区域,actionscript-3,flash-cs4,simplebutton,Actionscript 3,Flash Cs4,Simplebutton,更新:这不是实际问题。据了解,有另一个精灵正在创建并设置为alpha=0,恰好位于与SimpleButton高度相同的Y位置。这会阻止与按钮的交互。谢谢你们的想法。我要结束这个问题了 我有一个简单的按钮,我在舞台上定位。我用它做了很多事情,当我把它设置在Y位置时,它会破坏/改变HIT区域 var playUp:Bitmap = getBitmap('play_up'); var playDown:Bitmap = getBitmap('play_down'); var Y:Number =

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


我有一个简单的按钮,我在舞台上定位。我用它做了很多事情,当我把它设置在Y位置时,它会破坏/改变HIT区域

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);
如果我删除行
\u playButton.y=y按钮工作正常,点击区域覆盖整个按钮。
如果我设置变量Y:Number=playDown.height则我根本无法滚动或单击按钮。
如果我设置变量Y:Number=playDown.height-10然后只有按钮的顶部10px处于活动状态,我可以单击并滚动顶部10px

我尝试过在另一个精灵中包装按钮并移动包含的精灵,但结果完全相同

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);

对于库中为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在代码中的任何其他地方都被使用。

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

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

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