概要 Edit

このページについて Edit

AngelScript(以下AS)を全く知らない人が,ASについてなんとなく理解してもらえるような記事を書きます。
細かいことについては各ページを参照してください。

特徴 Edit

  • 静的型付け。
  • 構文がC++にとても似ている。
  • C/C++バインディング可能。
  • コールーチン対応。

構文がC++にとても似ている Edit

構文がC++にとても似ているため,C++経験者であれば構文について少し勉強するだけでコーディングを始められます。

また,C++ソースコードをメインとして使用するプロジェクトでは
ASソースコードとC++ソースコードの2つをコーディングしていくことになります。
そのような状況で,両者の構文が似ているため,頭を大きく切り換える必要がないため,混乱が少なくて済みます。

以下がASのソースコードの例です。

すべてを展開すべてを収束
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 
 
-
|
|
|
|
|
|
|
|
-
|
|
|
!
|
|
|
-
!
|
|
|
|
|
-
|
|
|
!
|
|
|
-
|
!
|
|
|
|
|
-
|
|
!
|
!
 
// 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;
  }
 
}; // セミコロンはあってもなくても可能。

    ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS