無題
Posted: 2010年8月26日(木) 11:58
現在ゲームのスタート画面を作っております。
環境はビジュアル Cです。
DXライブラリでのゲーム作成です。
C言語の館に書かれているものを参考とさせていただいております。
皆様のご助力をお願いします。
やりたい事:選択中に「エンターボタン」を押すと、画面を切り替えて、ストーリーを表示したい。
問題点:選択してからENTERを押すと、画面のロゴのみが消滅し、テキストが表示されない。
nclude "DxLib.h"
#include "stdio.h"
int GetHitKeyStateAll_2(int KeyStateBuf[/url]){
char GetHitKeyStateAll_Key[256];
GetHitKeyStateAll( GetHitKeyStateAll_Key );
for(int i=0;i<256;i++){
if(GetHitKeyStateAll_Key==1) KeyStateBuf++;
else KeyStateBuf=0;
}
return 0;
}
void char_disp(int White,int y){
DrawString( 170 , y , "→" , White );
DrawString( 190 , 320 , "スタート" , White );
DrawString( 190 , 340 , "操作方法" , White );
DrawString( 190 , 360 , "終了" , White );
}
/*void story(void){
ClearDrawScreen()==0;
int White = GetColor( 255 , 255 , 255 ) ; // 白色の値を取得
DrawString(100,500,"世界観200XX年軍事企業の台頭に頭を悩ませ始めた政府はある研究をスタートさせた。",White);
}*/
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
ChangeWindowMode( TRUE ) ; // ウインドウモードに変更
if( DxLib_Init() == -1 ) return -1; // DXライブラリ初期化処理 エラーが起きたら終了
int key[256];
int White,y=320;
LoadGraphScreen( 170 , 0 , "Logo.png" , TRUE ) ; //ヒョウジソウサ。カイゼン ノ ヨチアリ
White = GetColor( 255 , 255 , 255 ) ; // 白色の値を取得
while(ProcessMessage()==0 && GetHitKeyStateAll_2(key)==0 && key[KEY_INPUT_ESCAPE]==0){
//↑メッセージ処理 ↑画面をクリア ↑入力状態を保存 ↑ESCが押されていない
char_disp(White,y); // 文字を描画
if( key[KEY_INPUT_DOWN]==1 || ( key[KEY_INPUT_DOWN]%5==0 && key[KEY_INPUT_DOWN]>30)){
// たった今押したか、30カウンター以上押しっぱなしかつ5回に一度
ClearDrawScreen();
LoadGraphScreen( 170 , 0 , "Logo.png" , TRUE ) ; //ヒョウジソウサ。カイゼン ノ ヨチアリ
y+=20;
if(y==380) // y座標が260なら(選択が一番下なら)
y=320; // 選択座標を一番上に
}
if(CheckHitKey(KEY_INPUT_RETURN) ==1 ){
ClearDrawScreen();
if(y=320){
int White = GetColor( 255 , 255 , 255 ) ; // 白色の値を取得
DrawString(100,500,"世界観200XX年軍事企業の台頭に頭を悩ませ始めた政府はある研究をスタートさせた。",White);
}
else if(340){
}
else{
DxLib_End();
return 0;
}
}
ScreenFlip();//裏画面反映
}
WaitKey() ; // キーの入力待ち(『WaitKey』を使用)
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
環境はビジュアル Cです。
DXライブラリでのゲーム作成です。
C言語の館に書かれているものを参考とさせていただいております。
皆様のご助力をお願いします。
やりたい事:選択中に「エンターボタン」を押すと、画面を切り替えて、ストーリーを表示したい。
問題点:選択してからENTERを押すと、画面のロゴのみが消滅し、テキストが表示されない。
nclude "DxLib.h"
#include "stdio.h"
int GetHitKeyStateAll_2(int KeyStateBuf[/url]){
char GetHitKeyStateAll_Key[256];
GetHitKeyStateAll( GetHitKeyStateAll_Key );
for(int i=0;i<256;i++){
if(GetHitKeyStateAll_Key==1) KeyStateBuf++;
else KeyStateBuf=0;
}
return 0;
}
void char_disp(int White,int y){
DrawString( 170 , y , "→" , White );
DrawString( 190 , 320 , "スタート" , White );
DrawString( 190 , 340 , "操作方法" , White );
DrawString( 190 , 360 , "終了" , White );
}
/*void story(void){
ClearDrawScreen()==0;
int White = GetColor( 255 , 255 , 255 ) ; // 白色の値を取得
DrawString(100,500,"世界観200XX年軍事企業の台頭に頭を悩ませ始めた政府はある研究をスタートさせた。",White);
}*/
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
ChangeWindowMode( TRUE ) ; // ウインドウモードに変更
if( DxLib_Init() == -1 ) return -1; // DXライブラリ初期化処理 エラーが起きたら終了
int key[256];
int White,y=320;
LoadGraphScreen( 170 , 0 , "Logo.png" , TRUE ) ; //ヒョウジソウサ。カイゼン ノ ヨチアリ
White = GetColor( 255 , 255 , 255 ) ; // 白色の値を取得
while(ProcessMessage()==0 && GetHitKeyStateAll_2(key)==0 && key[KEY_INPUT_ESCAPE]==0){
//↑メッセージ処理 ↑画面をクリア ↑入力状態を保存 ↑ESCが押されていない
char_disp(White,y); // 文字を描画
if( key[KEY_INPUT_DOWN]==1 || ( key[KEY_INPUT_DOWN]%5==0 && key[KEY_INPUT_DOWN]>30)){
// たった今押したか、30カウンター以上押しっぱなしかつ5回に一度
ClearDrawScreen();
LoadGraphScreen( 170 , 0 , "Logo.png" , TRUE ) ; //ヒョウジソウサ。カイゼン ノ ヨチアリ
y+=20;
if(y==380) // y座標が260なら(選択が一番下なら)
y=320; // 選択座標を一番上に
}
if(CheckHitKey(KEY_INPUT_RETURN) ==1 ){
ClearDrawScreen();
if(y=320){
int White = GetColor( 255 , 255 , 255 ) ; // 白色の値を取得
DrawString(100,500,"世界観200XX年軍事企業の台頭に頭を悩ませ始めた政府はある研究をスタートさせた。",White);
}
else if(340){
}
else{
DxLib_End();
return 0;
}
}
ScreenFlip();//裏画面反映
}
WaitKey() ; // キーの入力待ち(『WaitKey』を使用)
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}