如何将图像“对准”鼠标?

时间:2019-06-19 23:03:27

标签: python python-3.x pygame

我从python开始,我只了解基础知识,我想创建一种自上而下的游戏,使其与我目前拥有的游戏类型相同。 我已经在互联网上尝试了一些解决方案,可惜的是,这些解决方案都没有为我工作。

正如我所说,到目前为止,我找不到可行的解决方案,但我已经尝试了一些方法,包括此方法 How can I make the player “look” to the mouse direction? (Pygame / 2D)。 我也在使用pygame,忘记了。如果您需要知道的话,我也有pgzero

此代码有效,当您单击它时,它会放置一个新角色,但是我想拥有一种“角色”,其武器可以四处移动并“看着”鼠标。

import pgzrun

from random import randint


apple = Actor("apple")


score = 0


def draw():

    screen.clear()

    apple.draw()

def place_apple():

    apple.x = randint(10, 800)
    apple.y = randint(10, 600)

def on_mouse_down(pos):

    global score
    if apple.collidepoint(pos):
        print("Good Shot!")
        place_apple()
        score = score + 1
        print(score)

    else:
        print("You Missed!")
        quit()

pgzrun.go()

我只需要知道如何使图片“看”到光标,然后知道我下次会做的每一件事。

我第一次尝试使用上面给出的链接,它返回一个位置参数,但我无法弄清楚。 当我输入固定代码时,我可能会弄乱某些东西,但我不知道,我有点累。

1 个答案:

答案 0 :(得分:0)

我不确定“瞄准鼠标”的确切含义,但我想您想根据某些程序逻辑来更改绘制的图像。

您只需将image的{​​{1}}属性设置为另一张图片即可。当您点击图片时,看到我的

修改版本
Actor

您可以在此处找到完整API的文档(函数调用和属性):

https://pygame-zero.readthedocs.io/en/stable/builtins.html