Saya sedang mengerjakan game 2D di mana Anda menggunakan cat untuk menambahkan ubin ke level dan sekarang saya sedang bekerja untuk menambahkan ubin warp. Saya sudah mengaturnya sehingga cat berorientasi arah tertentu menggunakan dua titik (awal dan akhir) untuk menentukan arah mana ubin akan menunjuk (kiri, kanan, atas, bawah.) Ubin warp memiliki titik-titik ini, tetapi mereka akan menjadi ditambahkan ke dua daftar lainnya (warp start dan end). Cara kerja warps adalah: jika pemain memukul satu ubin mereka akan dipindahkan ke ubin warp yang sesuai. Sekarang, jika saya ingin ini berfungsi dengan baik, saya harus membuatnya agar pemain tidak bisa dipindahkan ke dinding atau keluar dari peta. Jadi saya perlu memindahkan titik ke ubin terbuka tepat satu ruang jauhnya dari dinding.
apa jalan terbaik melakukan ini?
Jawaban:
Jika semua yang ingin Anda lakukan adalah memastikan bahwa ubin yang diklik memiliki ubin terbuka di sekitarnya, saya hanya akan membuat fungsi yang memeriksa ubin di sekitarnya. Dan kemudian menyebutnya di ubin yang diklik.
Anda bisa mengaturnya dalam loop (bersarang) atau hanya membuat pernyataan if untuk itu. Jadi, dalam pseudo-code:
Edit Berdasarkan Komentar
Ada dua cara Anda bisa menangani situasi:
sumber
Saya pikir Anda perlu menemukan kotak "bebas" terdekat ke ubin warp, di mana pemain dapat masuk.
Ada pertanyaan serupa tentang stackoverflow. Klik untuk melihat .
sumber