如何在python中将整数变量复制到静态变量?

问题描述 投票:0回答:2

我想让标记图标出现在光标的位置并停留在那儿,但是我一直在解决标记图标的问题,总是跟随光标的位置,并且在不按下Z键时消失了] >

因为我已经知道问题是每帧的图钉和光标位置都在更新,所以我想问一下如何使标记图标静态,以便将其放置在那个位置并且不会移动光标周围。

这是我的标记放置代码:

def drop_mark(self, screen, cursorx, cursory):
        Mark = pygame.image.load("Pin.Png").convert_alpha()
        if pygame.key.get_pressed()[pygame.K_z]:
            markx = cursorx
            marky = cursory
            screen.blit(Mark, (markx, marky))

这是该函数在代码中的使用:

def main():
    screen = pygame.display.set_mode((848, 480))
    clock = pygame.time.Clock()

    CursorSprite = pygame.image.load("WorldMapReticle.png").convert_alpha()
    WorldMapCursor = cursor(CursorSprite, 0, 0)
    while True:
        events = pygame.event.get()
        for e in events:
            if e.type == pygame.QUIT:
                return
        createScreen(screen)
        WorldMapCursor.render(screen)
        WorldMapCursor.move_right()
        WorldMapCursor.move_left()
        WorldMapCursor.move_down()
        WorldMapCursor.move_up()
        WorldMapCursor.drop_mark(screen, WorldMapCursor.x, WorldMapCursor.y)
        pygame.display.flip()
        clock.tick(60)

if __name__ == '__main__':
    main()

我想让标记图标出现在光标的位置并停留在那儿,但是我一直在解决标记图标的问题,总是跟随着光标的位置,然后...

python static pygame
2个回答
1
投票
WorldMapCursor是类cursor的实例。您根本不需要cursorxcursory参数,因为WorldMapCursor具有属性xy,并且可以通过任何实例方法中的self.xself.y来访问它们:(请参见Method ObjectsInstance Objectsinstance attribute

1
投票
问题是您要在函数中定义markxmarky,您所需要做的就是在函数中定义它们。然后更新这些变量一次。就个人而言,我不会将if pygame.key.get_pressed()[pygame.K_z]:放到函数中,但要这样做,我将执行以下操作:
© www.soinside.com 2019 - 2024. All rights reserved.