问题描述
我正在尝试让神经网络 (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 (将#修改为@)