1
1

More than 1 year has passed since last update.

Cocos CreatorでHello TypeScript

Posted at

今回は、Cocos Creatorのプロジェクトを作成する際の雛形プロジェクトHello TypeScriptの紹介です。
Hello TypeScriptは、所謂、Hello WorldのCocos Creatorプロジェクト版です。

Hello TypeScriptプロジェクト作成

まずは、Hello TypeScriptのプロジェクト作成からはじめます。
Cocos Dashboardを起動すると、下のようなウィンドウが表示されます。
「New」ボタンをクリックします。

DashBoard.png

次に、下のようなウィンドウが表示されます。
フォルダーアイコンのようなものが、3つ並んでいるうちの中から、「Hello TypeScript」を選択します。
選択したら、Name欄のプロジェクト名にHello_TypeScriptと入力します。(プロジェクト名なので任意です)
Location欄は、プロジェクトを作成するフォルダパスを指定します。(任意です)
「Create」ボタンをクリックします。

Hello_TypeScript1.png

Cocos Creatorでプロジェクトを開く

Cocos Creatorが起動されると下のようなメイン画面が表示されます。
Sceneパネル上には、Cocosのロゴが表示され、ロゴの下にHello World!が表示されています。
これを再生するとどうなるでしょうか?

CocosCreatorメイン.png

実行

Hello World!だった文字がhelloに変わってしまいました。
どういうことでしょうか。
これから、プログラムを解説したいと思います。

再生.png

プログラム解説

C言語や他のスクリプトでよく出てくるHello Worldよりは長いですが、それでもこれだけです。

const {ccclass, property} = cc._decorator;

@ccclass
export default class Helloworld extends cc.Component {

    @property(cc.Label)
    label: cc.Label = null;

    @property
    text: string = 'hello';

    start () {
        // init logic
        this.label.string = this.text;
    }
}

@property識別子

まずプログラム中の
@property(cc.Label)
label: cc.Label = null;
に注目します。

@propertyは、Cocos Creatorの特異的な識別子です。
@propertyを付けると、この変数がPropertyパネルにパラメーターとして表示されるようになります。下の画像のようにPropertyパネルにLabelというプロパティが表示されています。
スクリプトは、Node TreeパネルのCanvasに紐付けされていますので、Canvasをクリックしてみて下さい。
下の画像のPropertyパネルをみるとHellowolrdというコンポーネントに、Labelというプロパティがあります。これがスクリプトで@propertyを付与した変数になります。

Canvas_Select.png

このように、Cocos Creatorでは、スクリプトが適用されているノードに対して、外部のノードを入力(紐付け)することが可能です。定義する時に型を正しく指定(labelの場合、cc.Label型)しておけば、色々なノードがスクリプトへ渡すことができます。使用用途としては、cc.Nodeやcc.Prefabなどの型を指定することが多いです。

start()関数内の処理

最後に、プログラム中のstart()関数内の処理について書いてプログラム解説を終えたいと思います。

this.label.string = this.text;

で、text変数に設定された'hello'を、外部から入力されたLabelノードのstring変数に設定しています。実行すると、まずスクリプトのstart()関数が呼び出されるので、この処理で、Hello World!がhelloに置き換わって表示されたということになります。

まとめ

1. Cocos Creatorのスクリプト中に@propertyを付与した変数を定義すると、そのスクリプトをコンポーネントとして紐付けしているノードのPropertyパネルにプロパティとして変数が表示される。

2. @Propertyを付与した変数に外部から他のノードを入力することができ、入力されたノードに対してプログラミングで影響を与えることができる

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