如何解决如何通过在 pygame 中传递按键来操纵精灵以进行自我播放?
我正在尝试让神经网络 (NEAT) 来学习和控制游戏,到目前为止,精灵是通过键盘控制的。
我试过 pyautogui
,没有用。
pygame.event.post
另一方面,如果从 Game 类内部传递,则可以单击字母,例如,我设置 m 用于 Game 类中的音乐,它处理成功但没有LEFT 或 RIGHT,因为它们来自 Player 类。
最后,我尝试了一些继承,但这给了我永无止境的迭代/加载。
我知道 pygame 类非常复杂,我想任何形式的帮助来解决问题。
这是我尝试解决问题的示例。
class Game(pygame.sprite.Sprite):
def __init__(self,scrn_width,scrn_height,score,..):
super().__init__()
'reponsible for game enviroment'
'inits screen,inits group sprite,keeps increments score'
self.player = Player()
self.enemy = Enemy()
self.player_group.add(self.player)
self.enemy_group.add(self.enemy)
self.score...
def run(self):
pass
class Player(pygame.sprite.Sprite):
def __init__(self,path = r'..\player.png'):
super().__init__(self)
..
self.image = pygame.image.load(path)
self.rect.center = [0,0]
def move(self):
'allows'
class Controller(Player,Game):
def __init__(self):
super().__init__()
def begin(self):
Start_Game._run(self)
if self.score == 1:
pyautogui.press['Left','Left','Left'] #try 1
self.rect.top = 0 #try 2
newevent = pygame.event.Event(pygame.locals.KEYDOWN,key=pygame.locals.K_LEFT) #try 3
pygame.event.post(newevent)
"""
I would like this class to pass coordinates to update player sprite's position
based on information from Game such as score,collision,enemy.
"""
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。