質問編集履歴

2

2022/02/13 14:57

投稿

blanket
blanket

スコア308

test CHANGED
File without changes
test CHANGED
@@ -1,267 +1,28 @@
1
1
  **ボールドテキスト**
2
-
3
-
4
-
5
2
  ### 前提・実現したいこと
6
3
 
7
-
4
+ ここに質問の内容を詳しく書いてください。
8
-
9
5
  ステージが円のアクションゲームを作っています。
10
-
11
6
  アクションゲームでよく見るキャラが乗るbar?を表示させたいです。
12
-
13
7
  仕様
14
-
15
8
  ![幅50高さ3](6312f756d5f140a9a1b1853bd9afd1b2.png)
16
-
17
- アクショゲー制作で使う画像表示システムを作っていま
9
+ に複数表示す
18
-
10
+ ----------------------------------------------------------------------------------
11
+ 進捗状況
19
- クラス機能を実装中に以下エラメッセージが発生しました。
12
+ 2Dが難しかったで3Dのゲムに変更しました。
13
+
14
+ fbxのアイテムをランダムに複数配置できたので報告します。
20
15
 
21
16
  ### 試したこと
22
17
 
23
-
24
-
25
18
  Cで画像読み込みなしで実装
26
-
27
19
  □□□□□□
28
-
29
-
30
-
31
- ### 発生している問題・エラーメッセージ
32
-
33
-
34
-
35
- ```
36
-
37
- エラーメッセージ
38
-
39
-
40
-
41
- エラー C3646 'm_bar': 不明なオーバーライド指定子です
20
+ ----------------------------------------------------------------------------------
42
-
43
-
44
-
45
- ```
46
-
47
-
48
-
49
- ### 該当スコード
21
+ 3Dムに変更
50
-
51
-
52
-
53
- ```c++
54
-
55
- ソースコード
56
-
57
- // Cbar.h
58
-
59
- class Cbar
60
-
61
- {
62
-
63
- public:
64
-
65
- Cbar();
66
-
67
- ~Cbar();
68
-
69
- private:
70
-
71
- Bar m_bar[10];
72
-
73
-
74
-
75
- void Init(void);
76
-
77
- void Update(void);
78
-
79
- void Draw(void);
80
-
81
- };
82
-
83
-
84
-
85
- //Cbar.cpp
86
-
87
- //*****************************************************************************
88
-
89
- // マクロ定義
90
-
91
- //*****************************************************************************
92
-
93
- #define TEXTURE_FILENAME L"data/texture/bar.png" // テクスチャファイル名
22
+ rand関数を使い地面の範囲にアイテムを配置できた。![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-02-13/101bc52b-483a-40e0-b166-2a108d22f483.png)
94
-
95
-
96
-
97
- // --- マクロ定義 ---
98
-
99
- #define BAR_POS_X 0
100
-
101
- #define BAR_POS_Y 0
102
-
103
- #define BAR_SIZE_X SCREEN_WIDTH
104
-
105
- #define BAR_SIZE_Y SCREEN_HEIGHT
106
-
107
- #define MAX_BAR 10
108
-
109
- //12/28追加
110
-
111
- //#define SE_JUMP_NAME "data/sound/JumpSE.wav"
112
-
113
- //#define SE_DAMAGE_NAME "data/sound/PlayerDamageSE.wav"
114
-
115
-
116
-
117
- // --- グローバル変数 ---
118
-
119
- static LPCWSTR g_pszTexFName[MAX_BAR] =
120
-
121
- {
122
-
123
- L"data/texture/bar.png",
124
-
125
- };
126
-
127
- static ID3D11ShaderResourceView* g_pTexture[MAX_BAR];
128
-
129
- static XMFLOAT2 g_TitlePos[MAX_BAR];
130
-
131
- static XMFLOAT2 g_TitleSize[MAX_BAR];
132
-
133
- static float g_fScale = 1.0f;
134
-
135
- static bool g_bFlg;
136
-
137
-
138
-
139
- Cbar::Cbar()
140
-
141
- {
142
-
143
-
144
-
145
- }
146
-
147
-
148
-
149
-
150
-
151
- Cbar::~Cbar()
152
-
153
- {
154
-
155
-
156
-
157
- }
158
-
159
- //=============================================================================
160
-
161
- // 初期化処理
162
-
163
- //=============================================================================
164
-
165
- void Cbar::Init(void)
166
-
167
- {
168
-
169
- ID3D11Device* pDevice = GetDevice();
170
-
171
-
172
-
173
- g_bFlg = true;
174
-
175
-
176
-
177
- for (int i = 0; i < MAX_BAR; ++i)
178
-
179
- {
180
-
181
- CreateTextureFromFile(pDevice, g_pszTexFName[i], &g_pTexture[i]);
182
-
183
- g_TitlePos[i].x = 0.0f;
184
-
185
- g_TitlePos[i].y = 0.0f;
186
-
187
- g_TitleSize[i].x = SCREEN_WIDTH;
188
-
189
- g_TitleSize[i].y = SCREEN_HEIGHT;
190
-
191
- }
192
-
193
- }
194
-
195
-
196
-
197
- void Cbar::Update(void)
198
-
199
- {//なし
200
-
201
- }
202
-
203
-
204
-
205
- void Cbar::Draw(void)
206
-
207
- {
208
-
209
- ID3D11DeviceContext* pDC = GetDeviceContext();
210
-
211
- SetBlendState(BS_ALPHABLEND);
212
-
213
-
214
-
215
- //背景描画
216
-
217
- for (int i = 0; i < MAX_BAR; ++i)
218
-
219
- {
220
-
221
- SetPolygonPos(g_TitlePos[i].x, g_TitlePos[i].y);
222
-
223
- SetPolygonSize(g_TitleSize[i].x, g_TitleSize[i].y);
224
-
225
- SetPolygonTexture(g_pTexture[i]);
226
-
227
- DrawPolygon(GetDeviceContext());
228
-
229
- }
230
-
231
-
232
-
233
- SetBlendState(BS_NONE);
234
-
235
- }
236
-
237
- ```
238
-
239
-
240
-
241
- ### 試したこと
242
-
243
-
244
-
245
- c++クラスと継承完全制覇という専門書を読みました。
246
-
247
-
248
23
 
