質問編集履歴

4

文章を編集

2020/02/20 07:09

投稿

削除済ユーザー
test CHANGED
@@ -1 +1 @@
1
- cl コンパイラでinclude ファイルが開けません 'crtdbg.h'の解決方法が知りたい。
1
+ cl コンパイラでinclude ファイルが開けません 'crtdbg.h'の解決方法が知りたい。そもそも何をどうすればいいのか
test CHANGED
File without changes

3

タイトルを編集

2020/02/19 07:14

投稿

削除済ユーザー
test CHANGED
@@ -1 +1 @@
1
- DxLibを VScodeでコンパイルして実行する方法が知りたい。
1
+ cl コンパイラでinclude ファイが開けません 'crtdbg.h'の解決方法が知りたい。
test CHANGED
@@ -1,19 +1,43 @@
1
- Visual studio 2019でこれまでプロジェクト設定などをして実行したいりていまたがプロジェファイルが異様に大きすぎて重たいので、VScodeを使ってコンパイルしたいのですがどうすればいいのでしょうか?
1
+ 提示コードのようなソースコードを**cl コンパイラ**使って**コンパイルして実行しよう**と思っのですが提示画像のエラーはどうたら解消されるのでょうか?、インルードファイル開けませんとうことはそファイルがなとうことなので追加しなけないのでしょうか?
2
-
3
- 参考サイトを見ていたのですがコンパイルオプションとか色々なことがあり何をどうすればいいかわかりません。
4
-
5
-
6
-
7
- コンパイラはgccです.
8
2
 
9
3
 
10
4
 
11
5
 
12
6
 
7
+ **やったこと**
8
+
13
- dxlibの参考サイト: https://dxlib.xsrv.jp/use/dxuse_gcc.html
9
+ Pathは通しました。
14
10
 
15
11
 
16
12
 
17
- ![イメージ説明](14b2850b394c5322d2cc1195ebafdb09.png)
18
13
 
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+ ```ここに言語を入力
22
+
23
+ #include <iostream>
24
+
25
+ using namespace std;
26
+
27
+
28
+
29
+ int main()
30
+
31
+ {
32
+
33
+ std::cout<<"Hello World"<<std::endl;
34
+
35
+
36
+
37
+ return 0;
38
+
39
+ }
40
+
41
+ ```
42
+
19
- ![イメージ説明](f35121a2e3b6b2525dbbc9eb42288e70.png)
43
+ ![イメージ説明](4478bcb4cb3e3ac83cbc0b26844ce86c.png)

2

文章とタイトルを編集

2020/02/18 09:39

投稿

削除済ユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,8 +1,16 @@
1
1
  Visual studio 2019でこれまでプロジェクト設定などをして実行したいりしていましたがプロジェクトファイルが異様に大きすぎて重たいので、VScodeを使ってコンパイルしたいのですがどうすればいいのでしょうか?
2
2
 
3
- コンパラはgccです。標準のC言語やC++しかコンパイルしたことがのでリンクとの専門語はよくわかりませんどうしたらいいのでしょうか?
3
+ 参考サトを見ていたのですコンパイルオプションとか色々なことがあり何をどうすればかわかりません
4
4
 
5
5
 
6
+
7
+ コンパイラはgccです.
8
+
9
+
10
+
11
+
12
+
13
+ dxlibの参考サイト: https://dxlib.xsrv.jp/use/dxuse_gcc.html
6
14
 
7
15
 
8
16
 

1

参考サイトと文章を追加しました。

2020/02/17 08:27

投稿

削除済ユーザー
test CHANGED
@@ -1 +1 @@
1
- Android Studio において, デバッグに記載してある内容を参照する方法が分かません
1
+ DxLibを VScodeでコンパイルして実行する方法がたい
test CHANGED
@@ -1,421 +1,11 @@
1
- 画像の場所にブレーポイントをき、デバッグ起動させました
1
+ Visual studio 2019でこれまでプロジェクト設定などして実行したいりしていましたがプロジェクトファイルが異様に大すぎて重たいのでVScode使ってコンパイルしたいのですがどうすればいいのでしょうか?
2
2
 
