* 概要 [#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;
  }

}; // セミコロンはあってもなくても可能。

}}

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