思い通りに動いてくれません…
Posted: 2015年11月17日(火) 17:50
部活でプログラミングしているのですが、とても困っています。
windows7
Visual Studio 2010 Professional
DXライブラリを使用
プログラミング歴 1年程度
です。
下記が書いたプログラムです。
Scene.h Menu.h main.cpp
Menu.cpp
Q.cpp
これを実行してみると、まずZを押してもQ1と表示されません。
しかし、ブレークポイントなどを使用して調べたところ、
Menu関数でsQ1の代入はされているのに、
次のフレームでcase sQ1に行かないのです。
何が起こっているのでしょうか?
1週間程度考えましたが、全く分かりませんでした…
一緒に考えて頂けると嬉しいです。宜しくお願いします。
windows7
Visual Studio 2010 Professional
DXライブラリを使用
プログラミング歴 1年程度
です。
下記が書いたプログラムです。
Scene.h Menu.h main.cpp
#include"DxLib.h"
#include"Scene.h"
#include"Menu.h"
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
DxLib_Init(),
ChangeWindowMode(TRUE),
SetDrawScreen(DX_SCREEN_BACK);
while(ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 && CheckHitKey(KEY_INPUT_ESCAPE)==0){
switch(sFlag){
case sMenu:
Menu();
break;
case sQ1:
Q1();
break;
case sQ2:
Q2();
break;
case sQ3:
Q3();
break;
default:
break;
}
DxLib_End();
return 0;
}
#include"DxLib.h"
#include"Scene.h"
#include"Menu.h"
void Menu(){
DrawString(0,0,"Menu",GetColor(255,255,255));
if(CheckHitKey(KEY_INPUT_Z)==1){
if(keyZflag==0){
sFlag=sQ1;
keyZflag=1;
}
}else{
keyZflag=0;
}
}
#include"DxLib.h"
#include"Scene.h"
#include"Menu.h"
void Q1(){
DrawString(0,20,"Q1",GetColor(255,255,255));
if(CheckHitKey(KEY_INPUT_Z)==1){
if(keyZflag==0){
sFlag=sQ2;
keyZflag=1;
}
}else{
keyZflag=0;
}
}
void Q2(){
DrawString(0,20,"Q2",GetColor(255,255,255));
if(CheckHitKey(KEY_INPUT_Z)==1){
if(keyZflag==0){
sFlag=sQ3;
keyZflag=1;
}
}else{
keyZflag=0;
}
}
void Q3(){
DrawString(0,20,"Q3",GetColor(255,255,255));
if(CheckHitKey(KEY_INPUT_Z)==1){
if(keyZflag==0){
sFlag=sMenu;
keyZflag=1;
}
}else{
keyZflag=0;
}
}
しかし、ブレークポイントなどを使用して調べたところ、
Menu関数でsQ1の代入はされているのに、
次のフレームでcase sQ1に行かないのです。
何が起こっているのでしょうか?
1週間程度考えましたが、全く分かりませんでした…
一緒に考えて頂けると嬉しいです。宜しくお願いします。