回答編集履歴

2

追記

2019/12/31 08:12

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

test CHANGED
@@ -53,3 +53,39 @@
53
53
 
54
54
 
55
55
  ご質問の「[正常に動いていたであろう内容](https://codepen.io/AkitoshiManabe/pen/gObxVgj?editors=1010)」をOOPで書いてみました。
56
+
57
+
58
+
59
+ **追記)**
60
+
61
+ > 周りに球が入ってきたら敵が上に行くようにする機能
62
+
63
+
64
+
65
+ 「球」「敵」という言葉で「抽象的」に問いかけたはずです。
66
+
67
+
68
+
69
+ **抽象化**の恩恵
70
+
71
+ 1. 関連する2つのオブジェクトを演算させやすい(いずれかのオブジェクトにメソッドを加えればいい)。
72
+
73
+ 2. 自動で動く量(ベクトル)などの「パラメータ」を各オブジェクトに保持できる。
74
+
75
+
76
+
77
+ ゲームループ依存コンテンツのセオリーは、おおよそ次のような順番で処理して同期します。
78
+
79
+ 1. すべての表示オブジェクトのパラメータ変化(表示位置変更も含む) : ``update()``
80
+
81
+ 2. すべての表示オブジェクトを描画し直す : ``render()``
82
+
83
+
84
+
85
+ フレーム(``setInterval()``)内がシンプルになれば、抽象化された描画対象が扱いやすくなるはずです。
86
+
87
+
88
+
89
+ ----
90
+
91
+ このようなゲーム開発の考え方は、AR(拡張現実)のコンテンツに応用できると思います。

1

誤字訂正

2019/12/31 08:12

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

test CHANGED
@@ -48,7 +48,7 @@
48
48
 
49
49
 
50
50
 
51
- setInterval() 内でフレームをカウントすると、「出現から何フレーム目で動きを変える」といったことにも対応できるようにするには。 **抽象化**(JavaScript OOP)が必須になります。
51
+ setInterval() 内でフレームをカウントすると、「出現から何フレーム目で動きを変える」といったことにも対応できるようになりまが、 **抽象化**(JavaScript OOP)が必須になります。
52
52
 
53
53
 
54
54