回答編集履歴
2
追記
answer
CHANGED
@@ -25,4 +25,22 @@
|
|
25
25
|
|
26
26
|
setInterval() 内でフレームをカウントすると、「出現から何フレーム目で動きを変える」といったことにも対応できるようになりますが、 **抽象化**(JavaScript OOP)が必須になります。
|
27
27
|
|
28
|
-
ご質問の「[正常に動いていたであろう内容](https://codepen.io/AkitoshiManabe/pen/gObxVgj?editors=1010)」をOOPで書いてみました。
|
28
|
+
ご質問の「[正常に動いていたであろう内容](https://codepen.io/AkitoshiManabe/pen/gObxVgj?editors=1010)」をOOPで書いてみました。
|
29
|
+
|
30
|
+
**追記)**
|
31
|
+
> 周りに球が入ってきたら敵が上に行くようにする機能
|
32
|
+
|
33
|
+
「球」「敵」という言葉で「抽象的」に問いかけたはずです。
|
34
|
+
|
35
|
+
**抽象化**の恩恵
|
36
|
+
1. 関連する2つのオブジェクトを演算させやすい(いずれかのオブジェクトにメソッドを加えればいい)。
|
37
|
+
2. 自動で動く量(ベクトル)などの「パラメータ」を各オブジェクトに保持できる。
|
38
|
+
|
39
|
+
ゲームループ依存コンテンツのセオリーは、おおよそ次のような順番で処理して同期します。
|
40
|
+
1. すべての表示オブジェクトのパラメータ変化(表示位置変更も含む) : ``update()``
|
41
|
+
2. すべての表示オブジェクトを描画し直す : ``render()``
|
42
|
+
|
43
|
+
フレーム(``setInterval()``)内がシンプルになれば、抽象化された描画対象が扱いやすくなるはずです。
|
44
|
+
|
45
|
+
----
|
46
|
+
このようなゲーム開発の考え方は、AR(拡張現実)のコンテンツに応用できると思います。
|
1
誤字訂正
answer
CHANGED
@@ -23,6 +23,6 @@
|
|
23
23
|
}
|
24
24
|
```
|
25
25
|
|
26
|
-
setInterval() 内でフレームをカウントすると、「出現から何フレーム目で動きを変える」といったことにも対応できるようにす
|
26
|
+
setInterval() 内でフレームをカウントすると、「出現から何フレーム目で動きを変える」といったことにも対応できるようになりますが、 **抽象化**(JavaScript OOP)が必須になります。
|
27
27
|
|
28
28
|
ご質問の「[正常に動いていたであろう内容](https://codepen.io/AkitoshiManabe/pen/gObxVgj?editors=1010)」をOOPで書いてみました。
|