View Full Version : [Lập trình]Kiểm tra va chạm
Project của em được giao là làm 1 game thể loại đố kháng bằng java(Kiểu Mortal combat ấy, góc nhìn ngang). Đang ngồi nghĩ cái thuật giải kiểm tra va chạm mà mông lung quá, có vozer nào cao thủ khoản này giúp em với :badsmell:
=,= hình như hỏi nhầm chỗ
Im Legend
02-06-2010, 16:57
Project của em được giao là làm 1 game thể loại đố kháng bằng java(Kiểu Mortal combat ấy, góc nhìn ngang). Đang ngồi nghĩ cái thuật giải kiểm tra va chạm mà mông lung quá, có vozer nào cao thủ khoản này giúp em với :badsmell:
dễ nhất là thử làm thế nào kiểm tra 2 hình có chạm vào nhau không đã.
vd: 2 hình tròn. Làm đc thì mới nói đến game đối kháng.
-_-
dễ nhất là thử làm thế nào kiểm tra 2 hình có chạm vào nhau không đã.
vd: 2 hình tròn. Làm đc thì mới nói đến game đối kháng.
-_-
Biết thế, đang định chiếu hình sang trục Ox để kiểm tra, nếu thuận lợi sẽ dùng cách này, dù sao cũng không cần quá chính xác :">
Im Legend
02-06-2010, 17:06
Biết thế, đang định chiếu hình sang trục Ox để kiểm tra, nếu thuận lợi sẽ dùng cách này, dù sao cũng không cần quá chính xác :">
ko rõ bạn làm game 2D hay 3D ? nhưng nói chung là sẽ vẽ những điểm xung quanh một khối và khi nó chạm vào khối khác thì coi như là va chạm.
Dĩ nhiên là game bây giờ không có hiện tượng xuyên các vật thể như trước.
Và lý thuyết dễ hơn thực tế :):baffle::byebye::byebye:
2 cái hình,khi bất kỳ điểm nào của hình này va chạm hình kia thì đc xem như là va chạm..rồi ok,bạn có thể code:*
dragon1408
02-06-2010, 17:38
mình học mô phỏng, mô hình hóa có bài tập về va chạm, viết bằng C, có cái project chạy được luôn đó. Hàm ko nhớ gọi tên là gì, về xem code là biết. Xem có giúp gì được bro ko?
songbangao
02-06-2010, 18:14
tìm hiểu về collistion detection đi bro, vào google gõ ra cả đống ấy :)
hix mình gõ rồi nhưng tài liệu tiếng anh nhiều từ mới quá, tra không xuể
Mình cũng đang gặp vấn đề về kiểm tra va chạm :sad:
Tìm đc cách giải quyết chia sẻ ngay nhé bạn :)
aladil04
02-06-2010, 23:41
Biết thế, đang định chiếu hình sang trục Ox để kiểm tra, nếu thuận lợi sẽ dùng cách này, dù sao cũng không cần quá chính xác :">
Tròn A tâm Xa, Ya; B: Xb, Yb
bán kính căn Xa2 + Ya2
khoảng cách AB: căn (Xa-Xb)2 + (Ya-Yb)2
AB =<2R là va chạm
Nhớ lấy điểm tham chiếu làm tâm O
Sao nhỉ :beauty:
aladil04
02-06-2010, 23:44
Thêm:
điều kiện va chạm (AB=2R) nhớ cho vào trong phương thức di chuyên (Move) của đối tượng đường tròn ấy
:look_down: Thế được ko nhể. Cần kỹ hơn thì pm nhớ:*
đại khái thế này, bạn sẽ gắn các bộ phận trọng yếu của nhân vật với một hình gì đó, ở đây mình chọn hình chữ nhật đi. Như vậy coi như đầu gắn với một hình chữ nhật, hai nắm đấm gắn với 2 hình chữ nhật, tương tự hai bàn chân gắn với 2 hình chữ nhật (đùi và bắp tay không tính vì trong game đối kháng nhân vật này đánh trúng nhân vật kia khi nắm đấm trúng người hay đầu thôi). Vậy khi nhân vật ra chiêu thì các hình chữ nhật trên cũng chuyển động theo. Bạn kiểm tra coi có hình chữ nhật gắn với tay hoặc chân của người này va chạm với hình chữ nhật gắn với đầu hoặc thân của người kia thì tính là đánh trúng. Còn xét giao của 2 hình chữ nhật thì google nhé :)
chúc thành công
Keyboárd C@t
03-06-2010, 02:26
đại khái thế này, bạn sẽ gắn các bộ phận trọng yếu của nhân vật với một hình gì đó, ở đây mình chọn hình chữ nhật đi. Như vậy coi như đầu gắn với một hình chữ nhật, hai nắm đấm gắn với 2 hình chữ nhật, tương tự hai bàn chân gắn với 2 hình chữ nhật (đùi và bắp tay không tính vì trong game đối kháng nhân vật này đánh trúng nhân vật kia khi nắm đấm trúng người hay đầu thôi). Vậy khi nhân vật ra chiêu thì các hình chữ nhật trên cũng chuyển động theo. Bạn kiểm tra coi có hình chữ nhật gắn với tay hoặc chân của người này va chạm với hình chữ nhật gắn với đầu hoặc thân của người kia thì tính là đánh trúng. Còn xét giao của 2 hình chữ nhật thì google nhé :)
chúc thành công
+1
Ko thể kiểm tra việc 2 hình chạm nhau hay điểm ảnh hình này nằm chồng lên điểm ảnh hình kia đc, vì về cơ bản mọi hình ảnh đều có dạng hình CN.
Cách xây dựng bộ bone như bạn trên rất hay, thực tế cũng thấy nhiều game và phần mềm áp dụng kiểu này và nó xử lý đc việc trong game đối kháng đánh vào đầu khác với việc đánh vào chân.
vBulletin® v3.8.0, Copyright ©2000-2013, Jelsoft Enterprises Ltd.