忍者ブログ

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【Hiyu&Rava】常用KAG函式介紹1 - 文字篇(上)

在前面的章節中提到過,吉里吉里是一款以腳本語法來開發遊戲的軟體,

這也意味著吉里吉里本身沒有協作介面可以使用,
使用者必須以編寫腳本文件的方式來製作遊戲;
即是透過腳本的指令,來促使各個圖層動作。

圖層基本上分成兩種,分別是一般圖層(Layer)以及文字圖層(Message Layer),
一般圖層專門用於放置圖像,而文字圖層則用於顯示文字以及擺設按鈕,
實際上兩者的功能是可以互通的,酌看使用者是否有這個需要。
其中,文字圖層又尤為重要,
因此本次教學會先從文字圖層的各個基本功能介紹起。

在此之前,先談一下該從哪個地方開始寫入腳本:
在架構好遊戲的資料夾後,腳本文件通常會統一存放在 data/scenario 資料夾中,
事實上,只要資料存在於 data 中,系統讀取時必然不會忽略它,
這麼做的原因在於整齊美觀,以及同名稱時,讀取優先序的問題,
有關優先序的設定,可以在 data/system/initialize.tjs 中調整。

系統設定上,吉里吉里會從 first.ks 這個名稱開始讀入腳本
因此,請從這個腳本開始寫程式。
另外,除了 first.ks ,吉里吉里也會先讀取 macro.ks 的內容,
一般會將函式巨集集中寫在這個腳本中。

打開這個腳本後,可以嘗試鍵入一些文字,
純文字的部份會以預設的字體設定顯示在文字圖層中,如以下腳本:

範例

所呈現的效果為下:

 


在普通版本的情況下,
文字顯示時並不會讀到換行字元
也就是說在打以下腳本時:


所呈現的依然會是上張畫面的內容。


文字設定

在 Config.tjs 中預設字體與文字圖層的各個設定,
或是直接透過預設指令來修改當前的設定:

deffont 設定當前的字體

face 字體名稱

size 文字大小 ( 單位為pixel )

color 顏色 ( 0xRRGGBB 格式 )

rubysize 注釋字大小 ( 單位為pixel )

rubyoffset 注釋字位置 ( 單位為pixel )

shadow 陰影 ( true / false )

shadowcolor 陰影顏色 ( 0xRRGGBB 格式 )

edge 邊緣 ( true / false )

edgecolor 邊緣顏色 ( 0xRRGGBB 格式 )

bold 粗體 ( true / false )


defstyle 設定當前的文字間距

linespacing 行間距 ( 單位為pixel )

pitch 字間位移 ( 單位為pixel )

linesize 預約大小 ( 單位為pixel )


delay 設定文字顯示速度
speed 顯示速度

配合使用 resetfont  resetstyle 等函式才會對 current (目前使用的)圖層生效。

參考範例

[deffont size=50 shadow=true shadowcolor=0xff0000]
[resetfont]
範例

 


另外,也有暫時變更設定的指令可以使用,
和 def 指令不同的是,
在圖層進行動作(例如 resetfont (resetstyle) / cm / er / ct)後即會失去效力

font 設定文字字體

face 文字大小 ( 單位為pixel )

size 字體名稱

color 顏色 ( 0xRRGGBB 格式 )

rubysize 注釋字大小 ( 單位為pixel )

rubyoffset 注釋字位置 ( 單位為pixel )

shadow 陰影 ( true / false )

shadowcolor 陰影顏色 ( 0xRRGGBB 格式 )

edge 邊緣 ( true / false )

edgecolor 邊緣顏色 ( 0xRRGGBB 格式 )

bold 粗體 ( true / false )


style 設定文字間距
align 對齊設定 ( left / top / center / right / bottom / default )

linespacing 行間距 ( 單位為pixel )

pitch 字間位移 ( 單位為pixel )

linesize 預約大小 ( 單位為pixel )

autoreturn 自動換行換頁 ( true / false )


以下為範例腳本及其效果:

[font size=100 color=0xff0000]
範例
;在圖層動作後,會失去效力:
[font size=50 shadow=true shadowcolor=0xff0000]
[er]
範例


