Ren’Py帶來了一大堆行為、值和函數,與界面和界面語言協同作用。
(譯者註:在2021年3月之前,action翻譯為“動作”。於2021年4月起,action修改為“行為函數”或“行為”。)
當某個按鈕(包括圖片按鈕、文本按鈕和hotspot按鈕)被啟動、被滑鼠懸停或失去滑鼠懸停狀態時,某個行為(action)就會被喚起。當某個按鈕被選中或者非啟用時,行為(action)就可能已經決定了。
與這些行為一樣,某個行為可以是一個不帶任何入參的函數。當行為被喚起時,對應的函數就會調用。如果那個行為返回某個值,返回的值就會傳到來源交互動作。
一個行為也可能是個行為(action)列表,列表內的行為會順序運行。
這些行為用於管理界面,交互結果和流程控制。
Call
(label, *args, **kwargs) link結束當前語句,並調用某個腳本標籤(label)。入參和關鍵字參數會傳給 renpy.call()
。
Hide
(screen, transition=None) link如果名為 screen 的界面已經顯示,則隱藏這個界面。
Jump
(label) link觸發主控流程轉到腳本標籤 label 處。
NullAction
(*args, **kwargs) link不做任何事。
可以用作某個按鈕的“滑鼠懸停/滑鼠離開”事件響應,不執行任何行為。
Return
(value=None) link使用提供的值返回給當前的互動行為,提供的值不可以為None。常用於菜單和imagemap,用來選擇交互行為的返回值。如果使用的是 call screen
語句調用界面,返回值就會放置在 _return 變數中。
如果出現在某個菜單中,值會返回給來源菜單。(這種情況下就需要返回None。)
Show
(screen, transition=None, *args, **kwargs) link觸發另一個界面的顯示。 screen 是給定待顯示的界面名。入參會傳給正在顯示的界面。
如果 transition 非空,則會用作新界面顯示時的轉場效果。
ShowTransient
(screen, transition=None, *args, **kwargs) link顯示一個臨時界面。臨時界面會在當前交互完成後隱藏。入參會傳給當前顯示的界面。
如果 transition 非空,則會用作新界面顯示時的轉場效果。
ToggleScreen
(screen, transition=None, *args, **kwargs) link切換界面的可視性。如果某個界面當前沒有顯示,則會使用提供的入參顯示那個界面。相反,則隱藏那個界面。
如果 transition 非空,則會用作新界面顯示時的轉場效果。
這些行為設置或者切換數據。
AddToSet
(set, value) link將 value 添加到 set 中。
RemoveFromSet
(set, value) link將 value 從 set 中移除。
SetDict
(dict, key, value) link將字典型數據 dict 中鍵值 key 對應的值設置為 value 。
SetField
(object, field, value) link將某個對象的欄位(field)設置為給定的值。 object 是目標對象, field 是待設置的欄位名稱的字串, value 是需要設置成的值。
SetLocalVariable
(name, value) link將指定的變數 name 設置為當前本地上下文中的值 value。
只有在某個界面(screen)被另一個場景(scene)使用的情況,才會用到該函數。其提供了一種方法,可以設置界面使用變數的值。
在其他需要修改變數值的情況下,推薦使用 SetScreenVariable()
,那可以快取更多的界面數據。
該函數能賦值的變數僅限當前上下文中創建——其他地方創建的變數不能通過該函數進行設置和傳遞。
SetScreenVariable
(name, value) link將與當前界面關聯的變數 name 值設置為 value 。
SetVariable
(variable, value) link將變數 variable 設置為 value 。
ToggleDict
(dict, key, true_value=None, false_value=None) link切換 dict 中鍵 key 的值。“切換”的意思是,當對應的行為執行後,原布爾值取反。
ToggleField
(object, field, true_value=None, false_value=None) link切換 object 上 field 的值。“切換”的意思是,當對應的行為執行後,原欄位(field)上所有布爾值取反。
ToggleLocalVariable
(name, true_value=None, false_value=None) link切換當前本地上下文中 name 的值。
只有在某個界面(screen)被另一個場景(scene)使用的情況,才會用到該函數。其提供了一種方法,可以設置界面使用變數的值。
在其他需要修改變數值的情況下,推薦使用 ToggleScreenVariable()
,那可以快取更多的界面數據。
該函數能賦值的變數僅限當前上下文中創建——其他地方創建的變數不能通過該函數進行設置和傳遞。
ToggleScreenVariable
(name, true_value=None, false_value=None) link切換當前界面變數 name 的值。
ToggleSetMembership
(set, value) link切換集 set 中 value 的成員。如果對應的值在集裡不存在,會添加那個值到集合中。否則,就會移動那個值。
帶有這個行為的按鈕會被標記為被選中(selected)狀態,僅當那個值存在於集 set 中。
ToggleVariable
(variable, true_value=None, false_value=None) link切換 variable 。
這些行為會處理文件的保存、讀取和刪除。其中很多都是用 name 和 page 入參。
FileAction
(name, page=None, **kwargs) link對文件“進行正確操作”。這意味著在load界面顯示時進行文件讀取操作,相反在save界面顯示時進行文件保存操作。
其他關鍵字入參會傳給FileLoad或者FileSave。
FileDelete
(name, confirm=True, page=None) link刪除文件。
FileLoad
(name, confirm=True, page=None, newest=True) link讀取文件。
FilePage
(page) link將文件頁面設置為 page ,其可以是“auto”、“quick”或一個整數。
FilePageNext
(max=None, wrap=False) link前往下一個文件頁面(page)。
FilePagePrevious
(max=None, wrap=False) link前往上一個文件頁面,前提是上一個頁面存在的話。
FileSave
(name, confirm=True, newest=True, page=None, cycle=False) link保存文件。
帶槽位的按鈕被選中,如果其被標記為最新存檔文件。
config.quicksave_slots
配置了循環使用的槽位。FileTakeScreenshot
(*args, **kwargs) link當遊戲存檔時,截取螢幕快照並使用。通常使用存檔界面顯示之前的界面截圖,用作存檔的快照。
QuickLoad
(confirm=True) link快速讀檔。
QuickSave
(message=u'Quick save complete.', newest=False) link快速存檔。
PauseAudio
(channel, value=True) link音訊通道 channel 設置暫停標識(flag)。
如果 value 為True,通道channel會暫停。相反,通道channel會從暫停恢復。如果值為“toggle”,暫停標識會進行切換,即布爾值進行“邏輯非”操作。
Play
(channel, file, selected=None, **kwargs) link在指定通道(channel)播放一個音訊檔案。
其他關鍵字參數會被傳給 renpy.music.play()
。
Queue
(channel, file, **kwargs) link在給定的通道上將音訊檔案隊列化。
其他關鍵字參數會被傳給 renpy.music.queue()
。
SetMixer
(mixer, volume) link將 mixer 的音量設置為 value 。
SetMute
(mixer, mute) link將一個或多個混合器設置為靜音狀態。當混合器靜音時,與混合器關聯的音訊通道會停止播放音訊。
Stop
(channel, **kwargs) link停用某個音訊通道。
關鍵字參數會傳給 :func:renpy.music.stop()。
ToggleMute
(mixer) link切換混合器的靜音狀態。
這些是其他地方找不到的一些行為。
Confirm
(prompt, yes, no=None, confirm_selected=False) link提示用戶進行確認的一種行為。如果用戶點擊了“是”,將執行 yes 行為。否則,執行 no 行為。
這個行為的可用性和可選擇性與 yes 行為相匹配。
DisableAllInputValues
() link禁用所有活動的輸入項。如果存在默認輸入項的話,它將重新獲得焦點。否則,任何輸入項都不會獲得焦點。
Function
(callable, *args, **kwargs) link這個行為會使用 args 和 kwargs 調用 callable 。
這個行為使用一個可選的 _update_screens 關鍵字參數,而且這個參數預設為True。參數為True時,函數返回後,互動行動會重新開始,各界面會更新。
如果函數返回一個非空值,互動行為會停止並返回那個值。(使用call screen語句得到的返回值放置在 _return 變數中。)
Help
(help=None) link顯示幫助。
如果定義過一個名為 help
的界面,使用 ShowMenu()
就可以顯示那個界面,並且 help 參數會被省略。
用於提供幫助的字串。其被用於以下兩種情況:
若 help 為None, config.help()
配置項會被用作預設值。
HideInterface
(*args, **kwargs) link隱藏用戶介面,直到出現用戶點擊事件。
If
(expression, true=None, false=None) link根據 expression 的結果選擇使用 true 或 false 的行為。這個函數用在基於某個表達式的結果選擇執行行為。注意入參的預設值None,也可以用作一個行為,禁用某個按鈕。
InvertSelected
(action) link該行為將提供行為的選項狀態反轉,可以應用在別的方法上。
MouseMove
(x, y, duration=0) link將滑鼠指針移動到坐標 x, y 。如果設備沒有滑鼠指針,或者_preferences.mouse_move的值是False,那什麼都不會發生。
Notify
(message) link使用 renpy.notify()
函數顯示 message 內容。
OpenURL
(url) link在web瀏覽器中打開 url 。
QueueEvent
(event, up=False) link使用 renpy.queue_event()
將給定的事件消息加入到事件隊列中。
RestartStatement
(*args, **kwargs) link這個行為會觸發Ren’Py回滾到當前語句之前,並再次執行當前語句。可以用在某些持久化變數改變後影響語句顯示效果的情況。
在菜單語境運行的話,等到用戶退出並回到上一層語境時才會執行回滾行為。
RollForward
(*args, **kwargs) link這個行為觸發前滾,前提是前滾可行。否則,該行為是禁用狀態。
Rollback
(*args, **kwargs) link這個行為觸發回滾,前提是回滾可行。否則,不會發生任何事。
入參將傳給 :func:renpy.rollback() 函數,除非參數 force 是預設值“menu”。
RollbackToIdentifier
(identifier) link這個行為觸發回滾至某個標識符(identifier)。回滾標識符會作為HistoryEntry對象的一部分返回。
Screenshot
(*args, **kwargs) link螢幕截圖。
Scroll
(id, direction, amount=u'step') linkSelectedIf
(expression) link這個行為允許某個表達式控制一個按鈕是否被標記為選中狀態。其應被用作包含一個或多個行為的列表的一部分。例如:
# 如果mars_flag為True時,按鈕會被選中
textbutton "Marsopolis":
action [ SelectedIf(SetVariable("mars_flag", True)), SetVariable("on_mars", True) ]
點擊按鈕後,在SeletedIf內部的行為會被正常執行。
SensitiveIf
(expression) link這個行為允許某個表達式控制一個按鈕是否被標記為可用狀態。其應被用作包含一個或多個行為的列表的一部分。例如:
# 如果mars_flag為True時,按鈕是可用的
textbutton "Marsopolis":
action [ SensitiveIf(SetVariable("mars_flag", True)), SetVariable("on_mars", True) ]
點擊按鈕後,在SensitiveIf內部的行為會被正常執行。
Skip
(fast=False, confirm=False) link觸發遊戲開始使用跳過(skipping)。如果遊戲處於菜單語境下,這個行為導致回到遊戲界面。否則,這個行為啟用跳過(skipping)。
With
(transition) link觸發 transition 生效。
條值與條(bar)一同使用,設置條(bar)的值,且允許條(bar)調整某個潛在特性。可以通過創建 BarValue
類的子類創建一個新的條值。
所有的BarValue類都有關鍵字 step ,也可以接受關鍵字 force_step ,具體情況詳見 ui.adjustment()
。
AnimatedValue
(value=0.0, range=1.0, delay=1.0, old_value=None) link將某個值序列化,使用 delay 秒的時間將 old_value 的值轉為 value 的值。
AudioPositionValue
(channel=u'music', update_interval=0.1) link顯示在 channel 通道播放音訊檔案播放位置的值。
DictValue
(dict, key, range, max_is_zero=False, style=u'bar', offset=0, step=None, action=None, force_step=False) link允許用戶使用字典型數據的鍵調整對應的值。
FieldValue
(object, field, range, max_is_zero=False, style=u'bar', offset=0, step=None, action=None, force_step=False) link允許用戶調整某個對象上欄位(field)的條(bar)值。
若為True,當鍵對應的值為0時,條(bar)值範圍會調整為從1到0,所有其他值都會被降低到1。同樣的,當條(bar)被設置成最大值時,欄位(filed)的值將設置為0。
這偏向於某些內部使用。
MixerValue
(mixer) link音訊混合器的值。
ScreenVariableValue
(variable, range, max_is_zero=False, style=u'bar', offset=0, step=None, action=None, force_step=False) link用於調整界面變數值的條(bar)值。
若為True,當鍵對應的值為0時,條(bar)值範圍會調整為從1到0,所有其他值都會被降低到1。同樣的,當條(bar)被設置成最大值時,variable的值將設置為0。
這偏向於某些內部使用。
StaticValue
(value=0.0, range=1.0) link這個行為允許某個值被指定為靜態。
VariableValue
(variable, range, max_is_zero=False, style=u'bar', offset=0, step=None, action=None, force_step=False) link允許用戶調整默認存儲區變數值的條(bar)值。
若為True,當鍵對應的值為0時,條(bar)值範圍會調整為從1到0,所有其他值都會被降低到1。同樣的,當條(bar)被設置成最大值時,variable的值將設置為0。
這偏向於某些內部使用。
XScrollValue
(viewport) link根據給定的id,在當前界面水平滾動視口(viewport)的可調整值。視口(viewport)必須在條(bar)值出現前定義。
YScrollValue
(viewport) link根據給定的id,在當前界面垂直滾動視口(viewport)的可調整值。視口(viewport)必須在條(bar)值出現前定義。
輸入(input)值與文本輸入一起使用,用於設置默認文本、接受改變文本、響應確認鍵、決定文本是否可編輯。要創建新的輸入(input)值,可以使用 InputValue
類的子類。
Ren’Py定義的輸入(input)值繼承自InputValue類,這意味著所有輸入值均含有Enable()、Disable()和Toggle()方法,分別執行啟用(enable)、禁用(disable)和切換編輯(toggle edit)行為。可以參考 DisableAllInputValues()
行為。
DictInputValue
(dict, key, default=True, returnable=False) link將字典 dict 中鍵 key 的值更新的輸入(input)值。
FieldInputValue
(object, field, default=True, returnable=False) link一個更新某個對象上欄位(field)值的輸入值。
FilePageNameInputValue
(pattern=u'Page {}', auto=u'Automatic saves', quick=u'Quick saves', page=None, default=False) link一個輸入值用於更新文件頁面(page)名。
ScreenVariableInputValue
(variable, default=True, returnable=False) link一個更新變數的輸入(input)值。
VariableInputValue
(variable, default=True, returnable=False) link一個更新變數的輸入(input)值。
這些函數和類在界面方面很有用。
所有環境設定都可以基於上面給出的行為Action和值Value來定義。這需要一些Ren’Py方面的知識,才能選擇正確的環境設定並運用。環境設定構造器(constructor)讓這件事變得簡單,通過創建一個行為或值,就能基於名稱應用在預設的環境設定界面上。
Preference
(name, value=None, range=None) link其從某項環境設定構造了合適的行為或者值。環境設定名稱應該是在變准菜單中出現的名稱,值應該是選項名、“toggle”輪詢選項、一個指定的值,或者按鈕的名稱。
可以與按鈕和熱區一起使用的行為如下:
- Preference(“display”, “fullscreen”) - 全螢幕模式顯示。
- Preference(“display”, “window”) - 窗口模式顯示,1倍大小。
- Preference(“display”, 2.0) - 窗口模式顯示,2倍大小。
- Preference(“display”, “any window”) - 用前一種窗口尺寸顯示。
- Preference(“display”, “toggle”) - 切換顯示模式。
- Preference(“transitions”, “all”) - 顯示所有轉場(transition)效果。
- Preference(“transitions”, “none”) - 不顯示轉場(transition)效果。
- Preference(“transitions”, “toggle”) - 切換轉場(transition)效果。
- Preference(“video sprites”, “show”) - 顯示所有影片精靈(sprite)。
- Preference(“video sprites”, “hide”) - 可能的話,將影片精靈(sprite)降格為圖片顯示。
- Preference(“video sprites”, “toggle”) - 切換圖像降格行為。
- Preference(“show empty window”, “show”) - 允許“window show”和“window auto”語句在say語句之外顯示一個空窗口。
- Preference(“show empty window”, “hide”) - 不允許“window show”和“window auto”語句在say語句之外顯示一個空窗口。
- Preference(“show empty window”, “toggle”) - 切換上面兩種情況。
- Preference(“text speed”, 0) - 文本立刻顯示。
- Preference(“text speed”, 142) - 設置文本顯示速度為每秒142字元。
- Preference(“joystick”) - 顯示joystick環境設定。
- Preference(“skip”, “seen”) - 只跳過看過的訊息。
- Preference(“skip”, “all”) - 跳過所有訊息,無論是否看過。
- Preference(“skip”, “toggle”) - 切換上面兩種情況。
- Preference(“begin skipping”) - 開始跳過(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”) - 啟用自動滑鼠模式。
- Preference(“automatic move”, “disable”) - 禁用自動滑鼠模式。
- Preference(“automatic move”, “toggle”) - 切換自動滑鼠模式。
- Preference(“wait for voice”, “enable”) - 自動前進時,等待當前語音播放完畢。
- Preference(“wait for voice”, “disable”) - 自動前進時,不等待當前語音播放完畢。
- Preference(“wait for voice”, “toggle”) - 切換語音等待模式。
- Preference(“voice sustain”, “enable”) - 當前互動行為中維持語音。
- Preference(“voice sustain”, “disable”) - 當前互動行為中不維持語音。
- Preference(“voice sustain”, “toggle”) - 切換語音維持模式。
- 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(“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”) - 取消加強在config.emphasize_audio_channels中定義的音訊通道。
- Preference(“emphasize audio”, “toggle”) - 切換音訊加強狀態。
- Preference(“self voicing”, “enable”) - 啟用自動語音。
- Preference(“self voicing”, “disable”) - 禁用自動語音。
- Preference(“self voicing”, “toggle”) - 切換自動語音模式。
- Preference(“clipboard voicing”, “enable”) - 啟用剪貼板語音。
- Preference(“clipboard voicing”, “disable”) - 禁用剪貼板語音。
- Preference(“clipboard voicing”, “toggle”) - 切換剪貼板語音狀態。
- Preference(“debug voicing”, “enable”) - 啟用自動語音debug。
- Preference(“debug voicing”, “disable”) - 禁用自動語音debug。
- Preference(“debug voicing”, “toggle”) - 切換自動語音debug狀態。
- Preference(“rollback side”, “left”) - 觸摸螢幕左側觸發回滾。
- Preference(“rollback side”, “right”) - 觸摸螢幕右側觸發回滾。
- Preference(“rollback side”, “disable”) - 觸摸螢幕不觸發回滾。
- Preference(“gl powersave”, True) - 使用省電模式降低幀率。
- Preference(“gl powersave”, False) - 不使用省電模式降低幀率。
- Preference(“gl powersave”, “auto”) - 使用電池情況下自動啟用省電模式。
- 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”) - 將字體轉為deja vu sans的配置項。
- Preference(“font transform”, None) - 禁用字體轉換。
- Preference(“font size”, 1.0) - 字號縮放因子配置項。
- Preference(“font line spacing”, 1.0) - 字體行距縮放因子配置項。
- Preference(“system cursor”, “enable”) - 使用系統貫標,忽略 config.mouse。
- Preference(“system cursor”, “disable”) - 使用config.mouse的游標。
- Preference(“system cursor”, “toggle”) - 切換系統游標。
可以與條(bar)一起使用的值如下:
- Preference(“text speed”)
- Preference(“auto-forward time”)
- 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 參數可以指定某個條(bar)的數值範圍。例如,“text speed”的預設值是200cps。“auto-forward time”的預設值是每段文本30秒。
GetCharacterVolume
(voice_tag) link該函數根據關聯的語音標籤(tag),返回一個介於0.0到1.0之間的數值,表示對應 voice 聲道最大音量的一個比例。
這些函數和行為跟遊戲手把一起工作。
GamepadCalibrate
() link調用手把校正的行為。
GamepadExists
(developer=True) link檢測手把是否存在的函數。存在返回True,不存在返回False。
這些函數返回關於文件的有用訊息。它們使用相同的默認頁面(page)相關的文件行為。
FileCurrentPage
() link將當前文件頁面(page)以字串返回。
FileCurrentScreenshot
(empty=None, **properties) link一個螢幕幕截圖的可顯示控制項。其將保存你在當前文件中,前提是進入了菜單或使用 FileTakeScreenshot()
採集了螢幕截圖。
如果沒有當前螢幕截圖,對應的位置上顯示 empty 的圖像。(如果 empty 是空值None,預設為 Null()
。)
FileJson
(name, key=None, empty=None, missing=None, page=None) link截圖與文件 name 關聯的Json訊息。
如果 key 為None,返回整個Json對象。如果存檔槽位為空,則返回 empty 。
如果 key 不為空,則返回json[key],前提是 key 在存檔json對象中有定義。如果存檔存在但不包含 key ,就返回 missing 。如果存檔槽位為空,則返回 empty 。
使用 config.save_json_callbacks()
註冊的回調函數可以用於在存檔槽位中添加Json。
FileLoadable
(name, page=None) link該函數在文件可載入的情況下返回True,否則返回False。
FileNewest
(name, page=None) link如果文件是最新版本返回True,否則返回False。
FilePageName
(auto=u'a', quick=u'q') link以字串形式返回當前文件頁面(page)名稱。如果是一個普通頁面(page),該函數返回頁面編號。否則,返回 auto 或 quick 。
FileSaveName
(name, empty=u'', page=None) link返回文件保存時生效的存檔名,如果文件不存在則返回 empty 。
FileScreenshot
(name, empty=None, page=None) link返回給定那個文件相關的螢幕截圖。如果文件不能載入,返回 empty ,前提 empty 的值不是None。在文件不能載入且 empty 為空的情況下,一個空的可視組件會被創建。
返回值是一個可顯示對象。
FileSlotName
(slot, slots_per_page, auto=u'a', quick=u'q', format=u'%s%d') link返回編號後的槽位名。前提是普通頁面(page)下的槽位都按順序從1開始編號,並且頁面也從1開始編號。當槽位編號為2,每個頁面槽位數(slots_per_page)為10,其他變數都是預設值的情況下:
FileTime
(name, format=u'%b %d, %H:%M', empty=u'', page=None) link返回文件保存時間,格式根據 format 顯示。如果未找到文件,返回 empty 。
返回值是一個字串。
FileUsedSlots
(page=None, highest_first=True) link返回頁面上所有可用的經過編號的文件列表。
所有可視組件上可用的tooltip特性和GetTooltip函數都可以接入tooltip。當可視組件獲得焦點時,GetTooltip函數會返回這個組件的tooltip特性的值。
這裡是一個樣例::
screen tooltip_example():
vbox:
textbutton "北":
action Return("n")
tooltip "去約見北極熊。"
textbutton "南":
action Return("s")
tooltip "前往熱帶。"
textbutton "東":
action Return("e")
tooltip "我們可以擁抱黎明。"
textbutton "西":
action Return("w")
tooltip "去欣賞最美的日落。"
$ tooltip = GetTooltip()
if tooltip:
text "[tooltip]"
GetTooltip
(screen=None) link返回當前獲得焦點的可視組件的tooltip,如果可視組件未獲得焦點則返回None。
Warning
這種傳統方法已被廢棄,並使用上面說的方法替代。不過你可能會在一些老版本的項目中見到它。
當按鈕處於指針懸停狀態時,tooltip類會改變界面。
Tooltip
(default) link當滑鼠指針懸停在某個區域上時,一個tooltip對象可以用於提示對應界面的功能。
tooltip對象有一個 value
欄位,當tooltip對象被創建時會通過構造器傳入 default 作為預設值。當透過tooltip創建的某個按鈕行為被使用時,value欄位就會根據關聯的行為改變對應值。
Action
(value) link將按鈕的hovered特性對應的行為返回。當按鈕處於指針懸停狀態時,tooltip的value欄位會被設置為 value 。當按鈕失去焦點時,tooltip的value欄位會恢復為預設值。
在某個界面使用tooltip時,常用做法是在default語句中創建tooltip對象。tooltip的值和行為的方法可以在界面中使用。使用時可以按任何順序——在行為執行前就可以使用tooltip的值。
tooltip可以使用任何類型的值。在下面的樣例中,我們使用text語句在界面中顯示字串,使用add語句添加可視組件也是可行的。還可以設計更多複雜的行為。
screen tooltip_test:
default tt = Tooltip("沒有選擇任何按鈕。")
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