如何通过在pygame中传递按键来操纵一个精灵?

biswetbf  于 2021-07-13  发布在  Java
关注(0)|答案(0)|浏览(285)

我试图让神经网络(整洁)学习和控制一个游戏,到目前为止,精灵是用键盘控制的。
我试过了 pyautogui ,它不起作用。 pygame.event.post 另一方面,如果从游戏类内传递,则可以单击字母,例如,我将m设置为游戏类内的音乐,它成功地处理了音乐,但没有向左或向右,因为它们来自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.
"""

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题