描画について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Ω

描画について

#1

投稿記事 by Ω » 15年前

初めまして Ω(オメガ)といいます。
覚えてる人は御久し振りです。
以前STGをプログラミングしてたんですが、ちょっとした悲劇があって、
もう一度組み直すことにしました。 が、エラーは出ないのに思い通りに動きません。
アローキーの入力に合わせて自機(Ziki)を動かしたいのですが、自機が表示されるだけで動きません。
なんか面倒な組み方してるのは気にしないでください。
環境はBCC Developerです。  返答お願いします。

以下コード↓
#include "DxLib.h"

#define Zimage 2   //Zikiの画像数
#define Zspeed 5   //Zikiのスピード

#define Timage 2
#define Tspeed 5

#define tamax 50  //弾数

typedef struct   {
   int x,y,Tx,Ty; }Zikidate;

typedef struct{
   int x,y;       }Tekidate;
   
Zikidate Ziki;
Tekidate Teki;


char Key[256];
int ZikiM[Zimage],TekiM[Timage];


int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
if( ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK || DxLib_Init() == -1 ) return -1;
////////////////////////////////////////////////////////////////////////////////////////////////

SetDrawScreen(DX_SCREEN_BACK);

Ziki.x=0,Ziki.y=0;

LoadDivGraph("Ziki.png",2,2,1,20,28,ZikiM);

////////////////////////////////////////////////////////////////////////////////////////////////
while(1){    

ClearDrawScreen();

if(Key[KEY_INPUT_LEFT]==1 )Ziki.x-=Zspeed;
if(Key[KEY_INPUT_RIGHT]==1)Ziki.x+=Zspeed;
if(Key[KEY_INPUT_UP]==1   )Ziki.y-=Zspeed;
if(Key[KEY_INPUT_DOWN]==1 )Ziki.y+=Zspeed;

DrawGraph(Ziki.x,Ziki.y,ZikiM[0],TRUE);

ScreenFlip();


if(ProcessMessage()==-1)break;
if(CheckHitKey(KEY_INPUT_Z)==1)break;

}   
////////////////////////////////////////////////////////////////////////////////////////////////
DxLib_End();
return 0;
}

fatens

Re:描画について

#2

投稿記事 by fatens » 15年前

キー入力を調べてないからかと。
GetHitKeyStateAll(Key);

Ω

Re:描画について

#3

投稿記事 by Ω » 15年前

なんという盲点
素早い返答ありがとうございます
解決しました 画像

閉鎖

“C言語何でも質問掲示板” へ戻る