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

PathBezier2DContinual クラス

このページではPathBezier2DContinualクラスについて説明します。

クラス概要

PathBezier2DContinual`クラスはパスに連続した2次元のベジェ曲線を設定するためのクラスです。

この設定は線対称な位置の制御点を使うことで滑らかな曲線を描画します。

主にこの設定はPathクラスのコンストラクタとdraw_pathメソッドのインターフェイスで使用されます。

基本的な使い方

PathBezier2DContinualクラスのコンストラクタはxyの引数を必要とします。

これらの座標はベジェ曲線の終点座標の指定となります。

PathBezier2DContinualクラスはPathBezier2DもしくはPathBezier2DContinualクラスの直後でのみ使用することができるという制限があります。

import apysc as ap

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

path: ap.Path = ap.Path(
    path_data_list=[
        ap.PathMoveTo(x=50, y=100),
        ap.PathBezier2D(
            control_x=100,
            control_y=25,
            dest_x=150,
            dest_y=100,
        ),
        ap.PathBezier2DContinual(
            x=250,
            y=100,
        ),
        ap.PathBezier2DContinual(
            x=350,
            y=100,
        ),
    ],
    line_color=ap.Color("#0af"),
    line_thickness=5,
)

ap.save_overall_html(dest_dir_path="path_bezier_2d_continual_basic_usage/")

相対座標設定

コンストラクタのrelativeのオプション引数はその挙動を変更します。

例として、もしその引数にTrueを指定した場合座標は相対座標として設定されます。

デフォルト値はFalseとなっており、この設定では絶対座標として扱われます。

import apysc as ap

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

path: ap.Path = ap.Path(
    path_data_list=[
        ap.PathMoveTo(x=50, y=100),
        ap.PathBezier2D(
            control_x=100,
            control_y=25,
            dest_x=150,
            dest_y=100,
        ),
        ap.PathBezier2DContinual(
            x=100,
            y=0,
            relative=True,
        ),
        ap.PathBezier2DContinual(
            x=100,
            y=0,
            relative=True,
        ),
    ],
    line_color=ap.Color("#0af"),
    line_thickness=5,
)

ap.save_overall_html(dest_dir_path="path_bezier_2d_continual_relative/")

PathBezier2DContinual クラスのコンストラクタのAPI

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

[インターフェイスの構造] __init__(self, x: Union[float, apysc._type.number.Number], y: Union[float, apysc._type.number.Number], *, relative: Union[bool, apysc._type.boolean.Boolean] = False, variable_name_suffix: str = '') -> None


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

SVGの連続した2次元のベジェ曲線のデータ設定用のクラスです。


[引数]

  • x: float or Number

    • 終点のX座標。

  • y: float or Number

    • 終点のY座標。

  • relative: bool or Boolean, default False

    • パスの座標が相対座標として扱うかもしくは絶対座標として扱うかどうかの真偽値。

  • variable_name_suffix: str, default “”

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


[コードサンプル]

>>> import apysc as ap
>>> stage: ap.Stage = ap.Stage()
>>> sprite: ap.Sprite = ap.Sprite()
>>> sprite.graphics.line_style(color=ap.Color("#fff"), thickness=3)
>>> path: ap.Path = sprite.graphics.draw_path(
...     path_data_list=[
...         ap.PathMoveTo(x=0, y=50),
...         ap.PathBezier2D(control_x=50, control_y=0, dest_x=100, dest_y=50),
...         ap.PathBezier2DContinual(x=150, y=50),
...     ]
... )

[関連資料]