※この翻訳ドキュメントはスクリプトによって出力・同期されています。内容が怪しそうな場合はGitHubにissueを追加したり英語の原文の確認をお願いします。
Graphics クラスの begin_fill インターフェイス¶
このページではGraphics
クラスのbegin_fill
メソッドのインターフェイスについて説明します。
インターフェイス概要¶
begin_fill
インターフェイスは塗りの色と塗りの透明度を設定します。この設定は再度begin_fill
のインターフェイスを呼び出すか、もしくはclear
メソッドを呼ぶまで保持されます。
基本的な使い方¶
ベクターグラフィックスの描画系の各インターフェイス(例 : draw_rect
など)はグラフィックス生成時にこの塗りの設定を参照します。そのため描画系のインターフェイスを実行する前にこのbegin_fill
のインターフェイスを呼び出しておく必要があります。
import apysc as ap
ap.Stage(
background_color=ap.Color("#333"),
stage_width=350,
stage_height=150,
stage_elem_id="stage",
)
sprite: ap.Sprite = ap.Sprite()
# Set blue fill color and draw the first rectangle.
sprite.graphics.begin_fill(color=ap.Color("#0af"))
sprite.graphics.draw_rect(x=50, y=50, width=50, height=50)
# Draw the second rectangle (fill color setting will be maintained).
sprite.graphics.draw_rect(x=150, y=50, width=50, height=50)
# Set the other fill color and draw the third rectangle.
sprite.graphics.begin_fill(color=ap.Color("#f0a"))
sprite.graphics.draw_rect(x=250, y=50, width=50, height=50)
ap.save_overall_html(dest_dir_path="graphics_begin_fill_basic_usage/")
塗りの色の設定¶
color
引数は塗りの色を設定します。begin_fill
インターフェイスではこの引数は必須になっています。
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()
# Set a cyan fill color and draw the rectangle.
sprite.graphics.begin_fill(color=ap.Color("#0af"))
sprite.graphics.draw_rect(x=50, y=50, width=50, height=50)
ap.save_overall_html(dest_dir_path="graphics_begin_fill_fill_color/")
もしも塗りの色の設定を削除したい場合、COLORLESS
定数をこの引数に指定してください。
以下のコード例では塗りの色の設定を削除しているため、四角のグラフィックは見えなくなります。
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()
sprite.graphics.begin_fill(color=ap.Color("#0af"))
# Clear fill color by specifying the `COLORLESS`` constant.
sprite.graphics.begin_fill(color=ap.COLORLESS)
# Since fill color is not set, the rectangle is invisible.
sprite.graphics.draw_rect(x=50, y=50, width=50, height=50)
ap.save_overall_html(dest_dir_path="graphics_begin_fill_color_setting_clear/")
以下のようなカラーコードが受け付けられます:
#00aaff
などの6文字による指定。#0af
などの3文字による指定(これは#00aaff
と同じ値として扱われます)。#5
などの1文字による指定(これは000005
と同じ値として扱われます)。0af
などの#
記号を省略した指定(これは#00aaff
と同じ値として扱われます)。COLORLESS
定数(この指定は塗りの色の設定を削除します)。
import apysc as ap
ap.Stage(
background_color=ap.Color("#333"),
stage_width=450,
stage_height=150,
stage_elem_id="stage",
)
sprite: ap.Sprite = ap.Sprite()
# Six characters fill color setting (a cyan color).
sprite.graphics.begin_fill(color=ap.Color("#00aaff"))
sprite.graphics.draw_rect(x=50, y=50, width=50, height=50)
# Three characters fill color setting (a magenta color).
sprite.graphics.begin_fill(color=ap.Color("#f0a"))
sprite.graphics.draw_rect(x=150, y=50, width=50, height=50)
# Single characters fill color setting (a black color).
sprite.graphics.begin_fill(color=ap.Color("#0"))
sprite.graphics.draw_rect(x=250, y=50, width=50, height=50)
# Fill color that a skipped `#` symbol is also acceptable.
sprite.graphics.begin_fill(color=ap.Color("999"))
sprite.graphics.draw_rect(x=350, y=50, width=50, height=50)
ap.save_overall_html(dest_dir_path="graphics_begin_fill_acceptable_color_settings/")
塗りの色の透明度の設定¶
塗りの透明度はalpha
引数で設定できます。0.0(透明)~1.0(不透明)の範囲の値を受け付けます。
import apysc as ap
ap.Stage(
background_color=ap.Color("#333"),
stage_width=200,
stage_height=200,
stage_elem_id="stage",
)
sprite: ap.Sprite = ap.Sprite()
sprite.graphics.begin_fill(color=ap.Color("#00aaff"), alpha=0.2)
sprite.graphics.draw_rect(x=50, y=75, width=50, height=50)
sprite.graphics.draw_rect(x=75, y=50, width=50, height=50)
sprite.graphics.draw_rect(x=75, y=75, width=50, height=50)
sprite.graphics.draw_rect(x=75, y=100, width=50, height=50)
sprite.graphics.draw_rect(x=100, y=75, width=50, height=50)
ap.save_overall_html(dest_dir_path="graphics_begin_fill_alpha_setting/")
begin_fill API¶
特記事項: このAPIドキュメントはドキュメントビルド用のスクリプトによって自動で生成・同期されています。そのためもしかしたらこの節の内容は前節までの内容と重複している場合があります。
[インターフェイスの構造] begin_fill(self, *, color: apysc._color.color.Color, alpha: Union[float, apysc._type.number.Number] = 1.0) -> None
[インターフェイス概要]
塗りのための単一の色の設定を行います。
[引数]
color
: Color色の設定。
alpha
: float or Number, default 1.0塗りの透明度(0.0~1.0)。
[コードサンプル]
>>> import apysc as ap
>>> _ = ap.Stage(
... stage_width=150,
... stage_height=150,
... background_color=ap.Color("#333"),
... stage_elem_id="stage",
... )
>>> sprite: ap.Sprite = ap.Sprite()
>>> sprite.graphics.begin_fill(
... color=ap.Color("#0af"),
... alpha=0.5,
... )
>>> rectangle: ap.Rectangle = sprite.graphics.draw_rect(
... x=50, y=50, width=50, height=50
... )
>>> rectangle.fill_color
Color("#00aaff")
>>> rectangle.fill_alpha
Number(0.5)
fill_color 属性のAPI¶
特記事項: このAPIドキュメントはドキュメントビルド用のスクリプトによって自動で生成・同期されています。そのためもしかしたらこの節の内容は前節までの内容と重複している場合があります。
[インターフェイス概要]
現在の塗りの色を取得します。
[返却値]
fill_color
: Color現在の塗りの色。もしも設定されていない場合
COLORLESS
定数の値が返却されます。
[コードサンプル]
>>> import apysc as ap
>>> _ = ap.Stage(
... stage_width=150,
... stage_height=150,
... background_color=ap.Color("#333"),
... stage_elem_id="stage",
... )
>>> sprite: ap.Sprite = ap.Sprite()
>>> sprite.graphics.begin_fill(
... color=ap.Color("#0af"),
... alpha=0.5,
... )
>>> sprite.graphics.fill_color
Color("#00aaff")
fill_alpha 属性のAPI¶
特記事項: このAPIドキュメントはドキュメントビルド用のスクリプトによって自動で生成・同期されています。そのためもしかしたらこの節の内容は前節までの内容と重複している場合があります。
[インターフェイス概要]
現在の塗りの透明度を取得します。
[返却値]
fill_alpha
: Number現在の塗りの透明度(0.0~1.0)。もし設定されていない場合1.0の値が返却されます。
[コードサンプル]
>>> import apysc as ap
>>> stage: ap.Stage = ap.Stage()
>>> sprite: ap.Sprite = ap.Sprite()
>>> sprite.graphics.begin_fill(color=ap.Color("#0af"), alpha=0.5)
>>> rectangle: ap.Rectangle = sprite.graphics.draw_rect(
... x=50, y=50, width=50, height=50
... )
>>> rectangle.fill_alpha
Number(0.5)