AIMS Headquarters
D.N.A.Softwares標準ゲームエンジンAIMSの配布とかサポートとか。
  • Home
  • AIMS とは
  • AIMS のドキュメント
  • AIMSをダウンロード
  • このサイトについて

Archive for the ‘チュートリアル’ Category

アクターの当たり判定

チュートリアル No Comments »

アクターの当たり判定を行う場合、前準備として当たり判定を画像に設定する必要があります。

  • addGraphicHit(グラフィックハンドル, テクスチャのX座標, テクスチャのY座標, 当たり判定の幅, 当たり判定の高さ)

この関数で、グラフィックの特定位置に当たり判定に使用する矩形を追加します。当たり判定矩形は最大16個まで設定できます。

当たり判定は「矩形同士が重なっているか?」で判定しています。
重なっているかどうかを取得するには以下の関数を使用します。

  • isHitActor([アクターハンドル],アクターハンドル)
  • getHitLayer([アクターハンドル],レイヤー番号)

isHitActorは指定されたアクター同士が重なっているかどうかをboolean値として返します。
getHitLayerは指定されたアクターに対して「指定レイヤー上で重なっているアクターのハンドル」をLuaのテーブルとして取得します。
複数のアクターを相手に判定を取る場合、isHitActorで1対1の判定を複数取るよりは、getHitLayerでまとめて判定を取った方が高速になります。レイヤーを使ってアクターをうまく分けておくのがコツです。(STGなら自機と敵の弾は別のレイヤーに置くとか)


7月 27th, 2010 |



createActor & addMover

チュートリアル No Comments »

AIMSの動作の基本となる関数です。[]内の引数は省略できます。

  • アクターハンドル = createActor(グラフィックハンドル, 初期X座標, 初期Y座標[, 初期角度, 初期速度], 表示レイヤー番号[, クラス名])
  • addMover(アクターハンドル, 開始時間, 継続時間, 動作命令[, 命令引数1[, 命令引数2[, 命令引数3]]])
  • clearMover(アクターハンドル)

「createActor関数でアクターを作る」→「作ったアクターにaddMover関数で動きを与える」がAIMSにおけるキャラクタ制御の基本です。

addMoverで動作を操作するためには、createActorを実行したときに返ってくるアクターハンドル(number)を保存しておく必要があります。

開始時刻はその動作を開始する時刻(単位フレーム)です。この命令を呼んた直後を0として、指定したフレーム数だけ経過したら動作が始まります。継続時間は動作を続ける時間となります。

addMoverで指定できる動作命令は「MOVER定義一覧」のページを参考にしてください。
(現在公開されている1.01ではMOVER_MOVETO_L以降の定義は実装されていません)

clearMover関数は登録されている動作命令(待機中のもの含む)を全て消去します。ただし、既に変更されてしまった値(速度・角度・透明度・カラーなど)は元に戻りません。

AIMS addMoverサンプル


7月 27th, 2010 |



キーインプット

チュートリアル No Comments »

AIMSではキーの入力に以下の関数を使用します。[]内の引数は省略できます。

  • getJoyPressCount([ゲームパッドID,]キーID)
  • isJoyPressed([ゲームパッドID,]キーID)

キーIDはそれぞれ以下のようなものが定義されています。

  • BUTTON_UP/BUTTON_DOWN/BUTTON_RIGHT/BUTTON_LEFT
    キーボード・USBゲームパッドの上下左右キー。
  • BUTTON_TRIG1~BUTTON_TRIGXX
    ゲームパッドのボタン。キーボードでは設定ファイルの記述に準拠します。

getJoyPressCountはそのボタンが押されている時間(フレーム数)を、isJoyPressedは押されているかどうかのboolean値(trueかfalse)を、それぞれ返します。あるボタンが1秒間(60フレーム)押しっぱなしになっていたらgetJoyPressCountは60を返すという仕組みです。

サンプルの中で表示位置を移動するのに使っているaddMover関数は別のページで説明します。

AIMSキー入力サンプル


7月 27th, 2010 |



画像を表示する

チュートリアル No Comments »

AIMSでは画像の表示には2段階の手続きが必要です。手続きとは

  • 画像のロード:loadGraphic(AIMS.exeからの相対パス)
  • 画像の表示:createActor(グラフィックハンドル, X座標, Y座標, レイヤー番号)

これらの関数を用いて画像を読み込み、表示させます。

また、表示している画像は明示的に開放を行う必要があります。

  • 画像の消去:vanish(アクターハンドル)
  • 画像リソースの開放:deleteGraphic(グラフィックハンドル)

