私はゲームの物理学を独学で学ぼうとしており、Foundation ActionScript 3 という本を勧められました。数学の原則は、他のテクノロジー、特に html5 キャンバスにも当てはまると思いました。そこで、好奇心に駆られて、ActionScript を JavaScript に変換し始め、その過程でいくつかの精神的な比較を行いました。これまでのところ、原則と構文は私の目には非常に似ていましたが、「リペアレンティング」と呼ばれるこの概念に出会いました。ActionScript に次のコードがあります。
parent1 = new Sprite();
addChild(parent1);
parent1.graphics.lineStyle(1, 0);
parent1.graphics.drawRect(-50, -50, 100, 100);
parent1.x = 60;
parent1.y = 60;
parent2 = new Sprite();
addChild(parent2);
parent2.graphics.lineStyle(1, 0);
parent2.graphics.drawRect(-50, -50, 100, 100);
parent2.x = 170;
parent2.y = 60;
ball = new Sprite();
parent1.addChild(ball);
ball.graphics.beginFill(0xff0000);
ball.graphics.drawCircle(0, 0, 50);
ball.graphics.endFill();
ball.addEventListener(MouseEvent.CLICK, onBallClick);
private function onBallClick(event:MouseEvent):void
{
if (parent1.contains(ball)) {
parent2.addChild(ball);
}else if (parent2.contains(ball)) {
parent1.addChild(ball);
}
}
したがって、ボールがクリックされるたびに、ボールは他の長方形に転送され、その長方形が「子」になります。JavaScript に、ActionScript の親の変更と同じくらい最小限の労力で同様の効果を得ることができる同様の概念があるかどうか疑問に思っています。