ページ 11

マップを描画したいのですが

Posted: 2014年6月18日(水) 23:17
by ついうくん
#include "DxLib.h"
#include <math.h>

#define g 9.8067
#define y_max 2.000

#define MAP_WIDTH 10
#define MAP_HEIGHT 3

#define MAP_SIZE 64


char Key[256];
int px,py;
int time,time1;
int handle[16];
int haikei;
int flag=0;
int color=GetColor(255,255,255);
double t;

int mapdata[MAP_HEIGHT][MAP_WIDTH]={
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0}
};



void move(){
if(Key[KEY_INPUT_RIGHT]==1){
px+=5;
if(px>640-32) px=640-32;
}

if(Key[KEY_INPUT_LEFT]==1){
px-=5;
if(px<0) px=0;
}

if(Key[KEY_INPUT_UP]==1){
if(flag!=1) time=GetNowCount();
flag=1;
}

}


void Draw(){
DrawGraph(px,py,handle[8],TRUE);
DrawFormatString(5,5,color,"M:メニュー",34,34);
}


void jump(){
if(flag==1){
time1=GetNowCount();
t=(double)(time1-time)/1000.000;
py=(int)((sqrt(2.000*g*y_max)*t-0.500*g*t*t)*480.000/y_max);
if(py>0)
DrawGraph(px,480-py,handle[8],TRUE);
else
flag=0;
}
}



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



px=500;
py=500;

SetDrawScreen(DX_SCREEN_BACK);
LoadDivGraph("画像/キLャラクタ10.png",16,4,4,32,32,handle);

while(!ProcessMessage() && !ClearDrawScreen() && !GetHitKeyStateAll( Key ) && !Key[KEY_INPUT_ESCAPE]){


for(int i=0;i<MAP_HEIGHT;i++){
for(int j=0;j<MAP_WIDTH;j++){
if(mapdata[j]==0){
DrawBox(j*MAP_SIZE,i*MAP_SIZE,j*MAP_SIZE+MAP_SIZE,i*MAP_SIZE+MAP_SIZE,GetColor(255,0,0),TRUE);
}
}
}



Draw();
jump();
move();

ScreenFlip();

}

DxLib_End();
return 0;
}


と記述したのですが、マップは表示されるんですが、キャラが表示されず、当然キャラを動かすこともできません。

原因が分かる方は、申し訳ございませんが教えてください

Re: マップを描画したいのですが

Posted: 2014年6月18日(水) 23:21
by みけCAT
とりあえず、コードを提示するときはBBcodeを有効にした状態でcodeタグで囲み、
かつ適切なインデントをしていただけると、見やすくて助かります。

Re: マップを描画したいのですが

Posted: 2014年6月18日(水) 23:22
by ついうくん
申し訳ございません、以後気を付けます

Re: マップを描画したいのですが

Posted: 2014年6月18日(水) 23:23
by みけCAT
単にキャラを画面外に描画しているだけではないでしょうか?
とりあえず、pyを240くらいにしてみてください。

Re: マップを描画したいのですが

Posted: 2014年6月18日(水) 23:25
by ついうくん
だめでした。。。

Re: マップを描画したいのですが

Posted: 2014年6月18日(水) 23:41
by みけCAT
pyを240にしてこちらで試したところ、画像が描画され、左右移動、「ジャンプ」ともに動作し、操作できないということはありませんでした。
画像が指定のパスにあるか、カレントディレクトリが想定とずれていないかを確認してください。

Re: マップを描画したいのですが

Posted: 2014年6月18日(水) 23:58
by ついうくん
マップスクリプトを外したら、キャラは表示されました。

改めて、実行してみると、先ほどの通りになります