開放しない場合VGAのメモリに残り続けるため、メモリ不足になる可能性があります。

AIMSでは表示させた画像ひとつひとつを「アクター」と呼びます。
正確には「画像を表示している」のではなく「アクターが画像を表示している」と言うのが正しい表現になります。

AIMS 画像表示サンプル


7月 27th, 2010 |



AIMSの起動と終了

チュートリアル No Comments »

AIMSのパッケージをダウンロードして解凍すると、protoというフォルダがあります。この中身が最低限のパッケージファイルです。

  • common.lua
    ゲームの制作に必要と思われる関数一式を記述するファイル。
    DNA-Sで制作に使っている関数などが記述されています。
  • AIMS.lua
    AIMSの起動に必要な設定が一式記述されたファイル。
    書き換えする必要はほとんどありません。
  • boot.lua
    AIMSが起動して一番最初に読み込むスクリプトファイル。

AIMSは起動するとまずboot.luaをオープンします。
そしてLuaの流儀に従い、functionの外で宣言された変数をグローバル変数として組み込みます。
サンプルでははじめに”prequire(“common.lua”);”と記述されていますが、これでcommon.luaの中に記述された関数などが組み込まれます。
次に素材の各種リソースハンドルを保存するための「G」「S」「A」というテーブルをグローバル変数として宣言しています。

※別にリソースハンドルはどんな名前の変数に保存してもいいんですが、テーブルの中に入れておくと解放が楽だったり、他の変数との衝突が避けられるという理由から、D.N.A. Softwaresとしては上記のテーブルの中に保持することを推奨しています。

それらの動作が終了したら、まず「OnLoad」という関数を実行します。
この「OnLoad」という関数を実行するとbootシーンという最初のシーンを起動します。
(※シーンに付いては後述)

スクリプト内部で「quit」という終了関数が呼ばれるか、Windowsの閉じるボタンが押されると現在実行中のすべてのシーンを強制終了し「OnVanish」という関数を実行しプログラムを終了します。


7月 27th, 2010 |



A.I.M.S.のはじめかた。その2

チュートリアル No Comments »

AIMSでの開発に必要な環境は以下の通りです。

OS : Windows 2000/XP/XP64/Vista/Vista64
CPU : Pentium 4以降
MEMORY : 2000/XP 256MB以上・Vista 512MB以上
HDD : 100MB以上
VIDEO : DirectX 9に対応したグラフィックボード
DirectX 9 (Nov 2007)

またLuaスクリプトの作成・編集に高機能エディタの利用を推奨します。

さらに、以下の機能を利用する場合はそれぞれ対応するソフトウェアのインストールが必要です。

  • 動画を再生する場合、DirectShowフィルタに対応したCodecおよび動画
  • TrueFontを表示する場合、TrueTypeフォント

ある程度のスペックがあればノートパソコンでも開発は可能ですが、基本的には自己責任となります。


10月 1st, 2008 |



できること、できないこと

チュートリアル No Comments »

AIMSでは、以下の機能が利用可能です。

・同一テクスチャから切り出したグラフィックパーツの高速描画
・IMEを利用した日本語入力
・DirectShowを利用しての動画のオブジェクト的な表示
・TrueFontを利用しての文字列描画
・表示画面の取得および再利用

また、以下の機能については試験中の機能のため、ここでは取り扱いません。

・TCP/IPの通信機能
・TCP/IPのサーバ起動
・UDP/IPのデータ送信
・UDP/IPのデータ受信


9月 29th, 2008 |



A.I.M.S.のはじめかた。その1

チュートリアル No Comments »

チュートリアルカテゴリでは、AIMSを用いたゲーム作りについて必要な情報を集めていきます。

AIMSでゲームを開発する際に必要となる、基本的な作業は以下の通りです。
・AIMSの設定
・画像のロード
・画像の表示
・音楽やSEの再生
・画面の遷移

また、AIMSでゲームを作るときに必要となるLuaスクリプトの記述方法や注意点なども、このカテゴリに記載していく予定です。


9月 29th, 2008 |



  • 最近の投稿

    • A.I.M.S. ver.1.20公開
    • アクターの当たり判定
    • createActor & addMover
    • キーインプット
  • 最近のコメント

    • カテゴリー

      • おしらせ
      • サンプル
      • チュートリアル
      • リリース
    • リンク - AIMS開発

      • D.N.A.Softwares
    • リンク - ライブラリ

      • The Programming Language Lua
      • 工事中(仮)
    RSS XHTML CSS ログイン
    Wp Theme by n Graphic Design | i Software Reviews
    Powered by Wordpress