回答編集履歴
2
追記
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
誤字訂正
test
CHANGED
@@ -48,7 +48,7 @@
|
|
48
48
|
|
49
49
|
|
50
50
|
|
51
|
-
setInterval() 内でフレームをカウントすると、「出現から何フレーム目で動きを変える」といったことにも対応できるようにす
|
51
|
+
setInterval() 内でフレームをカウントすると、「出現から何フレーム目で動きを変える」といったことにも対応できるようになりますが、 **抽象化**(JavaScript OOP)が必須になります。
|
52
52
|
|
53
53
|
|
54
54
|
|