質問編集履歴

1

追加

2020/06/24 02:54

投稿

1236
1236

スコア19

test CHANGED
@@ -1 +1 @@
1
- シューティングゲーム android studio
1
+ 画像を複数表示 android studio
test CHANGED
@@ -1,3 +1,63 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
3
  android studioでシューティングゲームを作成しています。敵をImageViewで表示しているのですが、現在1つのImageViewで画像が1枚表示される状態です。敵を複数表示したいのですが、同じ画像を複数同時に表示させることに悩んでいます。調べたところ、bitmapやdrawableで複数表示させることが可能らしいのですが、ImageViewでは不可能ですか?調べてもなかなか出でこないので教えてください。
4
+
5
+
6
+
7
+ ### 追記
8
+
9
+ Rectで四角形を作りその上に画像を表示させたいです。四角形を配列で作成することで複数の画像を表示させようとしています。調べたところcanvas上に表示させているコードを見つけたのですが、現在スコアをレイアウトで管理しており、ゲーム画面から結果画面へ遷移する際もレイアウト経由でスコアの受け渡しを行なっています。canvasを用いるとレイアウト部分が消えてしまうのでなるべくcanvasは使いたくなかったのですが、Rectの上に画像を表示させることは可能でしょうか?
10
+
11
+
12
+
13
+ 以下のサイトのコードを書き換えてシューティングゲームを作成中です。
14
+
15
+ https://codeforfun.jp/android-studio-catch-the-ball-intro/
16
+
17
+
18
+
19
+ Rect上に画像を表示は以下のサイトを見ました。
20
+
21
+ http://hosikiraku.web.fc2.com/androidstudio/androidstudio5.html#java5-3
22
+
23
+
24
+
25
+ ### 該当のソースコード
26
+
27
+
28
+
29
+ ```java
30
+
31
+ Bitmap orange = BitmapFactory.decodeResource(getResources(), R.drawable.orange);
32
+
33
+ private int oX, oY;
34
+
35
+ private Rect[] fire2R;
36
+
37
+
38
+
39
+
40
+
41
+ oX = (int) Math.floor(Math.random() * (frameWidth - orange.getWidth()));
42
+
43
+ oY = (int) Math.floor(Math.random() * (frameHeight - orange.getHeight()));
44
+
45
+ if (Math.random() < 0.5) {
46
+
47
+ for (int i=0; i < 15; i++) {
48
+
49
+ fire2R[i] = new Rect(oX, oY, oX + orange.getWidth(), oY + orange.getHeight());
50
+
51
+
52
+
53
+
54
+
55
+ ここに画像を表示させるコード
56
+
57
+
58
+
59
+ }
60
+
61
+ }
62
+
63
+ ```