質問編集履歴

2

編集

2019/12/06 16:51

投稿

R-ogiura
R-ogiura

スコア60

test CHANGED
File without changes
test CHANGED
@@ -144,6 +144,10 @@
144
144
 
145
145
  コントローラの四角ボタンと、キーGで銃で攻撃する部分です。
146
146
 
147
+ ※(キーとコントローラのボタンを統一したように書いたため、
148
+
149
+ コントローラの四角ボタンで銃を撃つのですが、たまに何度押しても反応しないことがあるのかもしれません。)
150
+
147
151
  ```
148
152
 
149
153
  if (

1

編集

2019/12/06 16:51

投稿

R-ogiura
R-ogiura

スコア60

test CHANGED
File without changes
test CHANGED
@@ -142,6 +142,76 @@
142
142
 
143
143
 
144
144
 
145
+ コントローラの四角ボタンと、キーGで銃で攻撃する部分です。
146
+
147
+ ```
148
+
149
+ if (
150
+
151
+ (PrevPadState & PAD_INPUT_1 && playerX > 0 && Gcount >= 1 && Gtime == 0 && Gkey == 1&& (GetJoypadInputState(DX_INPUT_PAD1) & PAD_INPUT_5) == 0) == 0 //前回は押されていなくて
152
+
153
+ && //且つ
154
+
155
+ (CurrPadState & PAD_INPUT_1 && playerX > 0 && Gcount >= 1 && Gtime == 0 && Gkey == 1&& (GetJoypadInputState(DX_INPUT_PAD1) & PAD_INPUT_5) == 0) != 0 //今回は押されている
156
+
157
+ )
158
+
159
+ {//「右」は今押された
160
+
161
+ //「右」が押されたときの処理
162
+
163
+ Gtime = 1; //銃を撃ってからの経過時間を1にする
164
+
165
+ Gcount = Gcount - 1; //残弾数を-1する
166
+
167
+ playerImage = playerGHandle[7]; //真正面の状態にする
168
+
169
+ if (playerY == enemyY && playerX + 1 == enemyX || playerY == enemyY && playerX + 2 == enemyX || playerY == enemyY && playerX + 3 == enemyX ||
170
+
171
+ playerY == enemyY && playerX + 4 == enemyX || playerY == enemyY && playerX + 5 == enemyX) {//これで前に敵がいるときのみに攻撃が出来る。
172
+
173
+ enemyHP = enemyHP - 10;
174
+
175
+ enemyImage = enemyGHandle[5];
176
+
177
+ }
178
+
179
+
180
+
181
+ }
182
+
183
+
184
+
185
+ if (Key[KEY_INPUT_G] == 1 && Gcount >= 1 && Gtime == 0 && Gkey == 1 && Key[KEY_INPUT_L] == !1) { //キーGを押していて且つ残り弾数( Gcount )が1発以上あって銃を撃ってからの経過時間( Gtime )が0の場合のみ銃を撃てる
186
+
187
+ Gtime = 1; //銃を撃ってからの経過時間を1にする
188
+
189
+ Gcount = Gcount - 1; //残弾数を-1する
190
+
191
+ playerImage = playerGHandle[7]; //真正面の状態にする
192
+
193
+ if (playerY == enemyY && playerX + 1 == enemyX || playerY == enemyY && playerX + 2 == enemyX || playerY == enemyY && playerX + 3 == enemyX ||
194
+
195
+ playerY == enemyY && playerX + 4 == enemyX || playerY == enemyY && playerX + 5 == enemyX) {//これで前に敵がいるときのみに攻撃が出来る。
196
+
197
+ enemyHP = enemyHP - 10;
198
+
199
+ enemyImage = enemyGHandle[5];
200
+
201
+ }
202
+
203
+ }
204
+
205
+ ```
206
+
207
+
208
+
145
209
  全体のプログラム
146
210
 
147
211
  [全体のプログラム](https://pastebin.com/mVdBA7Bd)
212
+
213
+
214
+
215
+ 画像はこちらのサイトからです
216
+
217
+ [画像](https://bituse.info/game/21)