'モノクロアクションテスト *母艦設定 タイトル=「MonoAct ver,0.01」。 著作情報=「(c)2004canot」。 母艦の、タイトルは、タイトル 母艦の、幅は、198 母艦の、高さは、155 母艦の、背景色は、RGB(100, 155, 255) //母艦の、リサイズは、オフ。 枠固定に、母艦スタイル設定。 *外部ファイルロード 文字サイズは、8px。 /* モノクロ起動中を、共有読込。 もし、それが、1ならば、(「多重起動はシステム上禁止されています。」と、言。終。)。 */ 「User32」の、「DWORD GetSystemMenu(DWORD,BOOL)」を、 「?,?」の、「API_GetSystemMenu」として、DLLを利用。 「User32」の、「BOOL EnableMenuItem(DWORD,int,int)」を、 「?,?,?」の、「API_EnableMenuItem」として、DLLを利用。 *GUIセット ステージを、イメージとして、作成。 その、透過処理は、オン。 その、幅は、640; その、高さは、160; ステージの、位置は、(0,0); メインキャラを、イメージとして、作成。 その、透過処理は、オン。 その、幅は、16; その、高さは、24; メインキャラの、位置は、(10,0); カラーラベルを、ラベルとして、作成。 その、位置は、(5,5); その、可視は、オフ。 /* INKEYを、ラベルとして、作成。 その、位置は、(60,5); その、可視は、オフ。 KEYLOGを、ラベルとして、作成。 その、位置は、(80,5); その、可視は、オフ。 ジャンプフラグを、ラベルとして、作成。 その、位置は、(100,5); その、可視は、オフ。 */ 方向を、ラベルとして、作成。 その、位置は、(120,5); その、可視は、オフ。 CHRCSRを、ラベルとして、作成。 その、位置は、(140,5); その、可視は、オフ。 *母艦出現 母艦浮上。 *バッファフォーム作成 オフスクリーンバッファを、フォームとして、作成。 その、タイトルは、「{タイトル}」。 その、可視は、オフ。 バッファのハンドル=API_GetSystemMenu((オフスクリーンバッファの、ハンドル),0) API_EnableMenuItem(バッファのハンドル,$F060,1)//閉じるボタンを無効 *数値設定 CHRCOUNT=3。 STGCOUNT=4; STG=2。 INKEY=0;KEYLOG=0; SPD=2.8; CHRY=0; CHRX=10; SCRX=0; SCRY=0; ジャンプフラグ=1; 配列変数=0; 落下フラグ=0; /* それ=1。 モノクロ起動中へ、共有保存。 */ *キャラクタグラフィックロード LOOPFLAG=0; CHRCOUNT回( 「キャラクタゼロバッファ{LOOPFLAG}」を、イメージとして、作成。 その、画像は、「chr0_{LOOPFLAG}.png」。 その、位置は、(0,LOOPFLAG*24)。 「キャラクタゼロバッファ{LOOPFLAG}」を、オフスクリーンバッファに、乗せ。 LOOPFLAG=LOOPFLAG+1; )。 LOOPFLAG=0; 抜け。 STGCOUNT回( 「ステージバッファ{LOOPFLAG}」を、イメージとして、作成。 その、画像は、「map{LOOPFLAG}_msk.png」。 その、位置は、(16,LOOPFLAG*160)。 「ステージバッファ{LOOPFLAG}」を、オフスクリーンバッファに、乗せ。 LOOPFLAG=LOOPFLAG+1; )。 LOOPFLAG=0; 抜け。 STGCOUNT回( 「ステージスキンバッファ{LOOPFLAG}」を、イメージとして、作成。 その、画像は、「map{LOOPFLAG}.png」。 その、位置は、(26,LOOPFLAG*180)。 「ステージスキンバッファ{LOOPFLAG}」を、オフスクリーンバッファに、乗せ。 LOOPFLAG=LOOPFLAG+1; )。 LOOPFLAG=0; 抜け。 *ステージグラフィックロード ステージバッファ0の、画像は、「ステージバッファ{STG}」; ステージの、画像は、「ステージスキンバッファ{STG}」; 0.5秒、待。 CHRY=108; CHRX=50; メインキャラの、画像は、「キャラクタゼロバッファ0」; メインキャラの、可視は、オン。 方向=右。 *スタート 0秒、待。 母艦の、キー押した時は、(INKEY=押されたキー。)。 *更新 もし、(CHRY>165)なら、( GameOverに、飛ぶ。 )違えば、もし、(CHRX<0)なら、( ステージスクロールリバースを、呼ぶ。 )違えば、もし、(CHRX>187)なら、( ステージスクロールを、呼ぶ。 )。 CHRCSR=「({CHRX},{CHRY})」 *ジャンプ もし、(ジャンプフラグ>1)なら、( メインキャラの、画像は、「キャラクタゼロバッファ1」 ジャンプフラグ=ジャンプフラグ-1; もし、(KEYLOG=37)なら、( CHRX=CHRX-(SPD*2); )違えば、もし、(KEYLOG=39)なら、(CHRX=CHRX+(SPD*2); )。 CHRY=CHRY-(6*ジャンプフラグ); 落下フラグ=1; //入力内容処理へ、飛ぶ。 ); *特殊 ステージバッファ0の、(CHRX+SCRX+8,CHRY-SCRY+5)を、座標色取得。 カラーラベル=それ。 もし、(カラーラベル=0)なら、( CHRX=(メインキャラの、X); CHRY=(メインキャラの、Y); 落下へ、飛ぶ。 ) もし、(ジャンプフラグ>1)なら、( 入力内容処理へ、飛ぶ。 ); ステージバッファ0の、(CHRX+SCRX+8,CHRY-SCRY+22)を、座標色取得。 カラーラベル=それ。 もし、(カラーラベル=0)なら、(CHRY=CHRY-6;落下フラグ=0;)。 *落下 ステージバッファ0の、(CHRX+SCRX+8,CHRY-SCRY+24)を、座標色取得。 カラーラベル=それ。 もし、(カラーラベル=0)なら、( 落下フラグ=0;入力内容処理へ、飛ぶ; ); ステージバッファ0の、(CHRX+SCRX+8,CHRY-SCRY+23)を、座標色取得。 カラーラベル=それ。 もし、(カラーラベル=0)でなければ、( メインキャラの、画像は、「キャラクタゼロバッファ2」。 CHRY=CHRY+6; 落下フラグ=1;ジャンプフラグ=0; )。 *入力内容処理 メインキャラの、位置は、(CHRX,CHRY); もし、(INKEY=38)なら、( もし、(落下フラグ=0)ならば、(ジャンプフラグ=4;)。INKEY=KEYLOG; )。 もし、(INKEY=37)なら、( もし、(KEYLOG=39)なら、(KEYLOG=INKEY;脱出へ、飛ぶ。); CHRX=CHRX-SPD;方向=左。KEYLOG=INKEY;キャラクタ動作を、呼ぶ。 )違えば、もし、(INKEY=39)なら、( もし、(KEYLOG=37)なら、(KEYLOG=INKEY;脱出へ、飛ぶ。); CHRX=CHRX+SPD;方向=右。KEYLOG=INKEY;キャラクタ動作を、呼ぶ。 )違えば、もし、(INKEY=40)なら、( KEYLOG=INKEY; CHRX=CHRX; もし、(落下フラグ=0)ならば、(メインキャラの、画像は、「キャラクタゼロバッファ0」。); 反転処理ラベルを、呼ぶ。 )違えば、(INKEY=KEYLOG;)。 *脱出 もし、(落下フラグ=1)ならば、(0.001秒、待。 )違えば、(0.002秒、待。)。 抜ける。 更新へ、飛。 *キャラクタ動作 //INKEY=40; もし、(落下フラグ=1)ならば、(反転処理ラベルへ、飛ぶ。)。 もし、配列変数が、0ならば、( メインキャラの、画像は、「キャラクタゼロバッファ0」); もし、配列変数が、1ならば、( メインキャラの、画像は、「キャラクタゼロバッファ1」); もし、配列変数が、2ならば、( メインキャラの、画像は、「キャラクタゼロバッファ0」); もし、配列変数が、3ならば、( メインキャラの、画像は、「キャラクタゼロバッファ2」); 配列変数=配列変数+1; もし、配列変数が、4ならば、配列変数は、0; *反転処理ラベル もし、(方向=左)なら、メインキャラを、水平反転。 0秒、待。 抜ける。 *GameOver メインキャラの、可視は、オン。 3秒、待。 抜け。抜け。 INKEY=40; SCRX=0; SCRY=0; ステージの、位置は、(0,0)。 メインキャラの、可視は、オフ。 ステージグラフィックロードへ、飛ぶ。 *ステージスクロール 19回( メインキャラの、位置は、((ステージの、X+187+SCRX-10),CHRY); ステージの、位置は、((ステージの、X-10),0)。 0.0008秒、待つ。 ) CHRX=2; SCRX=SCRX+190; 抜ける。 *ステージスクロールリバース 19回( メインキャラの、位置は、((ステージの、X+2+SCRX+10),CHRY); ステージの、位置は、((ステージの、X+10),0)。 0.0008秒、待つ。 ) CHRX=185; SCRX=SCRX-190; 抜ける。 /*タテスクロールページのみ *ステージスクロールタテ 6回( メインキャラの、位置は、(CHRX,(ステージの、Y+CHRY+SCRY+10)); ステージの、位置は、(0,(ステージの、Y+10))。 0.005秒、待つ。 ) CHRY=(ステージの、Y+24+SCRY); SCRY=SCRY+60; 抜ける。 */