249
24
  ### 補足情報(FW/ツールのバージョンなど)
250
25
 
251
-
252
-
253
26
  VisualStudio2017
254
-
255
-
256
-
257
- 例)弾のように複数作りたいときはプレイヤーがたくさんの球を打ち出すはずなので、プレイヤークラスの中に弾のオブジェクトをたくさん作る
258
-
259
- class Player
260
-
261
- {
262
-
263
- plivate:
27
+ Visualc++
264
-
265
- Bullet m_bullet[10]
28
+ 10.0.17763.0
266
-
267
- }

1

ソースを入れ説明の仕方を変えました。

2021/01/23 02:27

投稿

blanket
blanket

スコア308

test CHANGED
File without changes
test CHANGED
@@ -1,11 +1,11 @@
1
1
  **ボールドテキスト**
2
2
 
3
+
4
+
3
5
  ### 前提・実現したいこと
4
6
 
5
7
 
6
8
 
7
- ここに質問の内容を詳しく書いてください。
8
-
9
9
  ステージが円のアクションゲームを作っています。
10
10
 
11
11
  アクションゲームでよく見るキャラが乗るbar?を表示させたいです。
@@ -14,11 +14,9 @@
14
14
 
15
15
  ![幅50高さ3](6312f756d5f140a9a1b1853bd9afd1b2.png)
16
16
 
17
- に複数表示す
17
+ アクショゲー制作で使う画像表示システムを作っていま
18
+
18
-
19
+ クラス機能を実装中に以下のエラーメッセージが発生しました。
19
-
20
-
21
-
22
20
 
23
21
  ### 試したこと
24
22
 
@@ -30,8 +28,240 @@
30
28
 
31
29
 
32
30
 
