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