IMW3の仕様

 変数
 変数はすべてグローバル変数です。グローバル変数とは、プログラムの中のどこでも値の参照、代入ができるタイプのもので、便利である反面、プログラムが長くなると、値がどこでどうなっているのか、分かりにくくなってしまう事があります。できるだけ区別しやすい変数名をつけることで解決してください。
 変数の使用数は512個まで可能で、512個で不足の場合は配列変数を利用します。配列変数はサイズとは無関係に使用数1個として扱われます。
 配列変数のサイズは1個につき 65535 まで可能で、Data コマンドで宣言するときに 必要なメモリーを確保しています。
 宣言した配列変数は、
  n = name(3,8) ;
 のように使用します。
 変数や配列変数は、そのままで小数を扱えます。IMW3内部で変数データは8バイトデータ(double型)で処理しています。

 予約変数
 予約変数はIMW3が自動的に値をセットしている変数で、ユーザーは自由にどこでも 値を参照できます。

 参照 予約変数の一覧

 演算
 演算子は、加、減、乗、除、剰余( + − * / % )が あります。演算の優先順位については、一般的な数学や プログラミング言語と同等です。
 算術関数には、三角関数と平方根を求める 関数などがあります。

 注意 演算子と−符号がつながらないように記述してください。
  悪い例: n = s * -5 ; // * と - がつながっている
  良い例: n = s *(-5) ; または n = -5 * s ;

 カラーパレット
 IMW3は実行時に0番から15番まで16色のパレットを準備し、標準的な色を 設定しています。
 この16色のパレットは、2次元のグラフィックコマンドや文字列表示コマンドでの 描画色の指定に使います。3次元キャラクタを描画するコマンドでは使われません。
 
 パレット番号に対応する色は SetPal コマンドによりプログラムの なかで自由に設定できます。
 グラフィックコマンド(2次元)でパレット番号の値を「−1」とすると透過色で 塗りつぶします。(輪郭のみが描かれる)

 描画スクリーン指定
 グラフィック、文字列などを描画するコマンドでは描画するスクリーンを数値で指定します。
 スクリーン番号「0」は実行ウィンドウ、「1〜8」は裏画面、「-1」を指定するとダイアログボックスになります。
 裏画面を準備していない状態で「1〜8」を指定するとエラーを出します。ダイアログボックスが開いていない状態で「-1」を指定してもエラーを出します。

 コントロール
 コントロールとは、プッシュボタン、エディット、リスト、などをさします。
 CreateControl コマンドにより作成し、利用することが できます。
 コントロールのタイトル文字列と認識文字列の文字数は32文字(全角で16文字)まで、 コントロールの使用数は256個までです。

 メニュー
 メニューは16個まで、各メニューに設定するポップアップメニューは各16個まで、 メニュー名、ポップアップメニュー名のタイトル文字数と認識文字列の文字数は 32文字(全角で16文字)までです。

 3Dグラフィック
 座標は右手座標です。3Dパック(3Dキャラクタ)は256個 まで使用できます。
 詳細はグラフィック(3次元)についてを参照してください。

 サウンドデータ
 WAVEファイルとMIDIファイルの再生が可能です。
 内部にWAVEデータ用のバッファを作成して、WAVEデータ(音データ)の編集、 再生、保存が可能です。
 WAVEバッファは32個まで確保でき、オーディオ形式は 「 PCM 22.050kHz 8ビットモノラル 」です。

 ビデオファイルの再生
 ビデオ再生コマンドにより主なビデオファイルの再生・制御ができます。
 複数のビデオファイルの同時再生はできません。
 再生可能なファイル形式は下記になります(全ての確認はできていません)
  *.mp4 *.wmv *.mov *.avi *.asf *.wav *.mp3 *.wma
  *.3g2 *.3gp *.3gp2 *.3gpp *.aac *.adts *.m4a *.m4v *.sami *.smi

 カメラ制御
 カメラ制御コマンドによりカメラ画像の表示ができます。
 複数台のカメラ画像を切替えられますが、同時に複数の表示はできません。
 カメラは一般的なUSBカメラやノートPCなどの内臓カメラに対応しています。(全ての確認はできていません)

 データの破棄について
 IMW3には、メモリーなどを確保するコマンドがいくつかあります。一般的なプログラミング言語では、確保したものは必ず破棄していますが、IMW3では内部で自動的に破棄を行っているため、特に破棄について意識する必要はありません。