あなたはおそらくこれをすでに理解しているか、コロナをあきらめているかもしれませんが、ここに答えがあります。2セントを追加します。
ボールオブジェクトに任意のプロパティを追加できます。プロパティを明示的に宣言する必要はありません。プロパティに値を割り当てると、プロパティは自動的に作成されます。たとえば、「radius」プロパティを追加するには、「ball」オブジェクトを作成したら、次のようにします。
ball.radius = 20
これを実行すると、衝突イベントハンドラーをボール自体にアタッチしたと仮定して、ボールは「self」パラメーターとして渡され、self.radiusを使用して半径を取得できます。
local radius = self.radius
イベントハンドラーを他のオブジェクトにアタッチしている場合、ボールは「event」パラメーターの「other」プロパティとして渡されます。したがって、ウェルの例を使用して、イベントハンドラーをウェルにアタッチすると、ボールの半径は次のようになります。
local radius = event.other.radius
もちろん、ウェルに当たる可能性のある他の(ボール以外の)オブジェクトがあり、それらのオブジェクトに「radius」プロパティがない場合は、「event.other」が実際に「最初にボール」オブジェクト。そうしないと、半径を取得しようとしたときに「nil」が表示されます。実際、この動作を使用して、他のオブジェクトが実際にボールであることを検出できます。
local radius = event.other.radius
if radius then
-- may be safe to assume event.other is a ball
else
-- something else hit the well
end
お役に立てれば。私はコロナにたった1か月しかいないので、...