Jeśli to ma być realistyczny (owski), jak Angry Birds , a następnie dla każdego obiektu, który jest rozerwany przez bombę, będzie podążać po kwadratowej ścieżce.
Nie wiem andengine lub box2d. Ale w grze zrobiłem proste 2d modele eksplozji i pocisków. Mam nadzieję, że możesz wziąć coś z następującego:
Chciałbyś dowiedzieć się, jaka jest odległość (x, y) obiektu od bomby. Z tego obliczyć kąt. (na przykład obiekt nad bombą, która eksploduje, będzie miał kąt 90 lub pi/2.
Z tego co wyliczymy sin i cos kąta, pomnożyć przez pewien czynnik siły F. (zależny syn siła bomba i odległość obiektu od bomby). Z tego masz swój początkowy wektor ruchu {F * Math.cos (kąt), F * Math.sin (kąt)};
Stąd jest to tylko samolot . kinematyka obiekt powinien podążać ścieżką kwadratowego przez powietrze równania może wyglądać następująco:.
object.setXCoord(object.getXCoord()+time_constant); //after initial explosion, no force is
//acting horizontally on object.
object.setYCoord(object.getYCoord()-some_constant*time_constant+another_constant*time_constant*time_constant);// note Y's path
//relative to time is quardatic.
prawdopodobnie trzeba dodać jakieś odlewy tam w zależności od typów będziesz używać. Wszystkie stałe zależą od twojej gry. time_constant może być równy 1, ale stwierdziłem, że zrobienie wielokrotności 1 spowodowało, że eksplozja stała się bardziej atrakcyjna wizualnie. tj. w miarę wzrostu licznika czasu t ruch obiektu może wykorzystywać time_constant 0.5. Użyłem wielu prób i błędów, aby sprawdzić, które wartości stałe działały najlepiej.
Przez chwilę byłem zmartwiony – snowflakekiller
powinieneś zmienić pytanie, więc wskazuje na bardziej odpowiednie programowanie –
Istnieje wiele sposobów na zrobienie tego. Oto kilka interesujących dyskusji: http://box2d.org/forum/viewtopic.php?f=3&t=1688 – iforce2d