こんにちは、ZEPETOScript
ZEPETOScriptとは何ですか?
- ZEPETOScriptは、ZEPETO Worldを作成するために使用されるスクリプト言語です。
- TypeScriptプログラミング言語をサポートしています。
- ZEPETOScriptは、ZEPETO World内の動作や機能を定義するために設計されています。具体的には、以下を含みます:
- オブジェクトの動き、物理、相互作用。
- ユーザー入力を含むイベントの処理。
- ZepetoScriptBehaviourクラスから継承され、UnityのMonoBehaviourインターフェースと互換性があるように設計されています。
- 実行のためにシーン内のアクティブなGameObjectにアタッチできます。
❗️ 注意
- ZEPETO Worldの開発時には、C#スクリプトはパッケージビルドに含まれません。
- ZEPETOScriptを使用してのみ実装することを確認してください。
Hello Worldチュートリアル
ステップ1:ZEPETOScriptの作成
新しいZEPETOScriptファイルを作成するには、
[プロジェクト]をクリックし、パネルの左上隅にある[+]アイコンを選択するか、Assets → Create → ZEPETO → TypeScriptをクリックします。

新しいZEPETOScriptが作成されたことが下に示されています。

ステップ 2 : ZEPETOScriptをGameObjectに追加する
先に作成したZEPETOScriptをGameObjectにComponentとして追加するには、当該GameObjectのInspectorウィンドウにAdd Componentボタンをクリックしてください。

Add Componentウィンドウで、Zepeto Script Componentを選択してください。

Zepeto Script ComponentのAttach Zepeto Scriptボタンをクリックしてください。

Attach Zepeto Scriptウィンドウで先に作成したHello World ZEPETOScriptファイルを選択してください。

下の画面のように、HelloWorld ZEPETOScriptファイルをGameObjectにComponentとして追加することができます。

ステップ 3 : テストコードを追加するか、ログを出力する
新しく生成されたZEPETOScriptは以下の通りです。Unityの開発ツールを使用してスクリプトを編集できます。
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
export default class NewTypescript extends ZepetoScriptBehaviour {
Start() {
}
}
Start関数内にログコードを追加して、ZEPETOScriptが動作するかどうかをテストしてみてください。
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
export default class HelloWorld extends ZepetoScriptBehaviour {
Start() {
console.log(`log : Hello World`);
console.warn(`warn : Hello World`);
console.error(`error : Hello World`);
}
}
以下のテストコード出力画面を確認してください。

ZEPETOScriptチュートリアルの完了おめでとうございます!
以前にUnityでC#を使用して開発したことがある方や、ZEPETO World開発に新しい方のために、ZEPETOScriptの基本に飛び込んでみましょう。
ZEPETOScriptでの変数の宣言
- ZEPETOScriptはTypeScriptの構文に従います。
- したがって、変数を宣言する際には型を宣言することが重要です。
- 変数宣言の例:
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
export default class HelloZepetoScript extends ZepetoScriptBehaviour {
// グローバル変数
private number: number = 10;
private floatNumber: number = 10.5;
private word: string = "ZEPETO!";
private isTrue: boolean = true;
private list : number[] = [1,2,3];
private listGeneric : Array<number> = [4,5,6];
Start() {
console.log(this.number);
console.log(this.floatNumber);
console.log(`こんにちは、${this.word}`);
console.log(this.isTrue);
console.log(this.list);
console.log(this.listGeneric);
// ローカル変数
let a = 30;
const b = 40;
console.log(a);
console.log(b);
}
}
マップデータ型の使用
- C#の辞書データ型の代わりに、TypeScriptのマップデータ型を使用してキーと値のペアを保存および管理します。
- このデータ型は、マルチプレイヤーの世界を実装する際にプレイヤーデータを管理するのに特に便利です。
- マップの簡単な使用例:
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
export default class HelloZepetoScript extends ZepetoScriptBehaviour {
private myMap = new Map<string, string>();
Start() {
this.myMap.set("Player1", "Ze");
this.myMap.set("Player2", "pe");
this.myMap.set("Player3", "to");
this.myMap.forEach((value, key) => {
console.log(key, value);
});
if(this.myMap.has("Player2")) {
let value: string | undefined = this.myMap.get("Player2");
console.log(value);
}
this.myMap.delete("Player2");
console.log(this.myMap.has("Player2"));
}
}
JSONの活用
JSON形式のデータを扱うときは、TypeScriptの組み込み関数を使用できます。
- JSON文字列をオブジェクトに変換する
- を使用します。JSON.parse()メソッド。
- オブジェクトをJSON文字列に変換する
- を使用します。JSON.stringify()メソッド。
- JSONを利用する例:
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
export default class HelloZepetoScript extends ZepetoScriptBehaviour {
Start() {
let jsonData = '{"id":"USER1234", "name":"zepeto", "age":15}';
// JSON文字列をオブジェクトに変換する
let userObject : User = JSON.parse(jsonData);
console.log(userObject.id);
console.log(userObject.name);
console.log(userObject.age);
userObject.age = 16;
// オブジェクトをJSON文字列に変換する
let newJsonData = JSON.stringify(userObject);
console.log(newJsonData);
}
}
class User {
constructor(public id: string, public name: string, public age: number) {}
}
- 詳細な構文については、TypeScriptのドキュメントを参照してください。