※この翻訳ドキュメントはスクリプトによって出力・同期されています。内容が怪しそうな場合はGitHubにissueを追加したり英語の原文の確認をお願いします。

DisplayObject クラスの parent インターフェイス

このページではDisplayObjectクラスのparent関係のインターフェイス(parent属性とremove_from_parentメソッド)について説明します。

各インターフェイスの概要

parent属性はgetterのみのインターフェイスとなります。この属性値はStageのインスタンスもしくはSpriteなどのコンテナのインスタンスとなります。

import apysc as ap

ap.Stage(
    background_color=ap.Color("#333"),
    stage_width=150,
    stage_height=200,
    stage_elem_id="stage",
)

sprite: ap.Sprite = ap.Sprite()
rectangle: ap.Rectangle = sprite.graphics.draw_rect(x=50, y=50, width=50, height=50)

assert isinstance(sprite.parent, ap.Stage)
assert isinstance(sprite.graphics.parent, ap.Sprite)
assert isinstance(rectangle.parent, ap.Graphics)

remove_from_parentインターフェイスは自身のインスタンスを親のインスタンスから取り除き、画面上に表示されない状態にします。

remove_from_parent インターフェイスの基本的な使い方

remove_from_parentメソッドのインターフェイス(引数を必要としません)は自身のインスタンスを親のインスタンスから取り除きます。取り除かれたインスタンスは他の親(コンテナ)のインスタンスへと追加されるまで画面に表示されません。

import apysc as ap

ap.Stage(
    background_color=ap.Color("#333"),
    stage_width=150,
    stage_height=150,
    stage_elem_id="stage",
)

sprite: ap.Sprite = ap.Sprite()
rectangle: ap.Rectangle = sprite.graphics.draw_rect(x=50, y=50, width=50, height=50)

# Remove the rectangle from the parent, and nothing displays
# on the stage.
rectangle.remove_from_parent()

ap.save_overall_html(dest_dir_path="display_object_remove_from_parent_basic_usage/")

関連資料

parent API

特記事項: このAPIドキュメントはドキュメントビルド用のスクリプトによって自動で生成・同期されています。そのためもしかしたらこの節の内容は前節までの内容と重複している場合があります。

[インターフェイス概要]

add_childやremove_childなどのインターフェイスを持った親のインスタンスを取得します。


[返却値]

  • parent: any parent instance (ChildMixIn) or None

    • add_childremove_childなどのインターフェイスを持っている親のインスタンス。もしこのインスタンスが親を持っていない(画面に追加されていない)場合、このインターフェイスはNoneを返却します。


[コードサンプル]

>>> import apysc as ap
>>> stage: ap.Stage = ap.Stage()
>>> sprite_1: ap.Sprite = ap.Sprite()
>>> sprite_1.graphics.begin_fill(color=ap.Color("#0af"))
>>> rectangle: ap.Rectangle = sprite_1.graphics.draw_rect(
...     x=50, y=50, width=50, height=50
... )
>>> sprite_2: ap.Sprite = ap.Sprite()
>>> sprite_2.add_child(rectangle)
>>> rectangle.parent == sprite_2
True

remove_from_parent API

特記事項: このAPIドキュメントはドキュメントビルド用のスクリプトによって自動で生成・同期されています。そのためもしかしたらこの節の内容は前節までの内容と重複している場合があります。

[インターフェイスの構造] remove_from_parent(self) -> None


[インターフェイス概要]

親のインスタンスからこのインスタンスを取り除きます。


[エラー発生条件]

  • ValueError: もしも親のインスタンスがNoneの場合(親の無い状態の場合)。