Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Memutar Imej Pemain Secara Dinamik untuk Menghadapi Kursor Tetikus dalam Permainan Menembak 2D?
Bagaimana untuk Memutar Imej(Pemain) ke Arah Tetikus?
Apabila mencipta permainan menembak 2D, adalah penting untuk membolehkan pemain halakan ke arah kursor tetikus. Walau bagaimanapun, mencari penyelesaian untuk perkara ini boleh menjadi mencabar.
Penerangan Masalah
Imej pemain (Player_1) perlu berputar secara dinamik berdasarkan kedudukan tetikus untuk meningkatkan sasaran pengalaman.
Penyelesaian
Untuk mencapainya, kita perlu mengira sudut antara kedudukan pemain dan kedudukan kursor tetikus. Ini dicapai seperti berikut:
<code class="python">import pygame, sys, os import math # ... (rest of the code remains the same) def game_loop(): while True: events() mx, my = pygame.mouse.get_pos() # Get the mouse position player_rect = Player_1.get_rect(topleft=(P_X,P_Y)) # Get the player's rectangle dx, dy = mx - player_rect.centerx, player_rect.centery - my # Calculate the vector from the player to the mouse angle = math.degrees(math.atan2(-dy, dx)) - correction_angle # Compute the angle of the vector rot_image = pygame.transform.rotate(Player_1, angle) # Rotate the player image by the calculated angle rot_image_rect = rot_image.get_rect(center=player_rect.center) # Get the rotated image's rectangle DS.fill(White) DS.blit(rot_image, rot_image_rect) # Blit the rotated player image pygame.display.flip()</code>
Sudut_pembetulan ialah pemalar yang bergantung pada orientasi awal sprite pemain. Nilai biasa ialah:
Kaedah ini membolehkan imej pemain berputar dan membidik dengan tepat ke arah kedudukan kursor tetikus, meningkatkan pengalaman permainan.
Atas ialah kandungan terperinci Bagaimana untuk Memutar Imej Pemain Secara Dinamik untuk Menghadapi Kursor Tetikus dalam Permainan Menembak 2D?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!