Nếu nó sẽ phải thực tế (ish), như Angry Birds , sau đó đối với từng vật thể bị thổi bay bởi quả bom, nó sẽ đi theo một con đường bậc hai.
Tôi không biết andengine hoặc box2d. Nhưng tôi đã thực hiện mô hình vụ nổ và phóng xạ 2d đơn giản trong một trò chơi. Tôi hy vọng bạn có thể thực hiện một số việc sau:
Bạn muốn tìm khoảng cách phối hợp (x, y) của vật thể khỏi bom. Từ này tính toán góc. (ví dụ một đối tượng trên quả bom khi nó phát nổ sẽ có góc 90 hoặc pi/2.
Từ công việc này ra khỏi tội lỗi và cos của góc. Nhân nó bởi một số yếu tố lực F. (phụ thuộc con trai sức mạnh của quả bom và khoảng cách của vật thể từ bom.) Từ đó bạn có véc tơ di chuyển ban đầu {F * Math.cos (góc), F * Math.sin (góc)};
Từ đây nó chỉ là mặt phẳng Các đối tượng nên theo một con đường bậc hai thông qua không khí.Các phương trình có thể trông giống như:
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.
Bạn có thể sẽ cần phải thêm một số phôi trong đó tùy thuộc vào loại bạn sẽ sử dụng. Tất cả các hằng số phụ thuộc vào trò chơi của bạn. time_constant cũng có thể là 1, nhưng tôi thấy việc thực hiện một bội số của 1 khiến cho vụ nổ trở nên hấp dẫn hơn. tức là thời gian đếm ngược của bạn, chuyển động của đối tượng có thể sử dụng time_constant 0,5. Tôi đã sử dụng rất nhiều bản dùng thử và lỗi để xem giá trị hằng số nào hoạt động tốt nhất.
Nguồn
2011-08-08 04:52:17
trong giây lát ở đó, tôi đã lo lắng – snowflakekiller
bạn nên sửa đổi câu hỏi để các điểm lập trình phù hợp hơn –
Có nhiều cách bạn có thể thực hiện việc này. Một số cuộc thảo luận thú vị ở đây: http://box2d.org/forum/viewtopic.php?f=3&t=1688 – iforce2d