LoginSignup
5
1

More than 3 years have passed since last update.

RPGツクールMZ発売!TypeScript用の型定義ファイルを作ろう

Last updated at Posted at 2020-08-21

「RPGツクールMZ」が発売されましたね!めでたい

今回もMVに引き続き、Javascriptで書かれたコアスクリプトが提供されています。というわけで、コアスクリプトに対するTypeScript用の型定義ファイルをさわりだけ、本当に最低限だけ作ってみました。

最低限なのであまり使いこまないでね。めちゃ使いづらかったりバグも出るだろうし、いつの間にかぼくのコミットが続いて完全に別物になってるかもしれないので……

これはRPGツクールMZのコアスクリプト(javascript)を元に、 dtsmake を使って型定義ファイルを生成し、エラーの無いように一部修正したものです。

dtsmakeの実行をラクにしたかった

本題は、とりあえず dtsmake で最初の型定義ファイルを作るところまでをやってくれるソフトウェアを作ったので、みんなも型定義書いてみてね(そしてぼくが合流する)、というところです。

最初の型定義ファイルまでやってくれるアプリのリポジトリがこれです:

こちらはC#で書かれています。

完全にRPGツクールMZ用で、dtsmakeを使用するような別のシナリオで使えるものではないです。

つかいかた概略

READMEにも書いてありますが、実行の際には以下のものをインストールしておく必要があります。

  • RPGツクールMZ (体験版でもいけるかも)
  • .NET Core 3.1
  • TypeScript
  • dtsmake (と、そのために必要な tern)

TypeScript, dtsmake, tern は npm (node.jsのやつ) 経由でインストールできます。

まずはREADMEの手順に従って型定義ファイルを作っていただいたとして、その型定義ファイルは不完全で実用には耐えないため、手動で整えてあげる必要があります。

そうしたら、適切な場所に型定義ファイルを配置します。 <ゲームフォルダ>/node_modules/@types フォルダに、生成された *.d.ts ファイルたちを配置します。これにより型定義ファイルどうしで型定義を互いに参照するようになってくれます。

その後はとにかく手書きで型定義を整えてあげます。頑張ってください!ぼくも頑張ります。

おわりに

まだ誰も型定義ファイルを作っている様子が無かったので(そりゃそうだ)、とりあえず最初の一歩を踏み出すためのソフトを作った次第です。

ここで紹介した rmmz-dtsmake-run を使うもよし、自前で型定義を生成するもよし、ともかくTypeScriptでガリガリとプラグインを書ける日を目指して誰か頑張ってくれないかな~と思っています。

ぼくも自分のリポジトリにて型定義ファイルをガリガリ書いていきますが、なにぶんTypeScript初心者なので、TypeScriptに慣れている方が同じことをしている最中だったらそちらに合流したいところです……。 やってるよ!という方がいらっしゃれば頑張ってコミットしてみたいので、ぜひご一報ください。

5
1
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
5
1