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

mousedown と mouseup のインターフェイス

このページではmousedownmouseupの各インターフェイスについて説明します。

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

mousedownインターフェイスはDisplayObjectのインスタンス上でマウスを押した時のイベントのハンドラを設定するためのインターフェイスです。逆にmouseupインターフェイスはマウスから指を離した(押している状態を解除した)時のイベントのハンドラを設定するためのインターフェイスです。

関連資料

以下のページでは基本的なマウスイベントのインターフェイスについて説明しています:

mousedown と mouseup のインターフェイスの基本的な使い方

DisplayObjectの各インスタンスはmousedownmouseupのメソッドのインターフェイスを持っており、それらを使ってハンドラを設定することができます。

以下のコード例では四角に対してマウスを押した時と離した時のハンドラをそれぞれ設定しています。ハンドラではマウスを押した時に四角の色を変更し、マウスを離した時に元の色に戻しています。

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_mousedownunbind_mouseupDisplayObjectのインスタンスから設定されているハンドラの設定を解除します。

以下のコード例ではon_mousedownon_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_allunbind_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)