3
- 私が取得したい値は, 「cImageView[0].getX()」からVariablesの最も下にある変数「View.mLeft」を引いた値なのです(つまりは「cImageView[0].getX()」から'42'を引き算したいと言うことです)。
4
-
5
-
6
-
7
- しかし, 自分なりに色々と試行錯誤したのですがうまくいきません。
8
-
9
-
10
-
11
- どのようなコードを書けば良いか教えて頂けるとありがたいです。
12
-
13
- よろしくお願いします。
14
-
15
-
16
-
17
- <以下追記>
18
-
19
- Variablesにある「View.mLeft」「View.java」という場所にあり、それ参照方法が分かりません。。。
3
+ コンパイラgccです。標準のC言語やC++しかコンパイルしたこがないのでリンクとの専門語はよくわかりませんどうしたらいいのでしょうか?
20
-
21
-
22
-
23
- <詳細コードの追記>
24
-
25
- ```java
26
-
27
- textView[0].setOnTouchListener(new View.OnTouchListener() {
28
-
29
- @Override
30
-
31
- public boolean onTouch(View v, MotionEvent event) {
32
-
33
- // x,y 位置取得
34
4
 
35
5
 
36
6
 
37
7
 
38
8
 
9
+ ![イメージ説明](14b2850b394c5322d2cc1195ebafdb09.png)
39
10
 
40
-
41
- int newbuttonX = (int)event.getRawX();
42
-
43
- int newbuttonY = (int)event.getRawY();
44
-
45
-
46
-
47
-
48
-
49
- switch (event.getAction()) {
50
-
51
- // タッチダウンでdragされた
52
-
53
- case MotionEvent.ACTION_MOVE:
54
-
55
- // ACTION_MOVEでの位置
56
-
57
- // performCheckを入れろと警告が出るので
58
-
59
- v.performClick();
60
-
61
-
62
-
63
- x = (newbuttonX - buttonX);
64
-
65
- y = (newbuttonY - buttonY);
66
-
67
-
68
-
69
-
70
-
71
- dx = cImageView[0].getLeft() + x;
72
-
73
- dy = cImageView[0].getTop() + y;
74
-
75
-
76
-
77
- imgW = dx + cImageView[0].getWidth();
78
-
79
- imgH = dy + cImageView[0].getHeight();
80
-
81
-
82
-
83
- //ボタンの定義
84
-
85
- button_dx = button[0].getLeft() + x;
86
-
87
- button_dy = button[0].getTop() + y;
88
-
89
- buttonW = button_dx + button[0].getWidth();
90
-
91
- buttonH = button_dy + button[0].getHeight();
92
-
93
-
94
-
95
- //単位の定義
96
-
97
- unit_dx = unit[0].getLeft() + x;
98
-
99
- unit_dy = unit[0].getTop() + y;
100
-
101
- unitW = unit_dx + unit[0].getWidth();
102
-
103
- unitH = unit_dy + unit[0].getHeight();
104
-
105
-
106
-
107
- //非表示ボタンの定義
108
-
109
- dbutton_dx = syoukyo[0].getLeft() + x;
110
-
111
- dbutton_dy = syoukyo[0].getTop() + y;
112
-
113
- dbuttonW = dbutton_dx + syoukyo[0].getWidth();
114
-
115
- dbuttonH = dbutton_dy + syoukyo[0].getHeight();
116
-
117
-
118
-
119
- // Viewの位置を設定する
120
-
121
- cImageView[0].layout(dx, dy, imgW, imgH);
122
-
123
- button[0].layout(button_dx, button_dy, buttonW, buttonH);
124
-
125
- unit[0].layout(unit_dx, unit_dy, unitW, unitH);
126
-
127
- syoukyo[0].layout(dbutton_dx, dbutton_dy, dbuttonW, dbuttonH);
128
-
129
-
130
-
131
- //String str = "dx="+dx+"\ndy="+dy;
132
-
133
- //textViewXY.setText(""+read_x+"");
134
-
135
- //Log.d("onTouch","ACTION_MOVE: dx="+dx+", dy="+dy);
136
-
137
- break;
138
-
139
- case MotionEvent.ACTION_DOWN:
140
-
141
- break;
142
-
143
- case MotionEvent.ACTION_UP:
144
-
145
- break;
146
-
147
- default:
148
-
149
- break;
150
-
151
- }
152
-
153
-
154
-
155
- editor = prefs.edit();
156
-
157
- //このcImageView[0].getX()で毎回値が'42'足されてしまう
158
-
159
- //どうにかして'42'を参照し、引き算できたらと考えている。
160
-
161
- editor.putFloat("oldx1", cImageView[0].getX());
162
-
163
- editor.apply();
164
-
165
-
166
-
167
- read_oldx[0] = prefs.getFloat("oldx1", 0);
168
-
169
-
170
-
171
- editor = prefs.edit();
172
-
173
- //ここでは21値が毎回ズレてしまうので無理やり21で引き算をしている
174
-
175
- //端末によってこの値は変わってしまうため、どの端末でも動作できるように実装したい・・・。
176
-
177
- editor.putFloat("oldy1", cImageView[0].getY()-21);
178
-
179
- editor.apply();
180
-
181
-
182
-
183
- read_oldy[0] = prefs.getFloat("oldy1", 0);
184
-
185
-
186
-
187
-
188
-
189
- // タッチした位置を古い位置とする
190
-
191
- buttonX = newbuttonX;
192
-
193
- buttonY = newbuttonY;
194
-
195
-
196
-
197
-
198
-
199
- return true;
200
-
201
- }
202
-
203
- });
204
-
205
- ```
206
-
207
-
208
-
209
- 私が実装しようとしている機能は、Viewをドラッグし、その位置をprefsで保存し、画面遷移した後、Viewのある画面に戻ってきても位置が保持されている機能です。
210
-
211
- しかし、このコードであると遷移後戻ってきた際に少しだけ値がずれてしまっています。
212
-
213
- そもそも何故値が足されていくのでしょうか・・・。
214
-
215
-
216
-
217
- <改変後のコードの追記>
218
-
219
-
220
-
221
- ```java
222
-
223
- textView[0].setOnTouchListener(new View.OnTouchListener() {
224
-
225
- @Override
226
-
227
- public boolean onTouch(View v, MotionEvent event) {
228
-
229
- // x,y 位置取得
230
-
231
-
232
-
233
-
234
-
235
-
236
-
237
- int newbuttonX = (int)event.getRawX();
238
-
239
- int newbuttonY = (int)event.getRawY();
240
-
241
-
242
-
243
-
244
-
245
- switch (event.getAction()) {
246
-
247
- // タッチダウンでdragされた
248
-
249
- case MotionEvent.ACTION_MOVE:
250
-
251
- // ACTION_MOVEでの位置
252
-
253
- // performCheckを入れろと警告が出るので
254
-
255
- //v.performClick();
256
-
257
-
258
-
259
- x = (newbuttonX - buttonX);
260
-
261
- y = (newbuttonY - buttonY);
262
-
263
-
264
-
265
-
266
-
267
- dx = textView[0].getLeft() + x;
268
-
269
- dy = textView[0].getTop() + y;
270
-
271
-
272
-
273
- imgW = dx + textView[0].getWidth();
274
-
275
- imgH = dy + textView[0].getHeight();
276
-
277
-
278
-
279
- //ボタンの定義
280
-
281
- button_dx = button[0].getLeft() + x;
282
-
283
- button_dy = button[0].getTop() + y;
284
-
285
- buttonW = button_dx + button[0].getWidth();
286
-
287
- buttonH = button_dy + button[0].getHeight();
288
-
289
-
290
-
291
- //単位の定義
292
-
293
- unit_dx = unit[0].getLeft() + x;
294
-
295
- unit_dy = unit[0].getTop() + y;
296
-
297
- unitW = unit_dx + unit[0].getWidth();
298
-
299
- unitH = unit_dy + unit[0].getHeight();
300
-
301
-
302
-
303
- //非表示ボタンの定義
304
-
305
- dbutton_dx = syoukyo[0].getLeft() + x;
306
-
307
- dbutton_dy = syoukyo[0].getTop() + y;
308
-
309
- dbuttonW = dbutton_dx + syoukyo[0].getWidth();
310
-
311
- dbuttonH = dbutton_dy + syoukyo[0].getHeight();
312
-
313
-
314
-
315
- // Viewの位置を設定する
316
-
317
- textView[0].layout(dx, dy, imgW, imgH);
318
-
319
- button[0].layout(button_dx, button_dy, buttonW, buttonH);
320
-
321
- unit[0].layout(unit_dx, unit_dy, unitW, unitH);
322
-
323
- syoukyo[0].layout(dbutton_dx, dbutton_dy, dbuttonW, dbuttonH);
324
-
325
-
326
-
327
- //String str = "dx="+dx+"\ndy="+dy;
328
-
329
- //textViewXY.setText(""+read_x+"");
330
-
331
- //Log.d("onTouch","ACTION_MOVE: dx="+dx+", dy="+dy);
332
-
333
- break;
334
-
335
- case MotionEvent.ACTION_DOWN:
336
-
337
- break;
338
-
339
- case MotionEvent.ACTION_UP:
340
-
341
- break;
342
-
343
- default:
344
-
345
- break;
346
-
347
- }
348
-
349
-
350
-
351
- editor = prefs.edit();
352
-
353
- editor.putFloat("oldx1", textView[0].getX()-v.getLeft());
354
-
355
- editor.apply();
356
-
357
-
358
-
359
- read_oldx[0] = prefs.getFloat("oldx1", 0);
360
-
361
-
362
-
363
- editor = prefs.edit();
364
-
365
- editor.putFloat("oldy1", textView[0].getY()-v.getTop());
366
-
367
- editor.apply();
368
-
369
-
370
-
371
- read_oldy[0] = prefs.getFloat("oldy1", 0);
372
-
373
-
374
-
375
-
376
-
377
- // タッチした位置を古い位置とする
378
-
379
- buttonX = newbuttonX;
380
-
381
- buttonY = newbuttonY;
382
-
383
-
384
-
385
-
386
-
387
- return true;
388
-
389
- }
390
-
391
- });
392
-
393
- ```
394
-
395
-
396
-
397
- これで実行しますと、ドラッグ自体はうまく動作するのですが、ドラッグ前の位置が保存されドラッグ後の位置保存がうまくいきません。
398
-
399
-
400
-
401
- <2020/01/24追記>
402
-
403
- 皆様のご回答を元にLogを辿ったり色々試してみた結果、以下のことが判明いたしました。
404
-
405
-
406
-
407
- ・ドラッグ後の座標取得自体はうまくいっている
408
-
409
- ・OnCreate()でsetX()を使用しているが, この関数はxmlで指定した位置からの座標移動であるため座標がずれてしまう
410
-
411
- ・実現するには, setX()を使用する前にViewを画面上の(0, 0)座標に初期化しなければいけない
412
-
413
-
414
-
415
- 画面上の(0, 0)座標にViewを指定するやり方がわからず困っています。。。
416
-
417
- XMLはいじらずに実装したいと考えています。
418
-
419
-
420
-
421
- ![Android Studio におけるデバッグ時の画面](3ded3807cdb239558e1576e7c93e461b.png)
11
+ ![イメージ説明](f35121a2e3b6b2525dbbc9eb42288e70.png)