* 概要 [#r6930bf3] #contents ** このページについて [#ie2b0c1a] AngelScript(以下AS)を全く知らない人が,ASについてなんとなく理解してもらえるような記事を書きます。 細かいことについては各ページを参照してください。 ** 特徴 [#laa17591] - 静的型付け。 - 構文がC++にとても似ている。 - C/C++バインディング可能。 - コールーチン対応。 *** 構文がC++にとても似ている [#e7d5afb5] 構文がC++にとても似ているため,C++経験者であれば構文について少し勉強するだけでコーディングを始められます。 また,C++ソースコードをメインとして使用するプロジェクトでは ASソースコードとC++ソースコードの2つをコーディングしていくことになります。 そのような状況で,両者の構文が似ているため,頭を大きく切り換える必要がないため,混乱が少なくて済みます。 以下がASのソースコードの例です。 #code(c,){{ // Vector3型の宣言。 class Vector3 { // メンバ変数の宣言 // public,privateなどのアクセス修飾子はありません float x; float y; float z; // コンストラクタ Vector3(float aX, float aY, float aZ) { mX = aX; mY = aY; mZ = aZ; } // デストラクタ ~Vector3() { } // メンバ関数 void add( const Vector3 &in aVec // 引数にconstや参照修飾子を付けることができます ) { mX += aVec.x; mY += aVec.y; mZ += aVec.z; } // constメンバ関数もあります float sum()const { return mX + mY + mZ; } // 演算子のオーバーロードもできます Vector3@ opAdd( const Vector3 &in aVec ) { add( aVec ); return this; } }; // セミコロンはあってもなくても可能。 }} |