31
+ ### 発生している問題・エラーメッセージ
32
+
33
+
34
+
35
+ ```
36
+
37
+ エラーメッセージ
38
+
39
+
40
+
41
+ エラー C3646 'm_bar': 不明なオーバーライド指定子です
42
+
43
+
44
+
45
+ ```
46
+
47
+
48
+
49
+ ### 該当のソースコード
50
+
51
+
52
+
53
+ ```c++
54
+
55
+ ソースコード
56
+
57
+ // Cbar.h
58
+
59
+ class Cbar
60
+
61
+ {
62
+
63
+ public:
64
+
65
+ Cbar();
66
+
67
+ ~Cbar();
68
+
69
+ private:
70
+
71
+ Bar m_bar[10];
72
+
73
+
74
+
75
+ void Init(void);
76
+
77
+ void Update(void);
78
+
79
+ void Draw(void);
80
+
81
+ };
82
+
83
+
84
+
85
+ //Cbar.cpp
86
+
87
+ //*****************************************************************************
88
+
89
+ // マクロ定義
90
+
91
+ //*****************************************************************************
92
+
93
+ #define TEXTURE_FILENAME L"data/texture/bar.png" // テクスチャファイル名
94
+
95
+
96
+
97
+ // --- マクロ定義 ---
98
+
99
+ #define BAR_POS_X 0
100
+
101
+ #define BAR_POS_Y 0
102
+
103
+ #define BAR_SIZE_X SCREEN_WIDTH
104
+
105
+ #define BAR_SIZE_Y SCREEN_HEIGHT
106
+
107
+ #define MAX_BAR 10
108
+
109
+ //12/28追加
110
+
111
+ //#define SE_JUMP_NAME "data/sound/JumpSE.wav"
112
+
113
+ //#define SE_DAMAGE_NAME "data/sound/PlayerDamageSE.wav"
114
+
115
+
116
+
117
+ // --- グローバル変数 ---
118
+
119
+ static LPCWSTR g_pszTexFName[MAX_BAR] =
120
+
121
+ {
122
+
123
+ L"data/texture/bar.png",
124
+
125
+ };
126
+
127
+ static ID3D11ShaderResourceView* g_pTexture[MAX_BAR];
128
+
129
+ static XMFLOAT2 g_TitlePos[MAX_BAR];
130
+
131
+ static XMFLOAT2 g_TitleSize[MAX_BAR];
132
+
133
+ static float g_fScale = 1.0f;
134
+
135
+ static bool g_bFlg;
136
+
137
+
138
+
139
+ Cbar::Cbar()
140
+
141
+ {
142
+
143
+
144
+
145
+ }
146
+
147
+
148
+
149
+
150
+
151
+ Cbar::~Cbar()
152
+
153
+ {
154
+
155
+
156
+
157
+ }
158
+
159
+ //=============================================================================
160
+
161
+ // 初期化処理
162
+
163
+ //=============================================================================
164
+
165
+ void Cbar::Init(void)
166
+
167
+ {
168
+
169
+ ID3D11Device* pDevice = GetDevice();
170
+
171
+
172
+
173
+ g_bFlg = true;
174
+
175
+
176
+
177
+ for (int i = 0; i < MAX_BAR; ++i)
178
+
179
+ {
180
+
181
+ CreateTextureFromFile(pDevice, g_pszTexFName[i], &g_pTexture[i]);
182
+
183
+ g_TitlePos[i].x = 0.0f;
184
+
185
+ g_TitlePos[i].y = 0.0f;
186
+
187
+ g_TitleSize[i].x = SCREEN_WIDTH;
188
+
189
+ g_TitleSize[i].y = SCREEN_HEIGHT;
190
+
191
+ }
192
+
193
+ }
194
+
195
+
196
+
197
+ void Cbar::Update(void)
198
+
199
+ {//なし
200
+
201
+ }
202
+
203
+
204
+
205
+ void Cbar::Draw(void)
206
+
207
+ {
208
+
209
+ ID3D11DeviceContext* pDC = GetDeviceContext();
210
+
211
+ SetBlendState(BS_ALPHABLEND);
212
+
213
+
214
+
215
+ //背景描画
216
+
217
+ for (int i = 0; i < MAX_BAR; ++i)
218
+
219
+ {
220
+
221
+ SetPolygonPos(g_TitlePos[i].x, g_TitlePos[i].y);
222
+
223
+ SetPolygonSize(g_TitleSize[i].x, g_TitleSize[i].y);
224
+
225
+ SetPolygonTexture(g_pTexture[i]);
226
+
227
+ DrawPolygon(GetDeviceContext());
228
+
229
+ }
230
+
231
+
232
+
233
+ SetBlendState(BS_NONE);
234
+
235
+ }
236
+
237
+ ```
238
+
239
+
240
+
241
+ ### 試したこと
242
+
243
+
244
+
245
+ c++クラスと継承完全制覇という専門書を読みました。
246
+
247
+
248
+
33
249
  ### 補足情報(FW/ツールのバージョンなど)
34
250
 
35
251
 
36
252
 
37
253
  VisualStudio2017
254
+
255
+
256
+
257
+ 例)弾のように複数作りたいときはプレイヤーがたくさんの球を打ち出すはずなので、プレイヤークラスの中に弾のオブジェクトをたくさん作る
258
+
259
+ class Player
260
+
261
+ {
262
+
263
+ plivate:
264
+
265
+ Bullet m_bullet[10]
266
+
267
+ }