Screen Actions, Values および Functions link
Ren'Py にはスクリーンやスクリーン言語での使用を意図したいくつかのアクション、値、関数があります。
アクション link
アクションは ( imagebutton、textbutton、hotspot のような ) ボタンがアクティベートされる(押される)か、その上にマウスが出入りすると実行されます。アクションはボタンの有効無効も決定出来ます。
これらのアクション同様に、アクションには引数を受け取らない関数も使えます。関数はアクションが実行されると呼び出されます。アクションが値を返すと、その値がインタラクションから返されます。
アクションのリストを1つのアクションの代わりに通常渡せます。その場合、リスト内のアクションは順番に実行されます。アクションのリストはすべてのアクションが選択可能であれば選択可能となり、アクションのどれかが選択されていれば選択されている状態となりますが、それぞれ SensitiveIf()
または SelectedIf()
がリストに含まれない場合のみです。
制御用のアクション link
これらはスクリーンや インタラクションの結果、フロー制御を管理するアクションです。
- Call(label, *args, **kwargs) link
現在のステートメントを終了して文字列として指定された label を呼び出します。引数とキーワード引数は
renpy.call()
に渡されます。
- Hide(screen=None, transition=None, _layer=None, immediately=False) link
表示されていればスクリーンを非表示にします。
- screen
非表示するスクリーンの名前の文字列または、現在のスクリーンを非表示する場合は None です。
- transition
None でなければスクリーンを非表示にするときにトランジションが使用されます。
- _layer
layer 引数として
renpy.hide_screen()
に渡されます。 screen が None なら無視されます。- immediately
True の場合、その screen はすぐに非表示になり、 on hide イベントは発生しません。
- Jump(label) link
制御を文字列として指定された label に移します。
- NullAction() link
何もしません。
ボタンの hover/unhover イベントに対する反応として、実際には何もしない時に使用されます。
- Return(value=None) link
None でなければ、現在のインタラクションが与えられた value を返すようにします。これはしばしば menu や imagemap で使用してインタラクションから返される値を選択します。スクリーンが
call screen
ステートメントで呼び出されると、返り値は _return 変数に配置されます。menu ではこれで menu から戻ります(この場合値は None であるべきです)。
- Show(screen, transition=None, *args, **kwargs) link
他のスクリーンを表示します。 screen は表示するスクリーンを表す文字列であり、引数はそのスクリーンに渡されます。
None でなければ transition が新しいスクリーンを表示するために使用されます。
このアクションは _layer _zorder, _tag をキーワード引数として受け取り、それらは,
renpy.show_screen()
関数のものと同じ意味になります。
- ShowTransient(screen, transition=None, *args, **kwargs) link
一時的なスクリーンを表示します。一時的なスクリーンは現在のインタラクションが完了すると非表示になります。引数は表示されるスクリーンに渡されます。
None でなければ transition が新しいスクリーンを表示するために使用されます。
このアクションは _layer _zorder, _tag をキーワード引数として受け取り、それらは,
renpy.show_screen()
関数のものと同じ意味になります。
- ToggleScreen(screen, transition=None, *args, **kwargs) link
screen の表示をトグルします。現在表示されていなければ、スクリーンは与えられた引数で呼び出され、そうでなければ非表示になります。
None でなければ transition がスクリーンを表示または非表示するのに使用されます。
このアクションは _layer _zorder, _tag をキーワード引数として受け取り、それらは,
renpy.show_screen()
関数のものと同じ意味になります。
データアクション link
これらのアクションの一部は、最も一般的な場合を含め、次の表に示される単純なパターンに従います。
管理方式 |
アクセス対象 |
||||
---|---|---|---|---|---|
変数 |
スクリーン変数 |
ローカル変数 |
フィールド |
辞書 |
|
セット |
|||||
トグル |
|||||
サイクル |
|||||
インクリメント |
アクセス対象は変更する値を持つ対象を決定し、管理方法は新しい値が何になるかを決定します。それらの動作の把握は比較的簡単です。
-Variable アクションは、 name というグローバル変数の値を変更します。引数 name には文字列を指定します。 "strength" のような単純な名前や、 "hero.strength" や "persistent.show_cutscenes" のようにフィールドと変数をドットで区切った名前も可能です。
-ScreenVariable アクションは、現在のトップレベルスクリーンに関連付けられた name という変数の値を変更します。 use で使用されているスクリーンではこのアクションはすべての使用されているスクリーンを含んでいるスクリーンのコンテキストで変数を設定します。
-LocalVariable アクションは name というそのアクションがあるスクリーンにローカルで受け取られる変数の値を変更します。このアクションは、他のスクリーンによって use されたスクリーン内でのみ有効です(詳細は Use を参照)。他のすべてのケースでは、 -ScreenVariable アクションの方がパフォーマンスが良く、より多くのスクリーンをキャッシュできるため好ましいです。 -LocalVariable アクションは、その変数が設定されるコンテキストで作成される必要があり、外部からは渡せません。
-Field アクションはオブジェクト object の field というフィールドの値を変更します。
-Dict アクションは辞書 dict のキー key に対する値を変更します。つまり
dict[key]
を変更します。これはリストにも動作します。
Set- アクションは単純にターゲットの値を渡された value に設定します。これは Python の組み込み型である
set
とは無関係なので注意してください。target = value
Toggle- アクションはターゲットの真偽値を true_value`( None 以外が指定されれば) と `false_value`( 同上 ) 間で反転します。 `true_value と false_value が両方ともNoneの場合、
target = not target
となります。Cycle- アクションは与えられた values を循環させ、 values は空でないシーケンス(リスト、タプルまたは range) でなくてはいけません。アクションが実行されたときにターゲットの値がシーケンスの中にない場合、その値はシーケンスの最初の値に設定されます。 loop パラメータ (デフォルトは True) は values がなくなったときの処理を決定し、 True なら最初に戻ります。 False なら例外を投げます。 reverse パラメータ (デフォルトは False ) は、渡された values シーケンスを反転させます。
Increment- アクションは amount (デフォルトでは1です) をターゲットに加えます。
target = target + amount
です。
次のデータアクションは上記のパターンに従いません。これらの一部は Python の set
型に関係しますが、上記の Set-アクションと混同しないでください。
- AddToSet(set, value) link
value を set に追加します。
- set
追加される set です。これは python の set またはリストで、 value がそれに追加されます。
- value
追加または削除される値です。
- RemoveFromSet(set, value) link
set から value を除去します。
- set
これは set または リストです。
- value
削除される値です。
- ToggleSetMembership(set, value) link
set から value をトグルします。値が set になければ追加され、そうでなければ削除されます。
このアクションを持つボタンはその set にその値があるときのみ選択状態としてマークされます。
- set
追加する set です。これは python の set またはリストで、値がそれに付け加えられます。
- value
追加または削除される値です。
ファイルアクション link
これらのアクションはセーブ、ロード、ファイルの削除を扱い、多くは name や page 引数を受け取ります。
- name
セーブするファイルの名前。これは文字列か整数です。ファイルの名前を作成するために pageと結合されます。
- page
このアクションが動作するページです。これは「 auto 」、「 quick 」、正の整数のいずれかです。 None の場合、 persistent._file_page に基づき自動的に決定されます。
これらは設定されていれば config.file_slotname_callback
を使用してスロット名に変換されます。
- FileAction(name, page=None, **kwargs) link
そのファイルを「 適切に扱います」。つまり load スクリーンが表示されていれば (現在のスクリーン名が 「load」 なら ) ファイルをロードし、そうでなければファイルにセーブします。
- name
セーブまたはロードするスロット名です。 None なら未使用 ( 現在時刻を元にした大きな数字の ) スロットが使用されます。
- page
セーブまたはロードされるファイルのページです。 None の場合、現在のページが使用されます。
その他のキーワード引数は FileLoad, FileSave に渡されます。
- FileDelete(name, confirm=True, page=None, slot=False) link
ファイルを削除します。
- name
削除するスロットの名前
- confirm
True かつメインメニューでなければ、ファイルロード前に確認のためのプロントが表示されます。
- page
ファイルがロードされるページです。 None の場合、現在のページが使用されます。
- slot
True なら page は無視され、 name はスロット名となります。
- FileLoad(name, confirm=True, page=None, newest=True, cycle=False, slot=False) link
ファイルをロードします。
- name
ロードするスロットの名前です。 None の場合、ロードできない未使用のスロットが使用され、そのためそのファイルはロード不可です。
- confirm
True かつメインメニューでなければ、ファイルロード前に確認のためのプロントが表示されます。
- page
ファイルがロードされるページです。 None の場合、現在のページが使用されます。
- newest
True で、これが最新のファイルであれば選択状態になります。
- cycle
無視されます。
- slot
True なら page は無視され、 name はスロット名となります。
- FilePage(page) link
ページを page に設定します。「 auto 」、 「 quick 」、整数のいずれかです。
- FilePageNext(max=None, wrap=False, auto=True, quick=True) link
次のファイルページに移動します。
- max
設定する場合は、移動可能なファイルページの最大数を与える整数にします。
- wrap
True のとき、max が設定されていて最後のファイルページにいるときに最初のページに戻ります。
- auto
True かつ wrap が設定されていれば、自動セーブのページに移動します。
- quick
True かつ wrap が設定されていれば、自動セーブのページに移動します。
- FilePagePrevious(max=None, wrap=False, auto=True, quick=True) link
可能であれば前のファイルページに移動します。
- max
設定する場合は、移動可能なファイルページの最大数を与える整数にします。これは wrap を有効にするときに必要です。
- wrap
True のとき、max が設定されていれば、最初のファイルページにいるときに最後のページに行きます。
- auto
True が設定されていれば、自動セーブのページに移動します。
- quick
True が設定されていれば、自動セーブのページに移動します。
- FileSave(name, confirm=True, newest=True, page=None, cycle=False, slot=False, action=None) link
ファイルにセーブします。
このスロットのボタンが最新のセーブファイルとしてマークされていれば選択状態になります。
- name
セーブするスロット名です。 None なら未使用 ( 現在時刻を元にした大きな数字の ) スロットが使用されます。
- confirm
True の場合、ファイルを上書きする前に確認します。
- newest
無視されます。
- page
スロットのあるページの名前です。 None の場合は現在のページが使用されます。
- cycle
True の場合、提供されたページのセーブはユーザーに表示される前に一回りします。
config.quicksave_slots
が回すときに使用されます。- slot
True なら page は無視され、 name はスロット名となります。
- action
セーブが完了後に実行されるアクションです。これはセーブに成功した場合のみ実行されます。
- FileTakeScreenshot() link
セーブ時に使用されるスクリーンショットを撮ります。これを使用してセーブスクリーンが表示される前のスクリーンを撮り、スクリーンショットの正しさを確実に出来ます。
- QuickLoad(confirm=True) link
クイックロードを処理します。
- confirm
True かつメインメニューでなければ、ファイルロード前に確認のためのプロントが表示されます。
- QuickSave(message='Quick save complete.', newest=False) link
クイックセーブを処理します。
- message
クイックセーブが終了するとユーザーに表示されるメッセージです。
- newest
最新のセーブとしてクイックセーブをマークする場合は True に設定します。
同期アクション link
- DownloadSync() link
Ren'Py の同期サーバーから Sync のダウンロードプロセスを開始します。
- UploadSync() link
このアクションは最も最近のセーブを Ren'Py 同期サーバーにアップロードするプロセスを開始します。
オーディオアクション link
チャンネルのコンセプトとその動作は Ren'Py のオーディオについて殆どの情報と共に オーディオ で解説されています。
- GetMixer(mixer, db=False) link
mixer の音量を返します。
- db
True ならばデシベル単位で音量を返します。 False なら、デフォルトで音量を 0.0 から 1.0 の数値として返します。
- PauseAudio(channel, value=True) link
channel のポーズフラグを設定します。
value が True なら、そのチャンネルはポーズされます。 False なら、そのチャンネルはポーズ解除されます。 "toggle" なら、パーズフラグはトグルされます。
- Play(channel, file, selected=None, **kwargs) link
オーディオファイルを与えられたチャンネルで再生します。
- channel
サウンドを再生するチャンネル
- file
再生するファイル
- selected
True なら、このアクションを使用するボタンはそのファイルがそのチャンネルで再生中なら選択状態とマークされます。 False ならこのアクションはボタンに再生を開始させません。 None ならボタンはそのチャンネルが music チャンネルなら選択状態になります。
すべての他のキーワード引数は
renpy.music.play()
に渡されます。
- Queue(channel, file, **kwargs) link
オーディオファイルを与えられたチャンネルにキューします。
- channel
サウンドを再生するチャンネル
- file
再生するファイル
すべてのキーワード引数は
renpy.music.queue()
に渡されます。
- SetMixer(mixer, volume) link
mixer の音量を value に設定します。
- mixer
音量を設定するミキサーです。文字列であり、通常は「main」か「music」、「sfx」、「voice」です。ミキサーについての詳細は Volume を参照してください。
- value
音量を設定する値です。 0.0 から 1.0 の間の数字を含みます。
- SetMute(mixer, mute) link
ひとつ以上のミキサーのミュート状態を設定します。ミキサーがミュートなら、そのミキサーと関連するオーディオチャンネルはオーディオの再生を停止します。
- mixer
ミキサー名の文字列か、ミキサー名の文字列のリストです。文字列はミキサー名であるべきです。
- mute
True ならミキサーをミュートにし、 False ならミュートを解除します。
- Stop(channel, **kwargs) link
オーディオチャンネルを停止します。
- channel
再生を停止するチャンネル
その他のキーワード引数は
renpy.music.stop()
に渡されます。
- ToggleMute(mixer) link
ひとつ以上のミキサーのミュート状態をトグルします。
- mixer
ミキサー名の文字列か、ミキサー名の文字列のリストです。文字列はミキサー名であるべきです。
フォーカスアクション link
- CaptureFocus(name='default') link
このアクションが実行されたときに Displayable がフォーカスされるとその Displayable を含む矩形が name の名前で保存されます。この矩形は
GetFocusRect()
アクションや Nearrect Displayable の focus プロパティーで回収できます。フォーカスされている Displayable がなければ、その名前で以前保存された結果は削除されます。
- name
フォーカスされた矩形が保存される名前です。これは文字列であるべきです。 "tooltip" という名前は特別で、tooltip が変更されるときに自動的に保存されます。
- ClearFocus(name='default') link
CaptureFocus()
で保存されたフォーカスされた矩形をクリアします。
- GetFocusRect(name='default') link
指定の名前のフォーカスされた矩形が
CaptureFocus()
またはツールチップにより自動で保存されていれば、 (x, y, h, w) のその矩形を返します。そうでなければ None を返します。- name
回収されるフォーカスされた矩形の名前です。 "tooltip" という名前は特別で、tooltip が変更されるときに自動的に保存されます。
- ToggleFocus(name='default') link
フォーカスされた矩形があればそれをクリアし、そうでなければそれを保存します。
- name
フォーカスされた矩形が保存される名前です。これは文字列であるべきです。 "tooltip" という名前は特別で、tooltip が変更されるときに自動的に保存されます。
その他のアクション link
他に分類されないその他のアクションがあります。
- Confirm(prompt, yes, no=None, confirm_selected=False) link
ユーザーにアクションの確認を促します。ユーザーが yes をクリックすると、 yes アクションが実行され、そうでなければ no アクションが実行されます。
- prompt
ユーザーに表示するプロンプトです。
- confirm_selected
True なら、 yes アクションがすでに選択されていてもプロンプトは表示されます。 False (デフォルト)なら、 yes アクションが選択されていればプロンプトは表示されません。
アクションの有効選択状態は yes アクションのそれらに合致します。
このアクションの関数版は
renpy.confirm()
を参照してください。
- CopyToClipboard(s) link
可能であれば、文字列 s をシステムのクリップボードにコピーします。これはデスクトップとモバイルプラットフォームで動作するはずですが、ウェブでは動作しません。
- DisableAllInputValues() link
すべての有効な InputValue を無効化します。これでデフォルトの InputValue があれば、フォーカスが戻ります。そうでなければ、 InputValue にはフォーカスされません。
- EditFile(filename=None, line=1) link
可能であれば、テキストエディタで指定のファイルを開くよう Ren'Py に指示します。これは一部のプラットフォームのみで動作します。
- filename
指定するなら開くファイル名にします。 None なら、 line は無視され現在のファイル名と行番号が使用されます。
- line
そのファイルを開くときの行番号
- ExecJS(code) link
指定の JavaScript ソースコードを実行します。これは Web で飲みサポートされ、他のプラットフォームでは例外を投げます。スクリプトはウィンドウのコンテキストで非同期で実行され、返り値は利用不能です。
- code
実行される JavaScriptコードです。
- Function(callable, *args, _update_screens=True, **kwargs) link
このアクションは
callable(*args, **kwargs)
を呼び出します。- callable
呼び出し可能オブジェクトです。ここれは、2つの呼び出し可能オブジェクトが等しい、どちらを呼び出しても同じであると仮定しています。
- args
位置引数は callable に渡されます。
- kwargs
キーワード引数は callable に渡されます。
- _update_screens
このアクションは任意で _update_screens キーワード引数を受け取り、これはデフォルトでは True になります。 True ならインテラクションは再開し、スクリーンは関数から処理が返された後更新されます。
関数が None 以外を返すと、インタラクションは停止し、その値を返します( call screen ステートメントで呼び出されると、その結果は _return 変数に配置されます)。
Function アクションの代わりに、
Action
クラスのサブクラスを自身で定義できます。これによりそのアクションに名前を付けて、いつ選択や有効化されるべきかを決定できます。
- Help(help=None) link
ヘルプを表示します。
- help
help を探すための文字列です。これは以下の方法で使用します。 :
この名前のラベルが存在したら、そのラベルが新しいコンテキストで呼び出されます。
そうでなければ、これはブラウザーで開くべきファイル名として解釈されます。
help が None なら、
config.help
がデフォルトの値として使用されます。それも None なら、config.help_screen
スクリーンがあれば新しいコンテキストで表示されます。そうでなければ何もしません。
- HideInterface() link
インターフェースをユーザーがクリックするまで非表示にします。 Ren'Py のゲームで H キーを押したときに起こるのが典型的です。
- If(expression, true=None, false=None) link
expression が True の場合は true を返し、そうでなければ false を返します。 expression に基づいてアクションを選択するにはこれを使用してください。デフォルトでは None はボタンを無効化するアクションとして使用可能なことに気をつけてください。
- InvertSelected(action) link
与えられたアクションの選択状態を反転し、それ以外のメソッドはそのままにします。
- MouseMove(x, y, duration=0) link
マウスポインターを x, y に移動します。デバイスがマウスポインターをサポートしなければ、 Ren'Py はポインターを動かせません。また
"automatic move" preference
が False ならこれは何もしません。- duration
移動処理にかける秒数です。この時間の間はマウスが反応しません。
- Notify(message) link
renpy.notify()
を使用して message を表示します。
- OpenDirectory(directory) link
ファイルブラウザーで directory を開きます。 directory は config.basedir に対する相対指定です。
- OpenURL(url) link
url をウェブブラウザーで開きます。
- QueueEvent(event, up=False) link
指定されたイベントを
renpy.queue_event()
を使用してキューします。
- RestartStatement() link
このアクションは Ren'Py を現在のステートメント以前にロールバックし、現在ステートメントをやりなおします。永続データの変更がそのステートメントによる表示に影響を与えるときこれは使われるでしょう。
メニューコンテキストで実行されると、プレイヤーがトップレベルコンテキストに戻るまでロールバックを待ちます。
- RollForward() link
ロールフォワードが可能な場合、ロールフォワードを実行します。そうでなければ無効です。
- Rollback(*args, force='menu', **kwargs) link
ロールバックが可能な場合、ロールバックを実行します。そうでなけれ何も起こりません。
引数は
renpy.rollback()
に与えられます。これにはデフォルトでは "menu" となる force 引数が含まれます。
- RollbackToIdentifier(identifier) link
identifier へのロールバックを実行します。ロールバック identifier は HistoryEntry オブジェクトの一部として返されます。
- Screenshot() link
スクリーンショットを撮ります。
- Scroll(id, direction, amount='step', delay=0.0) link
bar や viewport, vpgrid をスクロールします。
- id
現在のスクリーンの bar や viewport, vpgrid の id です。
- direction
vbar に対しては "increase" または "decrease" のどれかです。 viewport や vpgrid に対しては "horizontal increase", "vertical increase", "horizontal decrease", "vertical decrease" のいずれかです。
- amount
スクロール量です。これはピクセル数または "step", "page" です。
- delay
0 でなければ、この秒数を書けてスクロールがアニメーションされます。
- SelectedIf(action, /) link
これはアクションリストでボタンが選択中かの判定に使用されるアクションを明示します。これは次のようにボタンがアクションリストを持つときのみ意味を持ちます。
# The button is selected only if mars_flag is True textbutton "Marsopolis": action [ SelectedIf(SetVariable("mars_flag", True)), SetVariable("on_mars", True) ]
Selectedif ないのアクションは通常ボタンがクリックされると実行されます。
- SensitiveIf(action, /) link
これはアクションリストでボタンが有効かの判定に使用されるアクションを明示します。これは次のようにボタンがアクションリストを持つときのみ意味を持ちます。
# The button is sensitive only if mars_flag is True textbutton "Marsopolis": action [ SensitiveIf(SetVariable("mars_flag", True)), SetVariable("on_mars", True) ]
Sensitiveif 内のアクションは通常ボタンがクリックされると実行されます。
- Skip(fast=False, confirm=False) link
ゲームのスキップを開始します。 menu コンテキストの内部にいる場合はゲームに戻ってから開始し、それ以外の場合は単にスキップを開始します。
- fast
True なら次の選択肢まで直接スキップします。
- confirm
True ならスキップを開始する前に確認します。
- With(transition) link
transition を実行します。
このドキュメントの他のページでは Language
や Replay
, EndReplay
, gui.SetPreference
, gui.TogglePreference
, StylePreference
, voice actions のような他のアクションも参照可能です。
他のアクションも Action
クラスを使用して作成できます。
Bar Values link
Bar Value はバーに使用してバーの値を設定し、バーがプロパティーを調整できるようにします。新しい bar value を作成するには BarValue
サブクラスを作成します。 step キーワードを持つすべてのクラスは ui.adjustment()
で記述されたように振る舞う force_step キーワードも受け取ります。
- AnimatedValue(value=0.0, range=1.0, delay=1.0, old_value=None) link
これはアニメーション用の value で、 delay 秒かけて old_value から value に変化します。
- value
値の数字です。
- range
値の範囲の数字です。
- delay
value をアニメーションするための秒数で、デフォルトでは 1.0 です。
- old_value
元の値です。これが None であれば、値は置き換えた AnimatedValue から受け取られます。それ以外の場合は value に初期化されます。
- AudioPositionValue(channel='music', update_interval=0.1) link
channel で再生しているオーディオファイルの再生位置を示す値です。
- update_interval
しばしば値は秒毎に更新されます。
- DictValue(dict, key, range=None, max_is_zero=False, style='bar', offset=0, step=None, action=None, force_step=False, min=None, max=None) link
ユーザーが辞書のあるキーやリストの特定のインデックスの値を調整出来るようにする value です。
- dict
辞書またはリストです。
- key
キーまたはリストに使用するインデックスです。
- range
調整範です。 max と min が指定されていない場合は、これを指定する必要があります。
- max_is_zero
True ならそのキーまたインデックスの値が 0 の時にこのバーの値は range となり、それ以外の値では 1 まで上がっていきます。これはバーが最大に設定されるか、そのキーまたインデックスの値が 0 に設定されるかの両方の方法で動作します。
これはいくつかの preferences の内部で使用されています。
- style
作成されるバーのスタイル
- offset
値に加えられるオフセット
- step
バーが変更する量。 None の場合、デフォルトでバーの10分の1です。
- action
None でなければキーまたインデックスが変更されたとき呼び出されるアクションです。
- min
バーの最小値です。 min と max の両方が与えられた場合、 range と offset はそれらから算出されます。
- max
バーの最大値です。 min と max の両方が与えられた場合、 range と offset はそれらから算出されます。
- FieldValue(object, field, range=None, max_is_zero=False, style='bar', offset=0, step=None, action=None, force_step=False, min=None, max=None) link
ユーザーがオブジェクトのフィールドの値を調整できるようにする bar value です。
- object
オブジェクト
- field
フィールド名の文字列
- range
調整範です。 max と min が指定されていない場合は、これを指定する必要があります。
- max_is_zero
True ならフィールドが 0 の時にこのバーの値は range となり、それ以外の値では 1 まで上がっていきます。これはバーが最大に設定されるか、フィールドが 0 に設定されるかの両方の方法で動作します。
これはいくつかの preferences の内部で使用されています。
- style
作成されるバーのスタイル
- offset
値に加えられるオフセット
- step
バーが変更する量。 None の場合、デフォルトでバーの10分の1です。
- action
None でなければ field が変更されたとき呼び出されるアクションです。
- min
バーの最小値です。 min と max の両方が与えられた場合、 range と offset はそれらから算出されます。
- max
バーの最大値です。 min と max の両方が与えられた場合、 range と offset はそれらから算出されます。
- LocalVariableValue(variable, range=None, max_is_zero=False, style='bar', offset=0, step=None, action=None, force_step=False, min=None, max=None) link
use
で使用されているスクリーンの変数の値を調整する bar valueです。トップレベル screen の変数を対象にするには
ScreenVariableValue()
を使用してください。詳細は Use を参照してください。
これはその変数が設定されるコンテキストで作成される必要があり、他からは渡せません。
- variable
調整する変数の名前の文字列
- range
調整範です。 max と min が指定されていない場合は、これを指定する必要があります。
- max_is_zero
True ならローカル変数の値が 0 の時にこのバーの値は range となり、それ以外の値では 1 にまで上がっていきます。これはバーが最大に設定されるか、ローカル変数の値が 0 に設定されるかの両方の方法で動作します。
これはいくつかの preferences の内部で使用されています。
- style
作成されるバーのスタイル
- offset
値に加えられるオフセット
- step
バーが変更する量。 None の場合、デフォルトでバーの10分の1です。
- action
None でなければローカル変数が変更されたとき呼び出されるアクションです。
- min
バーの最小値です。 min と max の両方が与えられた場合、 range と offset はそれらから算出されます。
- max
バーの最大値です。 min と max の両方が与えられた場合、 range と offset はそれらから算出されます。
- MixerValue(mixer) link
オーディオミキサーの value です。
- mixer
調整するミキサーの名前です。これは通常「main」か「music」、「sfx」、「voice」です。詳細は Volume を参照してください。
- ScreenVariableValue(variable, range=None, max_is_zero=False, style='bar', offset=0, step=None, action=None, force_step=False, min=None, max=None) link
スクリーン変数の値を調整する bar valueです。
use
で使用されているスクリーン内では、これはそのスクリーンを含んでいるスクリーンのコンテキストでその変数を設定します。使用されているスクリーン内の変数を設定する場合のみLocalVariableValue()
を代わりに使用してください。- variable
調整する変数の名前の文字列
- range
調整範です。 max と min が指定されていない場合は、これを指定する必要があります。
- max_is_zero
True ならスクリーン変数の値が 0 の時にこのバーの値は range となり、それ以外の値では 1 にまで上がっていきます。これはバーが最大に設定されるか、スクリーン変数の値が 0 に設定されるかの両方の方法で動作します。
これはいくつかの preferences の内部で使用されています。
- style
作成されるバーのスタイル
- offset
値に加えられるオフセット
- step
バーが変更する量。 None の場合、デフォルトでバーの10分の1です。
- action
None でなければスクリーン変数が変更されたとき呼び出されるアクションです。
- min
バーの最小値です。 min と max の両方が与えられた場合、 range と offset はそれらから算出されます。
- max
バーの最大値です。 min と max の両方が与えられた場合、 range と offset はそれらから算出されます。
- StaticValue(value=0.0, range=1.0) link
指定した値に固定します。
- value
値の数字です。
- range
値の範囲
- VariableValue(variable, range=None, max_is_zero=False, style='bar', offset=0, step=None, action=None, force_step=False, min=None, max=None) link
ユーザーがデフォルト store の変数の値を調整出来るようにする bar value です。
- variable
variable 引数は文字列でなければならず、 "strength" のような単純な名前や "hero.strength" や "persistent.show_cutscenes" のようなフィールドからドットで分けられた変数のような名前が可能です。
- range
調整範です。 max と min が指定されていない場合は、これを指定する必要があります。
- max_is_zero
True なら変数の値が 0 の時にこのバーの値は range となり、それ以外の値では 1 にまで上がっていきます。これはバーが最大に設定されるか、変数の値が 0 に設定されるかの両方の方法で動作します。
これはいくつかの preferences の内部で使用されています。
- style
作成されるバーのスタイル
- offset
値に加えられるオフセット
- step
バーが変更する量。 None の場合、デフォルトでバーの10分の1です。
- action
None でなければ変数が変更されたとき呼び出されるアクションです。
- min
バーの最小値です。 min と max の両方が与えられた場合、 range と offset はそれらから算出されます。
- max
バーの最大値です。 min と max の両方が与えられた場合、 range と offset はそれらから算出されます。
- XScrollValue(viewport) link
現在のスクリーンの指定された id の viewport の水平方向スクロールを調整する value です。その viewport はこの value のバーの定義前に定義されなければいけません。
- YScrollValue(viewport) link
現在のスクリーンの指定された id の viewport の垂直方向スクロールを調整する value です。その viewport はこの value のバーの定義前に定義されなければいけません。
Input Values link
Input Value はテキスト入力で使用され、デフォルトのテキストを設定し、テキストの変更を受け付け、エンターキーに反応し、テキストがデフォルトで編集可能かどうか設定します。新しい input value を作成するには InputValue
のサブクラスを作成してください。
Ren'Py 定義の input value は InputValue を継承していて、すべての value は編集を有効、無効、トグルするアクションを返す Enable(), Disable(), Toggle() メソッドを含んでいます。 DisableAllInputValues()
アクションも参照してください。
- DictInputValue(dict, key, default=True, returnable=False) link
dict[key]
を更新する input value です。- dict
辞書またはリストのはずです。
- default
True ならこの input はデフォルトで変更可能です。
- returnable
True なら、ユーザーがエンターを押すと、この入力の値が返されます。
- FieldInputValue(object, field, default=True, returnable=False) link
object の field を更新する input value です。
- field
フィールドの名前の文字列
- default
True ならこの input はデフォルトで変更可能です。
- returnable
True なら、ユーザーがエンターを押すと、この入力の値が返されます。
- FilePageNameInputValue(pattern='Page {}', auto='Automatic saves', quick='Quick saves', page=None, default=False) link
ファイルページの名前を更新する input value です。
- pattern
ページのデフォルト名に使用されます。 Python スタイル置換で処理され、 {} がページ番号で置き換えられます。
- auto
オートセーブページの名前です
- quick
クイックセーブページの名前です
- page
表示するページの数字です。現在のページを指定するなら None のままにします。
- default
True ならこの input はデフォルトで変更可能です。
- LocalVariableInputValue(variable, default=True, returnable=False) link
use
で使用されているスクリーンのローカル変数を更新する input value です。トップレベル screen の変数を対象にするには
ScreenVariableInputValue()
を使用してください。詳細は Use を参照してください。
これはその変数が設定されるコンテキストで作成される必要があり、他からは渡せません。
- variable
更新する変数の名前の文字列
- default
True ならこの input はデフォルトで変更可能です。
- returnable
True なら、ユーザーがエンターを押すと、この入力の値が返されます。
- ScreenVariableInputValue(variable, default=True, returnable=False) link
スクリーンの変数を更新する input value です。
use
で使用されているスクリーン内では、これははそのスクリーンを含んでいるスクリーンのコンテキストでその変数を設定します。使用されているスクリーン内の変数を設定する場合のみLocalVariableInputValue()
を代わりに使用してください。- variable
更新する変数の名前の文字列
- default
True ならこの input はデフォルトで変更可能です。
- returnable
True なら、ユーザーがエンターを押すと、この入力の値が返されます。
- VariableInputValue(variable, default=True, returnable=False) link
variable を更新する input value です。
- variable
更新する変数の名前の文字列
variable 引数は文字列でなければならず、 "strength" のような単純な名前や "hero.strength" や "persistent.show_cutscenes" のようなフィールドからドットで分けられた変数のような名前が可能です。
- default
True ならこの input はデフォルトで変更可能です。
- returnable
True なら、ユーザーがエンターを押すと、この入力の値が返されます。
関数とクラス link
これらの関数やクラスはスクリーンと連携させると便利です。
Preferences link
すべての preference は上記のアクションや value で定義できますが、正しく使用するためにはある程度の Ren'Py の知識が必要です。 preference のコンストラクターは、デフォルトの設定画面で使用される名前に基づき適切なアクションや value を作成してこれを簡単にします。
- Preference(name, value=None, range=None) link
これは設定に適切なアクションや値を構築します。設定の name は標準のメニューで使用される名前であるべきで、値は選択の名前、選択をトグルする「 toggle 」、特定の値のいずれかで、ボタン以外ならばいりません。
button や hotspot で使用されるアクション :
Preference("display", "fullscreen") - フルスクリーンモードで表示する。
Preference("display", "window") - 1倍のノーマルサイズでウィンドウモードを表示する。
Preference("display", 2.0) - 2倍のノーマルサイズでウィンドウモードを表示する。
Preference("display", "any window") - 以前のサイズでウィンドウモードを表示します。
Preference("display", "toggle") - 表示モードをトグルする。
Preference("transitions", "all") - すべてのトランジションを表示する。
Preference("transitions", "none") - トランジションを表示しない。
Preference("transitions", "toggle") - トランジションの表示をトグルする。
Preference("video sprites", "show") - すべてのビデオスプライトを表示する
Preference("video sprites", "hide") - 可能ならビデオスプライトを画像で代用します。
Preference("video sprites", "toggle") - ビデオスプライトの表示をトグルします。
Preference("show empty window", "show") - "window show"、"window auto" ステートメントを許可し、say ステートメント以外の場所で空のウィンドウを表示できるようにします。
Preference("show empty window", "hide") - 上の処理を無効化します。
Preference("show empty window", "toggle") - 上の処理を切り替えます。
Preference("text speed", 0) - テキストを瞬間表示にする
Preference("text speed", 142) - テキストの表示スピードを1秒で142文字にする。
Preference("joystick") - ジョイスティックの設定を表示する。
Preference("skip", "seen") - 既読のメッセージのみスキップする。
Preference("skip", "all") - 未読のメッセージもスキップする。
Preference("skip", "toggle") - 既読スキップと未読スキップをトグルする。
Preference("begin skipping") - スキップを開始する。
Preference("after choices", "skip") - 選択肢後もスキップを続ける。
Preference("after choices", "stop") - 選択肢後はスキップを停止する。
Preference("after choices", "toggle") - 選択肢後のスキップ継続をトグルする。
Preference("auto-forward time", 0) - 自動進行の待ち時間を無限大にします。
Preference("auto-forward time", 10) - 自動進行の ( 250 文字ごとの ) 待ち時間です。
Preference("auto-forward", "enable") - 自動進行を有効化する。
Preference("auto-forward", "disable") - 自動進行を無効化する。
Preference("auto-forward", "toggle") - 自動進行をトグルする。
Preference("auto-forward after click", "enable") - クリック後も自動進行モードを維持します。
Preference("auto-forward after click", "disable") - クリック後に自動進行モードを無効化します。
Preference("auto-forward after click", "toggle") - クリック後に自動進行を切り替えます。
Preference("automatic move", "enable") -
MouseMove()
アクションを使用したマウス自動移動を有効化します。Preference("automatic move", "disable") -
MouseMove()
アクションを無効化します。Preference("automatic move", "toggle") - マウス自動移動をトグルします。
Preference("wait for voice", "enable") - 現在再生中のボイスが完了するまで自動進行を待機します。
reference("wait for voice", "disable") - 現在再生中のボイスの完了を待たずに自動進行を開始します。
reference("wait for voice", "toggle") - ボイス待ち状態をトグルします。
Preference("voice sustain", "enable") - 現在のインタラクション終了後もボイス再生を継続する。
Preference("voice sustain", "enable") - 現在のインタラクションの終了後もボイスを停止しません。
Preference("voice sustain", "enable") - インタラクションのボイス停止をトグルします。
Preference("music mute", "enable") - ミュージックミキサーをミュートにする。
Preference("music mute", "disable") - ミュージックミキサーのミュートを解除する。
Preference("music mute", "toggle") - ミュージックのミュートをトグルする。
Preference("sound mute", "enable") - 効果音ミキサーをミュートにする。
Preference("sound mute", "disable") - 効果音ミキサーのミュートを解除する。
Preference("sound mute", "toggle") - 効果音のミュートをトグルする。
Preference("voice mute", "enable") - ボイスミキサーをミュートにする。
Preference("voice mute", "disable") - ボイスミキサーのミュートを解除する。
Preference("voice mute", "toggle") - ボイスミキサーのミュートをトグルする。
Preference("mixer <mixer> mute", "enable") - 指定のミキサーをミュートにする。.
Preference("mixer <mixer> mute", "disable") - 指定のミキサーのミュートを解除します。
Preference("mixer <mixer> mute", "toggle") - 指定のミキサーのミュートをトグルする。
Preference("all mute", "enable") - すべてのミキサーをミュートにします。
Preference("all mute", "disable") - すべてのミキサーのミュートを解除します。
Preference("all mute", "toggle") - すべてのミキサーのミュートをトグルします。
Preference("main volume", 0.5) - メインのボリュームを設定します。
Preference("music volume", 0.5) - 曲のボリュームを設定する。
Preference("sound volume", 0.5) - 効果音のボリュームを設定する。
Preference("voice volume", 0.5) - ボイス音量を設定します。
Preference("mixer <mixer> volume", 0.5) - 特定のミキサーのボリュームを設定する。
Preference("emphasize audio", "enable") -
config.emphasize_audio_channels
にあるオーディオチャンネルを強調します。Preference("emphasize audio", "disable") - オーディオチャンネルを強調しません。
Preference("emphasize audio", "toggle") - オーディオチャンネルの強調をトグルします。
Preference("self voicing", "enable") - セルフボイシングを有効化します。
Preference("self voicing", "disable") - セルフボイシングを無効化します。
Preference("self /voicing", "toggle") - セルフボイシングをトグルします。
Preference("self voicing volume drop", 0.5) - ボイス以外のミキサー音量をセルフボイシング有効時下げます。
Preference("auto-forward", "enable") - 自動進行を有効化する。
Preference("clipboard voicing", "disable") - クリップボードボイシングを無効化する。
Preference("clipboard voicing", "toggle") - クリップボードボイシングをトグルする。
Preference("debug voicing", "enable") - セルフボイシングデバッグの有効状態をトグルします。
Preference("debug voicing", "disable") - セルフボイシングのデバッグを無効化します。
Preference("debug voicing", "toggle") - セルフボイシングのデバッグの有効無効をトグルします。
Preference("rollback side", "left") - スクリーンの左側へのタッチでロールバックします。
Preference("rollback side", "right") スクリーンの右側へのタッチでロールバックします。
Preference("rollback side", "disable") - スクリーンへのタッチでロールバックしません。
Preference("gl powersave", True) - 電力節約のため、フレームレートを低下させます。
Preference("gl powersave", False) - 電力節約のため、フレームレートを低下させません。
Preference("gl framerate", None) - ディスプレイのフレームレートで実行します。
Preference("gl framerate", 60) - 指定したフレームレートで実行します。
Preference("gl tearing", True) - フレームをスキップせずテアリングを発生させます。
Preference("gl tearing", False) - フレームをスキップしてテアリングを防ぎます。
Preference("font transform", "opendyslexic") - ゲーム内のフォントを opendyslexic に設定します。
Preference("font transform", "dejavusans") -ゲーム内のフォントを dejavusans に設定します。
Preference("font transform", None) - ゲーム内のフォントを無効にします。
Preference("font size", 1.0) - ゲーム内のフォントのサイズのスケーリング率を設定します。
Preference("font line spacing", 1.0) - ゲーム内のフォントの行間スペースのスケーリング率を設定します。
Preference("system cursor", "disable") -
config.mouse
やconfig.mouse_displayable
で定義したカーソルを使用します。Preference("system cursor", "enable") -
config.mouse
を無視してシステムカーソルを使用します。Preference("system cursor", "toggle") - システムカーソルの設定をトグルします。
Preference("high contrast text", "enable") - 黒い背景に白いテキスト表示をします。
Preference("high contrast text", "disable") - ハイコントラストテキストを有効化します。
Preference("high contrast text", "toggle") - ハイコントラストテキストの有効状態をトグルします。
Preference("audio when minimized", "enable") - ウィンドウが最小化されても再生を続けます。
Preference("audio when minimized", "disable") - ウィンドウが最小化されると再生を停止します。
Preference("audio when minimized", "toggle") - ウィンドウが最小化したときの再生の可否をトグルします。
Preference("audio when unfocused", "enable") - ウィンドウがフォーカスを失っても再生を続けます。
Preference("audio when unfocused", "disable") - ウィンドウがフォーカスを失ったら再生を停止します。
Preference("audio when unfocused", "toggle") - ウィンドウがフォーカスを失ったときの再生可否をトグルします。
Preference("web cache preload", "enable") - ウェブキャッシュのプリロードを行います。
Preference("web cache preload", "disable") - ウェブキャッシュのプリロードを行わず、プリロードデータは削除されます。
Preference("web cache preload", "toggle") - ウェブキャッシュのプリロード有無をトグルします。
Preference("voice after game menu", "enable") - ゲームメニューに入ったときにボイスの再生を続けます。
Preference("voice after game menu", "disable") - ゲームメニューに入ったときにボイスの再生を停止します。
Preference("voice after game menu", "toggle") - ゲームメニューに入ったときにボイスの再生を続けるかトグルします。
Preference("restore window position", "enable") - ゲーム開始時にウィンドウ位置を復元します。
Preference("restore window position", "disable") - ゲーム開始時にウィンドウ位置を復元しません。
Preference("restore window position", "toggle") - ゲーム開始時にウィンドウ位置を復元するかをトグルします。
バーで使用される value :
Preference("text speed")
Preference("auto-forward time")
Preference("main volume")
Preference("music volume")
Preference("sound volume")
Preference("voice volume")
Preference("mixer <mixer> volume")
Preference("self voicing volume drop")
Preference("font size")
Preference("font line spacing")
range パラメーターは特定のバーの範囲を指定するために使われます。 "text speed" に対しては、デフォルトで 200 cps です。 "auto-forward time" に対してはデフォルトでテキストの一塊毎に 30.0 秒です (これらは最大値になり、デフォルト値にはなりません)。
button で使用されるアクション :
Preference("renderer menu") - レンダリングメニューを表示します。
Preference("accessibility menu") - アクセシビリティーメニューを表示します。
Preference("reset") - Preference をデフォルトにします。
これらのスクリーンは内部での使用が意図され、カスタマイズできません。
- GetCharacterVolume(voice_tag) link
ボイスタグに関連付けられたボリュームを、 voice チャンネル用のミキサーボリュームの音量に対する割合として0.0から1.0の数値で返します。
Gamepad link
これらの関数とアクションはゲームパッドで動作します。
- GamepadCalibrate() link
ゲームパッドの構成ルーチンを実施するアクションです。
- GamepadExists(developer=True) link
ゲームパッドがあれば True を、そうでなければ False を返す関数です。
- developer
config.developer
が True である間常に True を返します。
ファイル関数 link
これらの関数は通常ファイルについての情報を返し、ファイルアクション同様のデフォルトページを使用します。
- FileCurrentPage() link
現在のファイルページを文字列で返します。
- class FileCurrentScreenshot(empty=None, **properties) link
スクリーンショットがメニューに入るか
FileTakeScreenshot()
で撮られていれば現在のファイルに保存されるスクリーンショットの displayable です。現在のスクリーンショットがない場合、その場所に empty を表示します。( empty が None の場合、デフォルトで
Null()
になります。)
- FileJson(name, key=None, empty=None, missing=None, page=None, slot=False) link
name の Json 情報にアクセスします。
これはそのスロットが空なら常に empty を返します。
そうでなく、かつ key が None なら Json データを含む辞書を返します。
そうではなく、そのセーブの json オブジェクトで key が定義されていればこれは json[key] を返し、指定された名前のセーブはあるが key をがないなら missing を返します。
config.save_json_callbacks
を使用して登録されたコールバックによりそのような Json はセーブスロットに追加されます。デフォルトでは、以下のキーが定義されています :
- _save_name
ゲームが保存されたときの
save_name
の値- _renpy_version
セーブが作成された Ren'Py のバージョン
- _version
セーブが作成されたときの
config.version
の値- _game_runtime
renpy.get_game_runtime()
を呼び出したときの結果です。- _ctime
セーブが作成された時間の1970/1/1 UTCからの秒数です。The time the save was created, in seconds since January 1, 1970, UTC.
- FileLoadable(name, page=None, slot=False) link
これはファイルがロード可能であれば True を、それ以外の場合は False を返します。
- FileNewest(name, page=None, slot=False) link
これが最も新しいファイルスロットであれば True を返し、それ以外の場合は False を返します。
- FilePageName(auto='a', quick='q') link
現在のファイルページの名前を文字列で返します。通常のページであればページ数を返し、それ以外であれば auto か quick です。
- FileSaveName(name, empty='', page=None, slot=False) link
ファイルがセーブされたときの save_name かファイルが存在しなければ empty を返します。
- FileScreenshot(name, empty=None, page=None, slot=False) link
与えられたファイルに対応するスクリーンショットを返します。ファイルがロード不能なとき、None でなければ empty が返され、None であれば Null displayable が作成されます。
返す値は displayable です。
- FileSlotName(slot, slots_per_page, auto='a', quick='q', format='%s%d') link
番号付けされたスロットの名前を返します。当然のことですが、通常のページのスロットは 1 から始まる連番で、ページ番号は 1 から始まります。スロットが 2、slots_per_page が 10、その他の変数が既定値の時:
最初のページが表示されていると、これは「2」を返します。
2番目のページが表示されていると、「12」を返します。
オートページが表示されていると、「a2」を返します。
クイックページが表示されていると、「q2」を返します。
- slot
アクセスするスロットの番号
- slots_per_page
ページごとのスロット数
- auto
オートページ用の接頭辞
- quick
クイックページ用の接頭辞
- format
フォーマットコードです。これは二つの引数を受け取ります。 : ページ接頭辞の文字列と、スロット番号の整数です。
- FileTime(name, format='%b %d, %H:%M', empty='', page=None, slot=False) link
ファイルがセーブされた時間を、与えられた format に適用して返します。ファイルが見つからなければ、 empty が返されます。
返される値は文字列です。
- FileUsedSlots(page=None, highest_first=True) link
そのページの使用済みファイルスロットのリストを返します。
- page
探索されるページの名前です。 None の場合は現在のページが使用されます。
- highest_first
True の場合、数字の大きなファイルスロットから最初にリストアップされます。そうでなけらば小さな数字のスロットから最初にリストアップされます。
サイドイメージ関数 link
この関数は使用するサイドイメージを返します。
- SideImage() link
現在話しているキャラクターに対応するサイドイメージか、そのようなサイドイメージが存在しない場合は Null displayable を返します。
その他の関数 link
- CurrentScreenName() link
現在のスクリーン名または現在のスクリーンがなければ None を返します。 use スクリーンによって含まれたスクリーンの場合、これは含まれているスクリーンの名前ではなく、含んでいる側のスクリーン名を返します。
Tooltip link
すべての displayable と GetTooltip 関数に対し利用可能な tooltip
プロパティーからTooltips にアクセス可能になりました。 GetTooltip 関数はある displayable がフォーカスを得たとき、その tooltip プロパティーの値を返します。
注意して欲しいのですが、 tooltip
プロパティーに渡された値は等号をサポートしなければいけません。
例
screen tooltip_example():
vbox:
textbutton "North":
action Return("n")
tooltip "To meet a polar bear."
textbutton "South":
action Return("s")
tooltip "All the way to the tropics."
textbutton "East":
action Return("e")
tooltip "So we can embrace the dawn."
textbutton "West":
action Return("w")
tooltip "Where to go to see the best sunsets."
$ tooltip = GetTooltip()
if tooltip:
text "[tooltip]"
Nearrect Displayable は「ポップアップスタイル」のツールチップを表示するために使用でき、特別な "tooltip" フォーカス名をサポートします。これはツールチップを設定した最後のフォーカス位置に設定されます
screen tooltip_example2():
frame:
padding (20, 20)
align (.5, .3)
has vbox
textbutton "North":
action Return("n")
tooltip "To meet a polar bear."
textbutton "South":
action Return("s")
tooltip "All the way to the tropics."
textbutton "East":
action Return("e")
tooltip "So we can embrace the dawn."
textbutton "West":
action Return("w")
tooltip "Where to go to see the best sunsets."
# This has to be the last thing shown in the screen.
$ tooltip = GetTooltip()
if tooltip:
nearrect:
focus "tooltip"
prefer_top True
frame:
xalign 0.5
text tooltip
- GetTooltip(screen=None, last=False) link
現在フォーカスを持つ displayable のツールチップを返し、フォーカスを持つ displayable がなければ None を返します。
- screen
None またはスクリーンの名前かタグです。指定されると、フォーカスを持つ displayable がそのスクリーンの一部であるときのみツールチップを返します。
- last
True なら、この関数が返した最後の None でない値を返します。
Legacy link
警告
これらは上述のものより旧来のものです。古いプロジェクトで見かけるでしょう。
Tooltip クラスはあるボタンの上にマウスが入ると、スクリーンを変更します。
- class Tooltip(default) link
Tooltip オブジェクトはマウスがあるエリアに入ると更新されるスクリーンの一部を定義するために使用されます。
Tooltip オブジェクトは
value
フィールドを持ち、これは Tooltip アクションが作成されるときにコンストラクターに渡される default の値に設定されます。Tooltip により作成されたアクションを使用するボタンにマウスが入ると、 value フィールドはその Action に対応する値に変わります。- Action(value) link
通常ボタンの hovered プロパティーに使用されるアクションを返します。そのボタンがフォーカスを持つと、この Tooltip の value フィールドは value に設定されます。ボタンがフォーカスを失うとこの Tooltip の value フィールドはデフォルトに戻ります。
あるスクリーンで Tooltip を使用するとき、通常 default ステートメントで Tooltip オブジェクトを作成します。 Tooltip とその Action メソッドの value はスクリーンに使用されます。スクリーンでの使用順は問題にはなりません。 - Action の前に値を利用することも可能です。
Tooltip はどんな値も受け取れます。以下の例ではスクリーンに文字を表示するため text ステートメントを使用していますが、 add ステートメントによって displayable を追加することも可能です。さらに複雑な動作も可能です。
screen tooltip_test:
default tt = Tooltip("No button selected.")
frame:
xfill True
has vbox
textbutton "One.":
action Return(1)
hovered tt.Action("The loneliest number.")
textbutton "Two.":
action Return(2)
hovered tt.Action("Is what it takes.")
textbutton "Three.":
action Return(3)
hovered tt.Action("A crowd.")
text tt.value