有關字體指令的進一步說明請參照 KAG 的 Reference 。


文字顯示操作

在編寫劇情時,難免會用上換行、清空訊息、顯示變數等等的功能,
這些功能在 KAG 中都可以找到對應的指令:

l 等待點擊
r 換行
cm 換頁
p 換頁同時等待點擊
er 清空目前文字圖層所顯示的內容
nowait 將之後的文字一次顯示出來直到 endnowait 指令出現為止
endnowait 用於終止 nowait 指令
emb 顯示變數內容
exp TJS式

在寫入 [l] 時,等待處會顯示預設的等待鍵 ( 倒三角形 ) ;
而在寫入 [p] 時,則會顯示預設的換頁鍵 (頂端朝右的三角形) 。

因此在劇本要換行等待時,通常 [l][r] 會連著寫,
而換頁等待時, [p] 會單獨存在,不過寫成 [p][cm] 也可。

[emb exp=" "] 則是當要顯示變數或特殊字串時,在 " " 中填入相關的內容用。
另外, " " 中也可以填入一般的字串,效果等同於純文字顯示,
該用法會在 [cond] 、 [if] 等指令時用上,
有關 TJS式 的部分,在日後講到變數時會有清楚的解說。

以下為各個指令依序所產生的效果:

等待點擊[l]換行[r]換頁[p]
[nowait]這裡會一次顯示出來[endnowait]
[er]

1)等待點擊
2)換行與換頁
3)[nowait] 指令使上圖直接變成這張,文字會即時出現
4)[er] 消去所有文字

以下兩者為顯示一般字串與變數的用法

;1
[emb exp="'範例'"]

;2
[eval exp="'f.samle='範例''"]
[emb exp="f.sample"]




清除文字圖層

主要用來清除文字圖層的指令有三種。
分別是 cm、ct 和 er。
其中兩種在前面已經提到過了,
事實上,這三種指令都可以用來當作換頁功能。

使用這些指令後, postion 和 lapout 屬性並不會受到影響。
(以下的.為共通點,x為相異點)

cm
.清除所有文字圖層
.清除所有文字圖層的 font 和 style 的設定
.操作對象維持目前使用中的文字圖層

ct
.清除所有文字圖層
.清除所有文字圖層的 font 和 style 的設定
x操作對象變成 message0

er
x清除當前文字圖層
x清除當前文字圖層的 font 和 style 的設定
.操作對象維持當前使用中的文字圖層

基本上只使用 message0 (預設的文字圖層)的話,就不用在意使用哪個指令。
但使用兩個或以上的文字圖層,就得注意想清除的是哪個文字圖層。


 

拍手[1回]

PR

【Hiyu&Rava】附屬工具使用(2)、Reference查詢與使用


1)附屬工具使用


由於工具眾多,這次主要詳細介紹比較常用的部分來如何操作,
更近一步的細節可以查詢 Reference 內的 付属ツールの使い方。

工具內碼大多為日文,
因此請善用 Microsoft AppLocale 、 NTLEA 等轉碼軟體來開啟。

1.1 吉里吉里專用字體製作:

開啟 krkrfont.exe 之後會出現以下視窗。

 

製作流程(由上至下):

  1. 先「顯示所有TrueType字體」打勾,以顯示電腦內已安裝的字體
  2. 從字體名稱選要製作的字體
  3. 設定文字大小
  4. 設定其他選項
  5. 按「瀏覽」設定要儲存的位置和檔名
  6. 按「製作」即可完成


注意:
一個檔案只能製作一種字體的大小,
若要使用不同的字體大小,就得一個一個製作。
如果只使用一種大小,當然是製作吉里字體以節省空間,
要不然,請在資料夾內附帶 .ttf 字體。(要注意版權問題)


1.2 吉里吉里資料庫製作

用吉里吉里製作的遊戲通常會看到 data.xp3, bgm.xp3 等等的資料庫。
要如何製作這種資料庫,我們可使用 krkrrel.exe 。

