同画像の複数表示(ランダムな値)について質問
Posted: 2013年1月21日(月) 01:13
初めましてkiyuと申します。
現在課題の提出のためにプログラミングに初挑戦中なのですが如何せんわからないところが出てきましたので今回質問させて頂きました。
・DXライブラリで音ゲー(ビーマニ)のようなものを製作予定(途中完成でも可)
・プログラミング経験は無し(今回が初めて)
・提出までの期間にあまり余裕がないので本来は自分で考え、反映するべきなのですが今回はサンプルとして何かアイディアをいただければ幸いです。
※同じ画像を複数回登場させる(ビーマニで言う落ちてくる画像)ことがイマイチ理解できていません。譜面までは作る予定がなく、ランダムな値で作成予定ですが自分で組んでみたところエラーが出てしまい余計訳がわからなくなったので出来ているところまで載せます。
#include "DxLib.h"
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
ChangeWindowMode( TRUE ); // ウィンドウモードに設定
DxLib_Init(); // DXライブラリ初期化処理
SetDrawScreen( DX_SCREEN_BACK ); //描画先を裏画面に設定
int Cr;
int a = 1;
int b = 1;
int c = 1;
int d = 1;
int e = 1;
int Random[5];
int Handle; // 画像格納用ハンドル
Handle = LoadGraph( "greenber.png" ); // 画像のロード
Random[0] = GetRand(10);
Random[1] = GetRand(10);
Random[2] = GetRand(10);
Random[3] = GetRand(10);
Random[4] = GetRand(10);
// while(裏画面を表画面に反映, メッセージ処理, 画面クリア)
while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 ){
DrawGraph( 100, a, Handle, TRUE ); //画像の描画
DrawGraph( 130, b, Handle, TRUE );
DrawGraph( 160, c, Handle, TRUE );
DrawGraph( 190, d, Handle, TRUE );
DrawGraph( 220, e, Handle, TRUE );
a = a + Random[0];
b = b + Random[1];
c = c + Random[2];
d = d + Random[3];
e = e + Random[4];
Cr = GetColor( 255 , 255 , 255 ); // 白色の値を取得y480x640
DrawLine(100 , 0, 100,480 , Cr);
DrawLine(130 , 0, 130,480 , Cr);
DrawLine(160 , 0, 160,480 , Cr);
DrawLine(190 , 0, 190,480 , Cr);
DrawLine(220 , 0, 220,480 , Cr);
DrawLine(250 , 0, 250,480 , Cr);
Cr = GetColor( 255 , 0 , 0 ) ; // 判定ライン
DrawLine(90 , 430, 260 ,430 , Cr ) ;
ScreenFlip(); //裏画面を表画面に反映
}
DxLib_End(); // DXライブラリ終了処理
return 0;
}
現在課題の提出のためにプログラミングに初挑戦中なのですが如何せんわからないところが出てきましたので今回質問させて頂きました。
・DXライブラリで音ゲー(ビーマニ)のようなものを製作予定(途中完成でも可)
・プログラミング経験は無し(今回が初めて)
・提出までの期間にあまり余裕がないので本来は自分で考え、反映するべきなのですが今回はサンプルとして何かアイディアをいただければ幸いです。
※同じ画像を複数回登場させる(ビーマニで言う落ちてくる画像)ことがイマイチ理解できていません。譜面までは作る予定がなく、ランダムな値で作成予定ですが自分で組んでみたところエラーが出てしまい余計訳がわからなくなったので出来ているところまで載せます。
#include "DxLib.h"
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
ChangeWindowMode( TRUE ); // ウィンドウモードに設定
DxLib_Init(); // DXライブラリ初期化処理
SetDrawScreen( DX_SCREEN_BACK ); //描画先を裏画面に設定
int Cr;
int a = 1;
int b = 1;
int c = 1;
int d = 1;
int e = 1;
int Random[5];
int Handle; // 画像格納用ハンドル
Handle = LoadGraph( "greenber.png" ); // 画像のロード
Random[0] = GetRand(10);
Random[1] = GetRand(10);
Random[2] = GetRand(10);
Random[3] = GetRand(10);
Random[4] = GetRand(10);
// while(裏画面を表画面に反映, メッセージ処理, 画面クリア)
while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 ){
DrawGraph( 100, a, Handle, TRUE ); //画像の描画
DrawGraph( 130, b, Handle, TRUE );
DrawGraph( 160, c, Handle, TRUE );
DrawGraph( 190, d, Handle, TRUE );
DrawGraph( 220, e, Handle, TRUE );
a = a + Random[0];
b = b + Random[1];
c = c + Random[2];
d = d + Random[3];
e = e + Random[4];
Cr = GetColor( 255 , 255 , 255 ); // 白色の値を取得y480x640
DrawLine(100 , 0, 100,480 , Cr);
DrawLine(130 , 0, 130,480 , Cr);
DrawLine(160 , 0, 160,480 , Cr);
DrawLine(190 , 0, 190,480 , Cr);
DrawLine(220 , 0, 220,480 , Cr);
DrawLine(250 , 0, 250,480 , Cr);
Cr = GetColor( 255 , 0 , 0 ) ; // 判定ライン
DrawLine(90 , 430, 260 ,430 , Cr ) ;
ScreenFlip(); //裏画面を表画面に反映
}
DxLib_End(); // DXライブラリ終了処理
return 0;
}