Nyaatrap

アダルト百合ゲー開発ブログ。一部記事は18歳未満閲覧禁止です。

Home どれぱら デーモンマスタークリス 商用ゲーム フリーゲーム

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Ren'py の label, screen, transform は関数?

Ren'py で特に重要な命令に、 label, screen, transform があります。他の命令の中身が実質 Python であるのと違い、これらはそれぞれ異なる特殊な文法を持ちます。
ですが、実はこれらは関数のように引数を使って定義して、引数を渡して呼び出すことができます。例えば、

label scene1(char):
if char=akari:
akari "やっほー"

screen showtext(str="デフォルトテキスト"):
text str

transform center(zoomlevel=1.0):
xpos .5 zoom zoomlevel

のように定義したものを、

call scene1("akari") # call を使う場合のみ。jump では引数はとれない

show screen showtext("このテキスト表示するよ!”)

show akari at center(2.0) # 二倍表示

のように呼び出すことができます。一本道ゲームではあまり使いませんが、ゲームにシミュレーション要素などを入れる時、活用するとコードが簡潔になります。
(screen に引数をあたえることができるのは、6.15 以降となります)

[追記] Transform の実体は、Displayable を返す関数のようです。そのため、以下のような形で呼び出したり、python の関数として再定義することも可能です。

show expression "akari.png" at center(2.0)
show expression at("akari.png", center(2.0))
show expression center("akari.png", zoomlevel=2.0)
(上記3つは同じ)

コメント

コメントの投稿


管理者にだけ表示を許可する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。