单击内部矩形时添加分数

时间:2016-09-30 16:01:29

标签: python python-3.x

我要为学校做以下练习:

创建一个显示分数的文本字段,如下所示“得分:”(您可以使用文本(StringValue,IntegerXposition,IntegerYposition)来绘制文本),从零开始。 使其成为当用户单击鼠标左键时,将结果添加10分。

在屏幕上创建一个矩形并使其成为当用户在矩形内部点击时,将得分20添加到分数值。

我已完成第一部分,但在单击矩形内部时不知道如何添加20分。这是我到目前为止的代码。

def setup():
    global Score, xPos, yPos
    size(800,800)
    textSize(30)
    Score= 0
    xPos= 200
    yPos= 200

def draw():
    global Score, xPos, yPos
    background(51)
    rect(xPos,yPos,100,100)
    text("Score: ", 50, 50)
    text(Score, 150, 50)    


def mousePressed():
    global Score, xPos, yPos
    if (mouseButton == LEFT):
        Score= Score + 10

2 个答案:

答案 0 :(得分:0)

我不确定单独Python/Python 3.5.1是否可行。我认为tkinter更适合用Python制作形状(我并不安静,因为我之前从未使用过它)。我建议您使用class初始化。这是我得到的:

class shapesYo:
    def __init__(self, xPos, yPos):
        self.xPos = xPos
        self.yPos = yPos
        self.size = (800, 800)
    def displayPos(self):
        print("The x Position is {0} and the y Position is {1}.".format(self.xPos, self.yPos))
    def displayScore(self):
        self.Score = 0
        print("Score: {0}".format(self.Score))

rect = shapesYo(100, 100)
text = shapesYo(50, 50)
rect.displayPos()
text.displayPos()
text.displayScore()

这可能无法帮助解决代码中发生的(或您想要发生的)实际事件,但是(在我看来)设置一组这样的代码会更好。

答案 1 :(得分:0)

只需点击即可检查鼠标指针的位置。

我不知道您使用的是哪个库,只是将mouseXmouseY替换为实际的变量名称。

def mousePressed():
    global Score, xPos, yPos
    if mouseButton == LEFT and xPos < mouseX < xPos+100 and yPos < mouseY < yPos+100:
        Score= Score + 10