0
是否有可能將雪碧放置在我點擊的位置?Pygame-雪碧設置位置與鼠標點擊
class sprite_to_place(pygame.sprite.Sprite):
def __init__(self, x_start_position , y_start_position):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.image.load("a_picture.png")
self.rect = self.image.get_rect()
self.rect.x = x_start_position # x where I clicked
self.rect.y = y_start_position # y where I clicked
當我初始化sprite_to_place時,我會使用pygame.mouse.get_pos()
。
,並在主迴路我把它用:
if event.type == pygame.MOUSEBUTTONDOWN:
sprite_to_place_group.draw(gameDisplay)
但我怎麼能得到精靈的位置,如果我想改變其位置def update()
? (我用allsprites_group.update()
)
def update(self, startpos=(x_start_position, y_start_position)): # how can I tell the function where the sprite is on the map?
self.pos = [startpos[0], startpos[1]]
self.rect.x = round(self.pos[0] - cornerpoint[0], 0) #x
self.rect.y = round(self.pos[1] - cornerpoint[1], 0) #y
如果我想在我的例子不喜歡它,它說,x_start_position
和y_start_position
沒有定義。
謝謝!
好。但是仍然無法設置精靈的位置,我點擊了它。在我能檢查鼠標在主循環中的位置之前,我必須定義我的Sprite的位置。 – Holla
所以,只需將您的主循環中精靈的位置設置爲鼠標位置即可。問題在哪裏? – sloth
問題是,我想用鼠標點擊鼠標的位置在屏幕上創建精靈。所以如果我正確理解你的解決方案,這個精靈已經放置在地圖'pos'的位置上,並且它會被移動。想象一下,在戰略遊戲中放置一座建築物,那就是我所需要的。但是,非常感謝幫助我:) – Holla