ゲームを作っていて,キャラクターの三角形を描画して,キーに応じて移動させて,再描画したいのです.
Objectやそれを構築するclass, constructorの概念を知って,
js
1let player_x = 100; 2let plyaer_w = 50; 3let plyaer_speed = 1000;
のように宣言しまくるのを
js
1class MOB { 2 constructor(left, right, top, bottom, 3 color, speed, HP, direction,) { 4 5 this.left = left; this.right = right; 6 this.top = top; this.bottom = bottom; 7 8 this.color = color; this.speed = speed; 9 this.HP = HP; this.direction = direction; 10 11 this.center_x = ( this.left + this.right ) /2 12 this.center_y = ( this.bottom + this.top ) /2 13 } 14} // once construted, if re-assigned value, 15const player = new MOB( 16 500 -15, 500 + 15, 17 500 -60 , 500 + -10, 18 '#FFF', 15, 500, 1, 19);
の ように簡単にMOBを作れるように組んだのですが,動かす段階に至って
このthis.center.x
はthis.leftが変化しても再計算されないし,
上下,左右,中央の情報は元の値を元に常に再計算されないとバグると気づきました.
- 衝突判定を楽に作るために
this.left
の名前は使いたいです.
このようにobject内でobject内の一つの変数を元にして再計算されるものを書くことは
可能でしょうか??
それともコードが冗長に見えても,そもそも一つ一つ
js
1let player_x = 100; 2let plyaer_y = 100; 3let plyaer_w = 10; 4let player_left = player_x; 5let player_right = player_x + player_w;
とするべきなんでしょうかこの場合は?
初心者なので説明が下手で,ググる言葉も下手なのか全く記事にたどり着けませんでした
回答いただけるとありがたいです
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。