1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ティラノスクリプトのデータ管理について

Posted at

#ティラノスクリプトについて
https://tyrano.jp/

ティラノスクリプトはHTML5製アドベンチャーゲーム制作キットです。
よくノベルゲームで使われるものですね。
このティラノスクリプトでデータ管理をどのように行っているかを考えてみた。

(データ管理とか言ってるけどこれがデータ管理なのかどうかわからないし、ティラノスクリプトを使ったのも初めてなので大目に見て下さい)

#データ管理
そして私はティラノスクリプトでSLGのデータ管理の基盤を作ってみた(ノベルゲームでなんでSLGっていうのは別の話)

まず、ティラノスクリプトのフォルダの仕組みについて。

tyranoscript----data
             |
             ---tyrano
             |
             ---index.html
             |
             ---readme.txt
             |
             ---studio_config.json

という大まかにこの構造を取っています。ここで基礎的なことしかしないのでこのフォルダの中のdataファイルの中身を見てみる。

data----bgimage
     |
     ---bgm
     |
     ---fgimage
     |
     ---others
     |
     ---scenario
     |
     ---sound
     |
     ---system
     |
     ---video
     |
     ---.DS_Store

この中でデータ管理で必要なのはscenarioファイルとothersファイルが必要です(より詳しくなると他のも必要かもしれない)

ここからデータ管理の記述について話していこうと思います。

データ管理をする方法としてjavascriptを使用します。記述の方法は

example.js
with(tyrano.plugin.kag) {
    //データ管理をする適宜記述する
    TEST = TT // 例
    }

となります。ただこれだけでは何も起きません。そこでscenarioファイルの中を考え行こうと思います。scenarioファイルの役割はファイル名にもあるようにゲーム本体の記述をしていくと考えて構いません(多分)
scenarioファイル内にfirst.ksっていうファイルがあるのでそれを使っていこうと思います。まず呼び出しについて先ほどのexample.jsファイルを呼び出しましょう。

first.ks
  [loadjs storage="example.js"]

これで先ほどotherフォルダ内で作成したjsファイルの呼び出し・読み込みができました。これでjsファイル内にある変数TESTを呼び出すことができます。ただこれだけではTTいう変数に何が入っているかわかりません。そこでTTという変数に数値を入れたいと思います。

first.ks
    [eval exp='TT = 0']
    [loadjs storage="example.js"]

これでTTは0という数値が入り、TESTという変数に0が入ります。

次にこのTESTの変数を表示させてみましょう

first.ks
    [eval exp='TT = 0']
    [loadjs storage="example.js"]
    [emb exp='TEST']

これでTESTに代入された値0が表示させることができます。

データ管理の基本的部分は以上です。次に主にデータ管理を用いてどんなことをしているかを話したいと思います。

ここでexample.jsファイルのほかにexample2.jsファイルを用意します。

example2.js
with(tyrano.plugin.kag) {
    TEST2 = TT2
    WA = TEST2 + TEST
    }

そしてscenarioフォルダのfirst.ksを以下のように変えて、first2.ksを作成します

first.ks
   [eval exp="TT = 2"]
   [loadjs storage="example.js"]

   @jump storage = 'first2.ks'
first2.ks
   [eval exp="TT2 = 5"]
   [loadjs storage="example.js"]
   [loadjs storage="example2.js"]
   [emb exp='WA']

これらの動作はまずexample2.jsはTEST2という変数にTT2という変数の値を入れてTEST2とTESTの値の和をWAに代入しているところです。

first.ksでは先ほどのようにTTという変数の中に2を入れてexample.jsを呼び出しTESTの値が2となりfirst2.ksを呼び出す

first2.ksではTT2に5を代入しexample.jsとexample2.jsを呼び出す。ここでexample2.js内の動きを見てみる。先ほど言ったとおりTEST2とTESTの和をWAに入れている。ここでTEST2は最初に[eval exp="TT2 = 5"]のように記述をしたのでTEST2の値は決定するがこのままだとTESTの値がわからない。そこでexample.jsを呼び出すことでTESTの値がわかりWAを出すことができる。

このようなことを使って今ティラノスクリプトでSLGのデータ管理を作ってます。

#最後に
ティラノスクリプトのデータ管理について記述しました。本当に基本的なことしかまだ学んでないのでこれが正解かどうかわかりませんが頑張ってSLGを作っていこうと思います

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?