#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: マップを描画したいのですが
とりあえず、コードを提示するときはBBcodeを有効にした状態でcodeタグで囲み、
かつ適切なインデントをしていただけると、見やすくて助かります。
かつ適切なインデントをしていただけると、見やすくて助かります。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: マップを描画したいのですが
単にキャラを画面外に描画しているだけではないでしょうか?
とりあえず、pyを240くらいにしてみてください。
とりあえず、pyを240くらいにしてみてください。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: マップを描画したいのですが
pyを240にしてこちらで試したところ、画像が描画され、左右移動、「ジャンプ」ともに動作し、操作できないということはありませんでした。
画像が指定のパスにあるか、カレントディレクトリが想定とずれていないかを確認してください。
画像が指定のパスにあるか、カレントディレクトリが想定とずれていないかを確認してください。
- 添付ファイル
-
- 上キーを押したあとの画面
- map_byouga_test1.png (15.25 KiB) 閲覧数: 2083 回
-
- map_byouga.zip
- プロジェクトとバイナリ一式
- (1.88 MiB) ダウンロード数: 97 回
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)