我在OpenFL中使用Bitmap作为按钮。我在设置 myBitmap.visible = true
时看到的是位图不可见。
似乎我需要调用 myBitmap .__ CombinedVisible = true
以及它的绘制。我找不到关于如何正确使用它的这个属性的任何文档。
我也注意到我第一次在两个位图之间切换时位图变得可见不会马上出现,但看不见的那个会立即消失。在此之后的任何时候它都表现正常并且切换会立即发生。


这可能与 __ CombinedVisible
有关吗?
您可以在我的按钮内看到下面的位图切换代码。


 private function update():Void {&# XA; if(state == ButtonState.OVER){
 this.over.visible = this.over .__ combinedVisible = true;
 this.up.visible = this.down.visible = false;
 } else if(state == ButtonState.UP){
 this.up.visible = this.up .__ combinedVisible = true;
 this.down.visible = this.over.visible = false;
 } else if(state == ButtonState.DOWN){
 this.down.visible = this.down .__ combinedVisible = true;
 this.up.visible = this.over.visible = false;
 } else if(state == ButtonState.CLICK){
 this.up.visible = this.up .__ combinedVisible = true;
 this.over.visible = this.down.visible = false;
 this.enabled = false;
 dispatchEvent(new Event(“CLICK”)); 
 }
}



 因此经过一系列测试我将其缩小到这个:如果我设置在分配
为false,似乎需要使用此 BitmapData
之前,可见 __ combinedVisible
成员。如果我在设置 BitmapData
之后立即执行此操作,它仍然需要这个。
如果我让位图绘制1帧,则将 visible
设置为 false
。 visible = true
在这种情况发生后工作,我现在可以看到位图。
但如果它没有绘制一次,那么可见= true
不显示位图。
我不能以这种方式创建空位图并稍后分配 BitmapData
吗?它适用于up状态,因为我从未在第一次绘制之前设置 visible = false
。
答案 0 :(得分:0)
好的,经过大量的测试并试图让它发挥作用,它就不会。
此处存在一个错误,如果在将位图绘制到画布之前将visible
设置为false
,则在__combinedVisible
设置为true
之前不会绘制它。这在第一次绘制位图时总会引起闪光,因此无法使用。
我去了alpha
而不是visible
。这正常并且符合预期。
如果有人可以使用visible
,我会接受这个答案。
private function update() : Void {
if( state == ButtonState.OVER ){
this.over.alpha = 1;
this.up.alpha = this.down.alpha = 0;
}else if( state == ButtonState.UP ){
this.up.alpha = 1;
this.down.alpha = this.over.alpha = 0;
} else if( state == ButtonState.DOWN ){
this.down.alpha = 1;
this.up.alpha = this.over.alpha = 0;
}else if( state == ButtonState.CLICK ) {
this.up.alpha = 1;
this.over.alpha = this.down.alpha = 0;
this.enabled = false;
dispatchEvent(new Event("CLICK"));
}
}