Ръчно откриване на сблъсък в Lua

Така че работя върху прост сблъсък на правоъгълник с правоъгълник за моята игра в Lua. Имам алгоритъм, който използвах за други проекти за този тип сблъсък, но е в C++ и знам, че работи. Проблемът е, че използва центъра на правоъгълника. Въпреки че е лесно да се изчисли, имам проблеми със запазването на центъра, в центъра, докато спрайтът се движи. Ето какво правя

--this moves the bounding box of the collision, BUT not the center

self.boundingBox.sprite.tween = transition.to(self.boundingBox.sprite,{ transistion = easing.outExpo, y = arg.y, x=arg.x,time = arg.time,onComplete = function() end});

Спрайтът се движи както трябва, но свойството "self.boundingBox.centerY" не е и не съм сигурен кой би бил най-добрият начин за справяне с тази ситуация. моля помогнете Благодаря


person William McCarty    schedule 12.05.2013    source източник
comment
Не съм сигурен дали можете да получите позиция на обект в преход. Това може да е проблематично. Препоръчвам ви да използвате слушателя на събития enterFrame и да актуализирате позициите на обекта ръчно. По този начин можете да се справяте по-ефективно със сблъсъци   -  person Doğancan Arabacı    schedule 12.05.2013


Отговори (1)


Изглежда кодът изобщо не премества self.boundingBox, тъй като параметърът към conversion.to е self.boundingBox.sprite.

Ако boundingBox е група, която съдържа спрайт, тогава можете просто да промените self.boundingBox.sprite на self.boundingBox и двете трябва да бъдат преместени. В противен случай ще трябва да проверите спрайта за промяна на свойството вместо boundingBox.

person MikaelE    schedule 17.05.2013