Python 在Pygame上,如何使一个精灵向另一个精灵移动?

Python 在Pygame上,如何使一个精灵向另一个精灵移动?,python,pygame,pycharm,Python,Pygame,Pycharm,我正在尝试在Pygame上进行我的第一个游戏(特别是Pycharm),你必须尝试躲避敌人。我能想出如何让它触动你,让你失去它,但不能一开始就让它向你靠近。我有一个玩家,在屏幕中间开始,随机应变的敌人随处可见。这是我目前掌握的代码: (我对编码非常陌生,所以任何其他答案都让我完全困惑。) 随机导入 #初始化游戏 pygame.init() #屏幕大小 screen=pygame.display.set_模式((10001000)) #标题+图标 pygame.display.set_标题(“病态盾

我正在尝试在Pygame上进行我的第一个游戏(特别是Pycharm),你必须尝试躲避敌人。我能想出如何让它触动你,让你失去它,但不能一开始就让它向你靠近。我有一个玩家,在屏幕中间开始,随机应变的敌人随处可见。这是我目前掌握的代码:

(我对编码非常陌生,所以任何其他答案都让我完全困惑。)

随机导入
#初始化游戏
pygame.init()
#屏幕大小
screen=pygame.display.set_模式((10001000))
#标题+图标
pygame.display.set_标题(“病态盾牌”)
icon=pygame.image.load('anti-virus.jpg')
pygame.display.set_图标(图标)
#玩家
playerImg=pygame.image.load('player.png')
playerX=460
playerY=460
playerX_change=0
playerY_change=0
#敌人
enemyImg=pygame.image.load('virus.png')
enemyX=random.randint(0460)
enemyY=random.randint(0460)
enemyX_变化=0
Enemy_change=0
def更新(自我、玩家):
自我狩猎玩家(玩家)
def播放器(x,y):
屏幕。blit(playerImg,(playerX,playerY))
def敌人(x,y):
屏幕。blit(enemyImg,(enemyX,enemyY))
#游戏循环
运行=真
运行时:
屏幕填充((20,0,60))
对于pygame.event.get()中的事件:
如果event.type==pygame.QUIT:
运行=错误
#人物运动
如果event.type==pygame.KEYDOWN:
如果event.key==pygame.K_左:
playerX_change=-1
如果event.key==pygame.K_RIGHT:
playerX_change=1
如果event.key==pygame.K_UP:
playerY_change=-1
如果event.key==pygame.K_向下:
playerY_change=1
如果event.key==pygame.K_左或event.key==pygame.K_右:
playerY_change=0
如果event.key==pygame.K_向上或event.key==pygame.K_向下:
playerX_change=0
playerY+=playerY\u变化
playerX+=playerX\u更改
#边界
如果playerX=946:
playerX=946
如果playerY=946:
playerY=946
玩家(playerX,playerY)
敌人(灌肠,灌肠)
pygame.display.update()```
import random
# intialize the pygame
pygame.init()

# screen size
screen = pygame.display.set_mode((1000,1000))

# title + icon
pygame.display.set_caption("Sick Shield")
icon = pygame.image.load('anti-virus.jpg')
pygame.display.set_icon(icon)

#player
playerImg = pygame.image.load('player.png')
playerX = 460
playerY = 460
playerX_change = 0
playerY_change = 0

#enemy
enemyImg = pygame.image.load('virus.png')
enemyX = random.randint(0,460)
enemyY = random.randint(0,460)
enemyX_change = 0
enemyY_change = 0



def update(self, player):
    self.hunt_player(player)

def player(x,y):
    screen.blit(playerImg, (playerX, playerY))

def enemy(x,y):
    screen.blit(enemyImg, (enemyX, enemyY))

# game loop
running = True
while running:

    screen.fill((20, 0, 60))

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

        #character movement
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_LEFT:
                playerX_change = -1
            if event.key == pygame.K_RIGHT:
                playerX_change = 1
            if event.key == pygame.K_UP:
                playerY_change = -1
            if event.key == pygame.K_DOWN:
                playerY_change = 1
            if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
                playerY_change = 0
            if event.key == pygame.K_UP or event.key == pygame.K_DOWN:
                playerX_change = 0

    playerY += playerY_change
    playerX += playerX_change

    #boundries
    if playerX <= 0:
        playerX = 0
    elif playerX >= 946:
        playerX = 946
    if playerY <= 0:
        playerY = 0
    elif playerY >= 946:
        playerY = 946

    player(playerX, playerY)
    enemy(enemyX, enemyY)
    pygame.display.update()```