質問編集履歴

2

少しソースコードを追加。

2017/03/26 06:38

投稿

Nagkei10
Nagkei10

スコア15

test CHANGED
File without changes
test CHANGED
@@ -18,35 +18,7 @@
18
18
 
19
19
  ```C++
20
20
 
21
- #include "DxLib.h"
22
-
23
-
24
-
25
- #define SCREEN_WIDTH (320) //画面の横幅
26
-
27
- #define SCREEN_HEIGHT (240) //画面の縦幅
28
-
29
- #define STAGE_WIDTH (400)
30
-
31
- #define STAGE_HEIGHT (320)
32
-
33
- #define CHIP_SIZE (16) //チップのサイズ
34
-
35
- #define CHAR_SIZE (14) //キャラのサイズ
36
-
37
- #define MAP_WIDTH (STAGE_WIDTH/CHIP_SIZE)
38
-
39
- #define MAP_HEIGHT (STAGE_HEIGHT/CHIP_SIZE)
40
-
41
- HANDLE Stdout;
42
-
43
-
44
-
45
- //テスト用のマップデータ。実際の開発では、Tiled(フリーのマップエディタ)を使う予定。
46
-
47
- //このテストプログラムがある程度の段階に達したら、本格的な開発に移ります。
48
-
49
- //TinyXML2は便利だ
21
+ //マップデータ
50
22
 
51
23
  char MapData[MAP_HEIGHT][MAP_WIDTH]
52
24
 
@@ -100,47 +72,7 @@
100
72
 
101
73
  };
102
74
 
103
-
104
-
105
- float PlayerX, PlayerY;
106
-
107
- float SaveX, SaveY;
108
-
109
- float MoveX, MoveY;
110
-
111
- float VectX;
112
-
113
- float DropPower, Grav;
114
-
115
- float MaxVect;
116
-
117
- char JumpFlag, Dir, AirFlag, NonVertJump, dir, DirT, DashB, SlideFlag, MaxJump;
118
-
119
-
120
-
121
- int DashCnt, JumpTimer, SlideTimer, JumpCount;
122
-
123
- int Input, EdgeInput, Pad;
124
-
125
- int FreamStartTime;
75
+ //宣言の部分は省略。
126
-
127
- int CameraX, CameraY;
128
-
129
- float CharX, CharY, ViewCharX, ViewCharY;
130
-
131
-
132
-
133
- int main();
134
-
135
- int MapHitCheck(float X, float Y, float *MoveX, float *MoveY, int Size);
136
-
137
- int CharMove(float *X, float *Y, float MoveX, float MoveY, float *Drop, float *G,
138
-
139
- char *Jump, char *Air, char *Vert,int *JumpT,float *Vect, int Size,char *Slide,int *JCount);
140
-
141
- int MapChipParam(float X, float Y);
142
-
143
- int CameraCheck(float X, float Y);
144
76
 
145
77
  //マップチップのデータ獲得
146
78
 
@@ -458,6 +390,44 @@
458
390
 
459
391
  ```
460
392
 
393
+ move.cpp
394
+
395
+ ```C++
396
+
397
+ int main(void) {
398
+
399
+ //移動アルゴリズムなどは省略。
400
+
401
+ //マップの描画
402
+
403
+ {
404
+
405
+ int i, j;
406
+
407
+ for (i = 0; i < MAP_HEIGHT; i++) {
408
+
409
+ for (j = 0; j < MAP_WIDTH; j++) {
410
+
411
+ if (MapData[i][j] == 1) {
412
+
413
+ DrawBox(j*CHIP_SIZE - CameraX, i*CHIP_SIZE - CameraY, j*CHIP_SIZE + CHIP_SIZE - CameraX, i*CHIP_SIZE + CHIP_SIZE - CameraY, GetColor(255, 255, 255), TRUE);
414
+
415
+ }
416
+
417
+ }
418
+
419
+ }
420
+
421
+ }
422
+
423
+ //キャラの描画
424
+
425
+ DrawBox((int)(ViewCharX)-(CHAR_SIZE / 2), (int)(ViewCharY)-(CHAR_SIZE / 2), (int)(ViewCharX + CHAR_SIZE) - (CHAR_SIZE / 2), (int)(ViewCharY + CHAR_SIZE) - (CHAR_SIZE / 2), GetColor(255, 0, 0), TRUE);
426
+
427
+ }
428
+
429
+ ```
430
+
461
431
  ###試したこと
462
432
 
463
433
  画面サイズを2のべき乗にして見たけど、だめでした。

1

初心者アイコンを付けた。

2017/03/26 06:38

投稿

Nagkei10
Nagkei10

スコア15

test CHANGED
File without changes
test CHANGED
File without changes