製作吉里吉里執行檔有三種,
一是建立一個 .exe 檔,
二是 data.xp3 資料庫,
三是 data 內的資料夾 .xp3 資料庫。
前者不能製作更新檔,要更新的話就要重新製作一個 .exe檔,
而後兩者皆可製作更新檔,順序依照 patch.xp3,patch2.xp3,patch3.xp3(以下略)排列。
要選擇哪種就要看自己所需,
如果只是數 mb 甚至數百 kb 的小檔案,不仿製作 exe檔或 data.xp3 檔便可。

要製作 exe / data.xp3 只需選舉 data 資料夾,若製作一個個獨立的 xp3,請選擇 data 內的資料夾重複以下的步驟。

1)開啟 krkrrel.exe 會出現以下的資料夾選擇畫面:

先找出檔案所在的路徑並選取,要按「OK」。

 


2)之後會出現以下的「輸出」畫面的視窗:

基本上只需設定選擇要輸出的形式- .XP3 或是 .EXE,還有要儲存的位置和檔名。


3)「輸出」的右方有「檔案」設定,可選擇副檔名來左右移動 ( D&D方式亦可 )。


4)再來是「選項」方面的設定,看需要來自行調整。
勾取第2選項會在 .xp3/ .exe 內附上一個版權提示的檔案。

 

5)回到「輸出」畫面,按右下角的作成,出現此訊息視窗即為成功。

要繼續製作其他的 .XP3檔案可以按右下角的按鈕。




1.3 吉里吉里執行檔設定工具:

如子標題所示,就是用來設定吉里吉里 .exe 檔。
開啟 krkrconf.exe 會出現下面的選擇視窗:


選擇後會出現下面的設定視窗:

基本上設定不需多改,但想保護自己所寫的 .ks 或 .tjs檔不被別人看到的話,建議將除錯模式設為無效。

 
1.3.2 設定小圖示:
要設定 .exe 檔的小圖示可在此視窗內進行。
「變更小圖示」打勾後再按右邊的參選,選擇要變更的 .ico 檔案。
.ico 支援的大小分別為 32x32、64x64、128x128。

最後按「OK」即完成設定變更。


2)Reference 介紹

通常人在寫程式時,並不會仔細的將所有的函式及其使用方法記下來,而是當遇上困難時再行查詢;即使是專業的程式工程師,也會在使用不熟的函式時,查詢其用法以確保萬一。
而這些函式與使用方法,通常都會記述在 Reference ( リファレンス ) 之中。
Reference 顧名思義就是在寫程式的參考文件,一般來說,會包括函式庫、說明書、設定,以及各種常數和保留字的一覽;一般來講,程式本身都會附有其版本的參考文件,如果沒有,也可以在網路上查詢。

下載版 Reference 位置:

  • KAG3   - kr2_版本編號\kag3\kag3doc
  • TJS2     - kr2_版本編號\kirikiri2\tjs2doc
  • KRKR2 - kr2_版本編號\kirikiri2\kr2doc
  •  

吉里吉里的日文版 Reference 網址:



另外,簡體的版本可以在這裡找到:KCDDP ADV综合创作站
繁體的版本目前尚有人在進行翻譯,完成時本站會另行公告。


使用 Reference 查詢

在查詢 Reference 前,請先確定自己所寫的檔案為 .tjs 或是 .ks ,
在 .ks 中, TJS 式須以 [eval exp="TJS式"] 或 [iscript]TJS式[endscript] 的形式呼叫。
在 .tjs 中想使用KAG指令 ( TAG ) 的話,則可透過 kag.tagHandlers.TAG(%[屬性]) 來進行。


另外,也要注意自己所使用的版本。
過舊的版本,可能會有部分函式無法使用(只有新版才加入該函式的關係)。

查詢單一函式或指令時,可以以場所順キーワード一覧搭配搜尋 ( Ctrl+F ) 來找。
若是要查詢類別 ( Class ) 的使用方法或子成員,
則建議透過クラスリファレンス ( Class Ref ) 的內容來逐一了解。
KAG3的指令 ( TAG ) 表則是記錄在タグリファレンス ( Tag Ref )中。
上一章節所介紹到的附屬工具使用,在付属ツールの使い方內有更詳細的介紹。

另外,一些程式師所做的衍生版本 ( 如 Kagex 或 KageXpress ),
都會有對應的 Reference 附在程式內以供查詢。

 

拍手[10回]