スクリプトインポート
3 分
GameObjectにアタッチされている以外に、ZEPETOScriptは他のスクリプトから直接使用できます。
ZEPETOScriptをライブラリやモジュールのようにインポートして使用できます。TypeScriptの構文では、ZEPETOScriptファイルへの相対パスを使用する必要があります。
以下の状況を考慮すると、ExtraComponentをScriptImportにインポートしたい場合は、次の構文を使用する必要があります。
以下の例は、libフォルダーにあるExtraComponent.TSを呼び出すためのScriptImport.tsでの宣言です。
import ExtraComponent from './lib/ExtraComponent';

👍 ヒント
- 別のTSファイルをインポートする際は、パスを正しく指定することが重要です。
- 相対パスの表記に慣れてください。
- ./は現在のディレクトリを示します。
- ../は親ディレクトリを示し、つまり現在のディレクトリの1つ上のレベルのディレクトリです。
インポートしたスクリプトで宣言されたエクスポートされた関数や変数には、サンプルのように直接参照することでアクセスできます。
this.gameObject.AddComponent<ExtraComponent>();
const extraComponent = this.gameObject.GetComponent<ExtraComponent>();
// メソッド呼び出しで値を取得
const count = extraComponent.GetCount();
// メソッド呼び出しで値を設定
extraComponent.SetCount(0);
// 公開プロパティを取得
const resultString = extraComponent.stringProperty;
以下は、インポートされたTypeScriptを示すサンプルコードです。
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
import { Text } from 'UnityEngine.UI';
// パスからカスタムスクリプトをインポート
import ExtraComponent from './lib/ExtraComponent';
export default class ScriptImport extends ZepetoScriptBehaviour {
public resultUI: Text;
private extComponent: ExtraComponent;
Start() {
// スクリプトコンポーネントを追加
this.gameObject.AddComponent<ExtraComponent>();
this.extComponent = this.gameObject.GetComponent<ExtraComponent>();
}
Update() {
// メソッド呼び出しで値を取得
const count = this.extComponent.GetCount();
if (count > 10) {
// メソッド呼び出しで値を設定
this.extComponent.SetCount(0);
}
// 公開プロパティを取得
const resultString = this.extComponent.stringProperty;
// 結果を出力
console.log(`result : ${resultString}`);
this.resultUI.text = resultString;
}
}
ExtraComponentsのサンプルコードです。
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
export default class ExtraComponent extends ZepetoScriptBehaviour {
public stringProperty: string;
private message: string;
private count: int;
Start() {
this.message = "こんにちは、ゼペト!";
this.count = 0;
}
Update() {
this.stringProperty = `${this.message} : ${this.count++}`;
}
GetCount() {
return this.count;
}
SetCount(newCount: int) {
this.count = newCount;
}
}
以下のテストコード出力画面を確認してください。

2-10-1 (1).png