1

実際には表示されないことを除いて、明らかvisible = false;に子の表示プロパティには影響しません。親スプライトとその子、およびその子の子などを無効にするには、どのような手法を使用できますか?

  • すべての子を持つスプライトを無効にする
  • すべての子でスプライトを有効にする
  • ステージから削除しないでください
  • 親と子が無効になっている間、イベントをブロックします

Ps: この機能は ActionScript 3 にはないようです。

4

2 に答える 2

0

可視プロパティの目的を誤解していると思います。


Adobe によると、Visible は次のことを決定します。

表示オブジェクトが表示されるかどうか。表示されていない表示オブジェクトは無効になります。たとえば、InteractiveObject インスタンスの visible=false の場合、クリックできません。

これは、起動などの他のイベント ハンドラーを防止するという意味ではありませんEvent.ENTER_FRAME。要素を無効にするために依存している場合は、その表示オブジェクトからイベントを発生させる前にvisible、この値が実際にあることも確認する必要があります。true


親スプライトが表示されず、子が描画されないにもかかわらず、これは機能しません。このプロパティの値は true のままです。

...

子供が障害者かどうか簡単に確認できない: if (visible)

親の DisplayObject の可視性を false に設定し、それがすべての子に伝播することを期待している場合は、間違っています。親の表示フラグのみが false のままになります。代わりに、次のように親をチェックして、子の可視性を確認する必要があります。

if(parent.visible) {
    //perform logic here...
}
于 2013-08-17T20:14:58.053 に答える