訂製滑鼠游標 link
Ren’Py有兩套系統可實現訂製滑鼠游標。 一種是利用硬體滑鼠游標,另一種是在Ren’Py中繪製一個可視組件當作滑鼠游標。
硬體滑鼠游標有兩個優點:
非常快。
消耗低。使Ren’Py有更多時間執行其他工作。
同時也有兩個限制:
游標只能是小尺寸。至少一個32×32像素的,常用的大尺寸也不過64×64像素.
游標只能使用圖像文件序列。
使用Ren’Py繪製一個可視組件用作游標可是跳出這些限制。 游標可以是Ren’Py能繪製的任何東西。當計算機啟用圖像三重快取時,Ren’Py繪製游標可能會出現明顯的延遲,而硬體游標不會。
硬體滑鼠游標 link
硬體滑鼠游標由配置項 config.mouse
控制。
該配置項是一個字典型數據,將滑鼠名稱映射為一個序列幀列表。
每個序列幀都是一個三元元組,依次表示圖片檔案名、圖片內部的X和Y軸偏移量。
例如:
define config.mouse = { }
define config.mouse['default'] = [ ( "gui/arrow.png", 0, 0) ]
define config.mouse['spin' ] = [
( "gui/spin0.png", 7, 7 ),
( "gui/spin1.png", 7, 7 ),
( "gui/spin2.png", 7, 7 ),
( "gui/spin3.png", 7, 7 ),
( "gui/spin4.png", 7, 7 ),
( "gui/spin5.png", 7, 7 ),
( "gui/spin6.png", 7, 7 ),
( "gui/spin7.png", 7, 7 ),
]
若動畫由多幀組成,幀率為20fps。Ren’Py只能修改游標的圖片或偏移量。
可視組件滑鼠游標 link
可視組件游標使用配置項 config.mouse_displayable
的值,以及MouseDisplayable類型的可視組件。
下面是一個樣例:
image mouse spin:
"gui/spin0.png"
rotate 0.0
linear 1.0 rotate 360.0
# 暫停,等待圖像預載入
pause 1.0
repeat
define config.mouse_displayable = MouseDisplayable(
"gui/arrow.png", 0, 0).add("spin", "mouse spin", 9.9, 9.9)
- MouseDisplayable(cursor, x, y) link
用作替換滑鼠游標的可視組件。當用戶在螢幕內移動滑鼠時,該可視組件將跟隨滑鼠一起移動。
- cursor
用作繪製游標的可視組件
- x, y
熱區(hotspot)坐標,以滑鼠左上角的為原點,虛擬像質數。
使用滑鼠游標 link
使用滑鼠游標的通常方法是,對界面內某個可以獲得焦點的組件(按鈕或者條)使用 mouse
特性,指定游標名稱。
例如:
screen test():
textbutton "滑鼠測試" actiuon NullAction mouse "spin"
還可以使用 default_mouse
設置全局滑鼠游標:
$ default_mouse = "spin"