SSShooter

SSShooter

Write like you're running out of time.

TyranoScript 從入門到魔改 0 概況介紹

ティラノスクリプト(TyranoScript)是一個 AVG 引擎,利用 HTML5 支援多平台。在谷歌和百度都找不到什麼教程的情況下,我決定自己總結一下一些簡單的用法和魔改的方法。

開發工具#

啟動器#

image

tyranorider完全免費,是最常用的專案生成器 + 啟動器。這個教程主要會使用這個工具。

image

tyranobuilder有免費版,但完整功能需要付費,steam 已上架。這個工具主打可視化編輯,適合無編程經驗的同學使用。

編輯器#

不使用可視化編輯或需要魔改程式的話必然需要一個程式碼編輯器,推薦 vscode 或 sublime。(sublime 很久沒用了不知道,但是 vscode 有.ks 檔案著色插件,看著舒服很多)

image

專案初始化#

方式有三種,上面提到的 tyranorider 和 tyranobuilder 都可以生成初始專案,另外你可以通過 clone(下載也沒差)官方 GitHub 倉庫得到初始化專案,並且我推薦這種方式,最具學習意義。

因為 GitHub 倉庫中帶有 cg 頁和設置頁的例子,用生成器生成的卻沒有... 沒有... 沒有...

檔案結構#

動手的第一步,首先需要了解生成好的初始專案裡面有些什麼。

先重點關注data資料夾,tyrano 資料夾在以後魔改教程中會說到。

  • bgimage 放置 background image
  • bgm 放置 BGM
  • fgimage 放置立繪(fg 應該是 figure 吧)
  • image 放置其他按鈕或素材圖
  • others 放置泛用素材(找不到資料夾放的東西就塞這裡的意思)
  • scenario重點關注對象,放置劇本檔案。(很神奇的是,一些頁面也是用 “劇本” 的方式書寫
  • sound 放置音效檔案
  • system 放置系統配置檔案
  • video 放置視頻檔案

劇本的構成#

劇本指的是.ks檔案,這類檔案通過各種 tag 構成

所有 tag 可以參考這裡(英文版)或者這裡(日文版)

.ks檔案對編程不熟悉的使用者來說基本是用於劇本輸入,就像下面這段:

*start

[wait time=200]

吾輩わがはいは猫である。名前はまだ無い。[l][r]

どこで生れたかとんと見当けんとうがつかぬ。[l][cm]

何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。[l]

吾輩はここで始めて人間というものを見た。[l][r]

但是 title 頁、CG 頁、config 頁在官方示例中都是用.ks而不是 html 檔案書寫... 以至於我也不太習慣這種編程思路(當然魔改後是可以用 html 寫這些頁面的,但是感覺也會變得很怪... 因為各種實踐混在一起有時候會忘了哪裡寫在哪裡 😂)。以下是 cg.ks 的部分程式碼:

;=========================================
; CG モード 画面作成
;=========================================

@layopt layer=message0 visible=false

@clearfix
[hidemenubutton]
[cm]

[bg storage="../../tyrano/images/system/bg_base.png" time=100]
[layopt layer=1 visible=true]

[image layer=1 left=0 top=0 storage="config/label_cg.png" folder="image" ]

[iscript]

    tf.page = 0;
    tf.selected_cg_image = ""; //選択されたCGを一時的に保管

[endscript]



*cgpage
[layopt layer=1 visible=true]

[cm]
[button graphic="config/menu_button_close.png" enterimg="config/menu_button_close2.png"  target="*backtitle" x=820 y=20 ]

[iscript]
    tf.tmp_index = 0;
    tf.cg_index = 12 * tf.page;
    tf.top = 100;
    tf.left = 60;

[endscript]

[iscript]
	tf.target_page = "page_"+tf.page;
[endscript]

*cgview
@jump target=&tf.target_page

這種做法是用 tag 穿插 js 功能,並通過按鈕和*標籤實現跳轉。

下回預告#

打算先把 layer 相關的基礎寫了,這樣一些 tag 解釋起來會比較更簡單~

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。