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

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

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

#1

投稿記事 by ついうくん » 11年前

#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;
}


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

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

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

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

#2

投稿記事 by みけCAT » 11年前

とりあえず、コードを提示するときはBBcodeを有効にした状態でcodeタグで囲み、
かつ適切なインデントをしていただけると、見やすくて助かります。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

ついうくん

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

#3

投稿記事 by ついうくん » 11年前

申し訳ございません、以後気を付けます

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

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

#4

投稿記事 by みけCAT » 11年前

単にキャラを画面外に描画しているだけではないでしょうか?
とりあえず、pyを240くらいにしてみてください。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

ついうくん

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

#5

投稿記事 by ついうくん » 11年前

だめでした。。。

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

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

#6

投稿記事 by みけCAT » 11年前

pyを240にしてこちらで試したところ、画像が描画され、左右移動、「ジャンプ」ともに動作し、操作できないということはありませんでした。
画像が指定のパスにあるか、カレントディレクトリが想定とずれていないかを確認してください。
添付ファイル
map_byouga_test1.png
上キーを押したあとの画面
map_byouga_test1.png (15.25 KiB) 閲覧数: 2083 回
map_byouga.zip
プロジェクトとバイナリ一式
(1.88 MiB) ダウンロード数: 97 回
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

ついうくん

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

#7

投稿記事 by ついうくん » 11年前

マップスクリプトを外したら、キャラは表示されました。

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

閉鎖

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