Cara Membuat Imej Pemain Berputar mengikut Arah Tetikus
Agar imej pemain dalam permainan menembak 2D berputar ke arah tetikus, adalah penting untuk mengira vektor dan sudut antara pemain dan kedudukan tetikus. Berikut ialah panduan langkah demi langkah tentang cara mencapai matlamat ini:
1. Tentukan Kedudukan Tetikus dan Pemain:
Tentukan kedudukan tetikus menggunakan pygame.mouse.get_pos(). Kira sempadan segi empat tepat pemain menggunakan player.get_rect(topleft=(P_X,P_Y)).
<code class="python">mx, my = pygame.mouse.get_pos() player_rect = player.get_rect(topleft=(P_X,P_Y))</code>
2. Kira Vektor dan Sudut:
Kira vektor daripada pemain ke tetikus dengan menolak koordinat pemain daripada koordinat tetikus. Gunakan math.atan2(-dy, dx) untuk mengira sudut vektor, di mana -dy diperlukan untuk membetulkan sistem koordinat PyGame.
<code class="python">dx, dy = mx - player_rect.centerx, player_rect.centery - my angle = math.degrees(math.atan2(-dy, dx)) - correction_angle</code>
3. Gunakan Sudut Pembetulan:
Bergantung pada orientasi imej pemain, sudut pembetulan harus digunakan. Contohnya, 0 darjah untuk menghadap ke kanan, 90 darjah untuk menghadap ke atas, 180 darjah untuk menghadap ke kiri dan 270 darjah untuk menghadap ke bawah.
4. Putar Imej Pemain:
Gunakan pygame.transform.rotate(Player_1, angle) untuk memutar imej pemain mengikut sudut yang dikira. Tengahkan imej yang diputar menggunakan get_rect(center=player_rect.center).
<code class="python">rot_image = pygame.transform.rotate(Player_1, angle) rot_image_rect = rot_image.get_rect(center=player_rect.center)</code>
5. Laksanakan dalam Gelung Permainan:
Dalam gelung permainan, putaran imej pemain berdasarkan kedudukan tetikus boleh dicapai dengan memasukkan pengiraan di atas dan menggunakannya pada kedudukan imej pemain.
Atas ialah kandungan terperinci Bagaimana untuk Memutar Imej Pemain Ke Arah Tetikus dalam Permainan Menembak 2D?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!