Saya baru-baru ini mengambil monogame dan sedang mengerjakan permainan top down sederhana untuk memulai dan mempelajari dasar-dasarnya.
Saya mendapatkan pergerakan dan rotasi untuk mengikuti mouse, tetapi saya terjebak dengan tabrakan.
Apa yang ingin saya ketahui, pada dasarnya, adalah dua hal:
- Apa cara terbaik untuk menangani tabrakan? Saya tahu bahwa
Rectangle.Intersects(Rectangle1, Rectangle2)
mengembalikan persegi panjang yang tumpang tindih, tetapi, karena gerakan di atas ke bawah adalah pada sumbu x / y saya ingin tahu di mana tabrakan terjadi sehingga saya dapat membuat semacam "geser dinding" di mana pemain tidak mendapatkan terjebak di dinding.
Apakah memeriksa koordinat pemain x / y terhadap koordinat objek padat, lalu melempar pemain ke posisi sebelumnya jika ia memasuki batas objek padat benar-benar pendekatan terbaik? Apa yang kamu sarankan? - Apa cara terbaik untuk menerapkan tabrakan ke semua padatan, npc, dll.? Saat ini saya sedang berpikir untuk membuat
gameObject
kelas dimana semua objek akan mewarisi dan hanya menangani tabrakan di sana.
Terima kasih telah membaca dan berharap seseorang dapat memberi saya beberapa tips.