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

Graphics クラスの draw_line インターフェイス

このページではGraphicsクラスのdraw_lineメソッドのインターフェイスについて説明します。

インターフェイス概要

draw_lineインターフェイスはシンプルな直線のグラフィックスを描画します。このインターフェイスはdot_settingdash_settinground_dot_settingdash_dot_settingなどの引数や属性の設定を無視します。

基本的な使い方

draw_lineインターフェイスはx_start(線の開始位置のX座標)、y_start(線の開始位置のY座標)、x_end(線の終了位置のX座標)、y_end(線の終了位置のY座標)の各引数を必要とします。

import apysc as ap

ap.Stage(
    background_color=ap.Color("#333"),
    stage_width=200,
    stage_height=100,
    stage_elem_id="stage",
)
sprite: ap.Sprite = ap.Sprite()

sprite.graphics.line_style(color=ap.Color("#0af"), thickness=5)
sprite.graphics.draw_line(x_start=50, y_start=50, x_end=150, y_end=50)

ap.save_overall_html(dest_dir_path="graphics_draw_line_basic_usage/")

無視される線のスタイル設定

このインターフェイスはインターフェイスのシンプルさのためにdot_settingdash_settinground_dot_settingdash_dot_settingの各設定を無視します。もしもこれらのスタイル設定が必要な場合にはdraw_lineインターフェイスの代わりにdraw_dotted_linedraw_dashed_linedraw_round_dotted_linedraw_dash_dotted_lineなどのインターフェイスを仕様してください。

import apysc as ap

ap.Stage(
    background_color=ap.Color("#333"),
    stage_width=200,
    stage_height=100,
    stage_elem_id="stage",
)
sprite: ap.Sprite = ap.Sprite()

# dot_setting will be ignored, and the result line will not be dotted.
sprite.graphics.line_style(
    color=ap.Color("#0af"),
    thickness=5,
    dot_setting=ap.LineDotSetting(dot_size=5),
)
sprite.graphics.draw_line(x_start=50, y_start=50, x_end=150, y_end=50)

ap.save_overall_html(dest_dir_path="graphics_draw_line_ignored_dot_setting/")

Line クラスのインスタンス

draw_lineインターフェイスはLineクラスのインスタンスを返却します。そのインスタンスの各種設定を変更したりイベントを登録したり等を行うことができます。draw_dotted_linedraw_dashed_linedraw_round_dotted_linedraw_dash_dotted_lineなどのインターフェイスも同じくLineクラスのインスタンスを返却します。

import apysc as ap

ap.Stage(
    background_color=ap.Color("#333"),
    stage_width=200,
    stage_height=100,
    stage_elem_id="stage",
)
sprite: ap.Sprite = ap.Sprite()

sprite.graphics.line_style(color=ap.Color("#0af"), thickness=5)
line: ap.Line = sprite.graphics.draw_line(x_start=50, y_start=50, x_end=150, y_end=50)

# Update the line color from cyan to magenta.
line.line_color = ap.Color("#f0a")

ap.save_overall_html(dest_dir_path="graphics_draw_line_line_instance/")

draw_line API

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

[インターフェイスの構造] draw_line(self, *, x_start: Union[float, apysc._type.number.Number], y_start: Union[float, apysc._type.number.Number], x_end: Union[float, apysc._type.number.Number], y_end: Union[float, apysc._type.number.Number], variable_name_suffix: str = '') -> '_line.Line'


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

通常の直線のベクターグラフィックスを描画します。


[引数]

  • x_start: float or Number

    • 線の開始位置のX座標。

  • y_start: float or Number

    • 線の開始位置のY座標。

  • x_end: float or Number

    • 線の終了位置のX座標。

  • y_end: float or Number

    • 線の終了位置のY座標。

  • variable_name_suffix: str, default “”

    • JavaScript上の変数のサフィックスの設定です。この設定はJavaScriptのデバッグ時に役立つことがあります。


[返却値]

  • line: Line

    • 生成された線のグラフィックスのインスタンス。


[特記事項]

・このインターフェイスはLineDotSettingLineDashSettingなどの設定を無視します。


[コードサンプル]

>>> import apysc as ap
>>> stage: ap.Stage = ap.Stage()
>>> sprite: ap.Sprite = ap.Sprite()
>>> sprite.graphics.line_style(color=ap.Color("#fff"), thickness=5)
>>> line: ap.Line = sprite.graphics.draw_line(
...     x_start=50, y_start=50, x_end=150, y_end=50
... )
>>> line.line_color
Color("#ffffff")

>>> line.line_thickness
Int(5)