Вы, вероятно, либо уже поняли это, либо уже разочаровались в Corona, но просто чтобы здесь был ответ, я добавлю свои два цента:
Вы можете добавить любое свойство, которое вы хотите, к вашему мячу. Вам не нужно явно объявлять свойства — они создаются автоматически, когда вы присваиваете им значение. Например, чтобы добавить свойство «радиус», просто сделайте это после создания объекта «мяч»:
ball.radius = 20
Как только вы это сделаете, предполагая, что вы прикрепили обработчик события столкновения к самому мячу, мяч передается как параметр «self», и вы можете получить радиус с помощью self.radius:
local radius = self.radius
Если вы прикрепили обработчик события к какому-то другому объекту, мяч будет передан как свойство «другое» параметра «событие». Итак, используя ваш пример колодца, если вы прикрепите обработчик событий к колодцу, вы получите радиус шара с помощью:
local radius = event.other.radius
Конечно, если у вас есть другие (не шаровые) объекты, которые также могут попасть в колодец, и у этих объектов нет свойства «радиус», вам нужно убедиться, что «event.other» на самом деле является « мяч" объект первым. Если вы этого не сделаете, вы получите «ноль», когда попытаетесь получить радиус. Фактически, вы могли бы использовать это поведение, чтобы определить, что другой объект на самом деле является мячом:
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
Надеюсь это поможет. Я сам только месяц в Короне, так что...
person
JeffK
schedule
28.12.2010