There is probably an answer for this out there somewhere though I am fairly new to coding. I have read most responses to questions like these and I cannot find an answer that I can use in my code. What I am looking for is how to program it so that the enemy will move relative to its rotation. If anyone can help me that would be great. I'm going to leave my terrible code below in case anyone needs it to better understand.
import pygame
import math
screen = pygame.display.set_mode((1600, 900))
playerImg = pygame.image.load('images/player.png')
playerX = 800
playerY = 300
playerX_change = 0
playerY_change = 0
def player(x, y):
screen.blit(playerImg, (x, y))
enemyImg = pygame.image.load('images/player_test.png')
enemyX = 800
enemyY = 600
def enemy(x, y):
screen.blit(enemyImg, (x, y))
running = True
while running:
screen.fill((0, 0, 0))
value = ((playerX - enemyX) / (playerY - enemyY))
angled = math.acos(value)
rotated_enemy = pygame.transform.rotate(enemyImg, (angled * -1))
def enemy(x, y):
screen.blit(rotated_enemy, (x, y))
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_a:
playerX_change = -0.5
if event.key == pygame.K_d:
playerX_change = 0.5
if event.type == pygame.KEYUP:
if event.key == pygame.K_a or pygame.K_d:
playerX_change = 0
player(playerX, playerY)
enemy(enemyX, enemyY)
playerX += playerX_change
pygame.display.update()
And if anyone knows how to summarize making a character an easier way that'd be great haha- thanks for your time.