※この翻訳ドキュメントはスクリプトによって出力・同期されています。内容が怪しそうな場合はGitHubにissueを追加したり英語の原文の確認をお願いします。
mousedown と mouseup のインターフェイス¶
このページではmousedown
やmouseup
の各インターフェイスについて説明します。
各インターフェイスの概要¶
mousedown
インターフェイスはDisplayObject
のインスタンス上でマウスを押した時のイベントのハンドラを設定するためのインターフェイスです。逆にmouseup
インターフェイスはマウスから指を離した(押している状態を解除した)時のイベントのハンドラを設定するためのインターフェイスです。
関連資料¶
以下のページでは基本的なマウスイベントのインターフェイスについて説明しています:
mousedown と mouseup のインターフェイスの基本的な使い方¶
DisplayObject
の各インスタンスはmousedown
とmouseup
のメソッドのインターフェイスを持っており、それらを使ってハンドラを設定することができます。
以下のコード例では四角に対してマウスを押した時と離した時のハンドラをそれぞれ設定しています。ハンドラではマウスを押した時に四角の色を変更し、マウスを離した時に元の色に戻しています。
import apysc as ap
def on_mousedown(e: ap.MouseEvent[ap.Rectangle], options: dict) -> None:
"""
The handler that the rectangle calls when mousedown.
Parameters
----------
e : MouseEvent
Event instance.
options : dict
Optional arguments dictionary.
"""
rectangle: ap.Rectangle = e.this
rectangle.fill_color = ap.Color("#f0a")
def on_mouseup(e: ap.MouseEvent[ap.Rectangle], options: dict) -> None:
"""
The handler that the rectangle calls when mouseup.
Parameters
----------
e : MouseEvent
Event instance.
options : dict
Optional arguments dictionary.
"""
rectangle: ap.Rectangle = e.this
rectangle.fill_color = ap.Color("#0af")
ap.Stage(
background_color=ap.Color("#333"),
stage_width=150,
stage_height=150,
stage_elem_id="stage",
)
sprite: ap.Sprite = ap.Sprite()
sprite.graphics.begin_fill(color=ap.Color("#0af"))
rectangle: ap.Rectangle = sprite.graphics.draw_rect(x=50, y=50, width=50, height=50)
# Bind each handler to the rectangle.
rectangle.mousedown(on_mousedown)
rectangle.mouseup(on_mouseup)
ap.save_overall_html(dest_dir_path="mousedown_and_mouseup_basic_usage/")
解除用のインターフェイス¶
unbind_mousedown
とunbind_mouseup
はDisplayObject
のインスタンスから設定されているハンドラの設定を解除します。
以下のコード例ではon_mousedown
とon_mouseup
の各ハンドラ内でハンドラの設定を解除しているためハンドラの処理は1回のみ実行されます。
import apysc as ap
def on_mousedown(e: ap.MouseEvent[ap.Rectangle], options: dict) -> None:
"""
The handler that the rectangle calls when mousedown.
Parameters
----------
e : MouseEvent
Event instance.
options : dict
Optional arguments dictionary.
"""
rectangle: ap.Rectangle = e.this
rectangle.unbind_mousedown(handler=on_mousedown)
rectangle.fill_color = ap.Color("#f0a")
def on_mouseup(e: ap.MouseEvent[ap.Rectangle], options: dict) -> None:
"""
The handler that the rectangle calls when mouseup.
Parameters
----------
e : MouseEvent
Event instance.
options : dict
Optional arguments dictionary.
"""
rectangle: ap.Rectangle = e.this
rectangle.unbind_mouseup(handler=on_mouseup)
rectangle.fill_color = ap.Color("#0af")
ap.Stage(
background_color=ap.Color("#333"),
stage_width=150,
stage_height=150,
stage_elem_id="stage",
)
sprite: ap.Sprite = ap.Sprite()
sprite.graphics.begin_fill(color=ap.Color("#0af"))
rectangle: ap.Rectangle = sprite.graphics.draw_rect(x=50, y=50, width=50, height=50)
rectangle.mousedown(on_mousedown)
rectangle.mouseup(on_mouseup)
ap.save_overall_html(dest_dir_path="mousedown_and_mouseup_unbind_interfaces/")
また、unbind_mousedown_all
やunbind_mouseup_all
などのインターフェイスも存在します。これらのインターフェイスはDisplayObject
のインスタンスから該当のイベントのハンドラ設定を全て取り除きます。
mousedown API¶
特記事項: このAPIドキュメントはドキュメントビルド用のスクリプトによって自動で生成・同期されています。そのためもしかしたらこの節の内容は前節までの内容と重複している場合があります。
[インターフェイスの構造] mousedown(self, handler: Callable[[apysc._event.mouse_event.MouseEvent, ~_Options], NoneType], *, options: Union[~_Options, NoneType] = None) -> str
[インターフェイス概要]
マウスのボタンを押した時のイベント設定を追加します。
[引数]
handler
: _Handlerインスタンス上でマウスのボタンを押した時に呼ばれる関数もしくはメソッド。
options
: dict or None, default Noneハンドラに渡される省略が可能な追加のパラメーターとしての辞書。
[返却値]
name
: strハンドラ名。
[コードサンプル]
>>> import apysc as ap
>>> def on_mousedown(e: ap.MouseEvent[ap.Rectangle], options: dict) -> None:
... rectangle: ap.Rectangle = e.this
... rectangle.fill_color = ap.Color("#f0a")
>>> stage: ap.Stage = ap.Stage()
>>> sprite: ap.Sprite = ap.Sprite()
>>> sprite.graphics.begin_fill(color=ap.Color("#0af"))
>>> rectangle: ap.Rectangle = sprite.graphics.draw_rect(
... x=50, y=50, width=50, height=50
... )
>>> _ = rectangle.mousedown(on_mousedown)
[関連資料]
unbind_mousedown API¶
特記事項: このAPIドキュメントはドキュメントビルド用のスクリプトによって自動で生成・同期されています。そのためもしかしたらこの節の内容は前節までの内容と重複している場合があります。
[インターフェイスの構造] unbind_mousedown(self, handler: Callable[[apysc._event.mouse_event.MouseEvent, ~_Options], NoneType]) -> None
[インターフェイス概要]
マウスのボタンを押した際のイベントの指定されたハンドラ設定を解除します。
[引数]
handler
: _Handlerイベント設定を取り除く対象の関数やメソッドなど。
[コードサンプル]
>>> import apysc as ap
>>> def on_mousedown(e: ap.MouseEvent[ap.Rectangle], options: dict) -> None:
... rectangle: ap.Rectangle = e.this
... rectangle.fill_color = ap.Color("#f0a")
... rectangle.unbind_mousedown(on_mousedown)
>>> stage: ap.Stage = ap.Stage()
>>> sprite: ap.Sprite = ap.Sprite()
>>> sprite.graphics.begin_fill(color=ap.Color("#0af"))
>>> rectangle: ap.Rectangle = sprite.graphics.draw_rect(
... x=50, y=50, width=50, height=50
... )
>>> _ = rectangle.mousedown(on_mousedown)
unbind_mousedown_all API¶
特記事項: このAPIドキュメントはドキュメントビルド用のスクリプトによって自動で生成・同期されています。そのためもしかしたらこの節の内容は前節までの内容と重複している場合があります。
[インターフェイスの構造] unbind_mousedown_all(self) -> None
[インターフェイス概要]
マウスのボタンを押した時のイベントの全てのハンドラ設定を解除します。
[コードサンプル]
>>> import apysc as ap
>>> def on_mousedown(e: ap.MouseEvent[ap.Rectangle], options: dict) -> None:
... rectangle: ap.Rectangle = e.this
... rectangle.fill_color = ap.Color("#f0a")
... rectangle.unbind_mousedown_all()
>>> stage: ap.Stage = ap.Stage()
>>> sprite: ap.Sprite = ap.Sprite()
>>> sprite.graphics.begin_fill(color=ap.Color("#0af"))
>>> rectangle: ap.Rectangle = sprite.graphics.draw_rect(
... x=50, y=50, width=50, height=50
... )
>>> _ = rectangle.mousedown(on_mousedown)
mouseup API¶
特記事項: このAPIドキュメントはドキュメントビルド用のスクリプトによって自動で生成・同期されています。そのためもしかしたらこの節の内容は前節までの内容と重複している場合があります。
[インターフェイスの構造] mouseup(self, handler: Callable[[apysc._event.mouse_event.MouseEvent, ~_Options], NoneType], *, options: Union[~_Options, NoneType] = None) -> str
[インターフェイス概要]
マウスのボタンを離した時のイベント設定を追加します。
[引数]
handler
: _Handlerインスタンス上でマウスのボタンを離した時に呼ばれる関数もしくはメソッド。
options
: dict or None, default Noneハンドラに渡される省略が可能な追加のパラメーターとしての辞書。
[返却値]
name
: strハンドラ名。
[コードサンプル]
>>> import apysc as ap
>>> def on_mouseup(e: ap.MouseEvent[ap.Rectangle], options: dict) -> None:
... rectangle: ap.Rectangle = e.this
... rectangle.fill_color = ap.Color("#f0a")
>>> stage: ap.Stage = ap.Stage()
>>> sprite: ap.Sprite = ap.Sprite()
>>> sprite.graphics.begin_fill(color=ap.Color("#0af"))
>>> rectangle: ap.Rectangle = sprite.graphics.draw_rect(
... x=50, y=50, width=50, height=50
... )
>>> _ = rectangle.mouseup(on_mouseup)
[関連資料]
unbind_mouseup API¶
特記事項: このAPIドキュメントはドキュメントビルド用のスクリプトによって自動で生成・同期されています。そのためもしかしたらこの節の内容は前節までの内容と重複している場合があります。
[インターフェイスの構造] unbind_mouseup(self, handler: Callable[[apysc._event.mouse_event.MouseEvent, ~_Options], NoneType]) -> None
[インターフェイス概要]
マウスのボタンを離した際のイベントの指定されたハンドラ設定を解除します。
[引数]
handler
: _Handlerイベント設定を取り除く対象の関数やメソッドなど。
[コードサンプル]
>>> import apysc as ap
>>> def on_mouseup(e: ap.MouseEvent[ap.Rectangle], options: dict) -> None:
... rectangle: ap.Rectangle = e.this
... rectangle.fill_color = ap.Color("#f0a")
... rectangle.unbind_mouseup(on_mouseup)
>>> stage: ap.Stage = ap.Stage()
>>> sprite: ap.Sprite = ap.Sprite()
>>> sprite.graphics.begin_fill(color=ap.Color("#0af"))
>>> rectangle: ap.Rectangle = sprite.graphics.draw_rect(
... x=50, y=50, width=50, height=50
... )
>>> _ = rectangle.mouseup(on_mouseup)
unbind_mouseup_all API¶
特記事項: このAPIドキュメントはドキュメントビルド用のスクリプトによって自動で生成・同期されています。そのためもしかしたらこの節の内容は前節までの内容と重複している場合があります。
[インターフェイスの構造] unbind_mouseup_all(self) -> None
[インターフェイス概要]
マウスのボタンを離したとぎのイベントの全てのハンドラ設定を解除します。
[コードサンプル]
>>> import apysc as ap
>>> def on_mouseup(e: ap.MouseEvent[ap.Rectangle], options: dict) -> None:
... rectangle: ap.Rectangle = e.this
... rectangle.fill_color = ap.Color("#f0a")
... rectangle.unbind_mouseup_all()
>>> stage: ap.Stage = ap.Stage()
>>> sprite: ap.Sprite = ap.Sprite()
>>> sprite.graphics.begin_fill(color=ap.Color("#0af"))
>>> rectangle: ap.Rectangle = sprite.graphics.draw_rect(
... x=50, y=50, width=50, height=50
... )
>>> _ = rectangle.mouseup(on_mouseup)