问题出在#num
注释更改部分。它应该在数字周围画一个绿色的框,然后在它的位置上写一个新的。首先,我测试了#AP
,它运行得非常好。所以我添加了#HP
,但由于某种原因,它不起作用,#AP
也停止了。我没有收到任何错误信息,我看了一下,但没有发现问题。你知道吗
import turtle
import winsound
import os
import time
#screen
wn = turtle.Screen()
wn.bgcolor("green")
wn.title("game")
hp=100
ap=10
def song1():
winsound.PlaySound("sound1", winsound.SND_FILENAME)
#menu
time.sleep(2)
men_pen = turtle.Turtle()
men_pen.speed(0)
men_pen.color("black")
men_pen.penup()
men_pen.setposition(-1000,-200)
men_pen.pensize(4)
men_pen.pendown()
men_pen.fd(2500)
#menu text
men_pen.penup()
men_pen.setposition(-625,-265)
men_pen.pendown()
men_pen.write("HP=",True,font=('terminal',18, 'bold'))
men_pen.penup()
men_pen.setposition(-560,-265)
men_pen.pendown()
men_pen.write(hp ,font=('terminal',18,'bold'))
men_pen.penup()
men_pen.setposition(-625,-312)
men_pen.pendown()
men_pen.write("AP=",True,font=('terminal',18,'bold'))
men_pen.penup()
men_pen.setposition(-560,-312)
men_pen.write(ap ,font=('terminal',18,'bold'))
men_pen.penup()
men_pen.setposition(-499,-240)
men_pen.pendown()
men_pen.write("William" ,True,font=('terminal',20,'bold'))
#num changers
#AP
ap1= turtle.Turtle()
ap1.speed(0)
ap1.penup()
ap1.color("green")
ap1.penup()
ap1.setposition(-559,-311)
ap1.pendown()
def changeap():
ap1.down()
ap1.begin_fill()
for i in range(4):
ap1.penup()
ap1.fd(36)
ap1.left(90)
ap1.color("green")
ap1.end_fill()
ap1.pendown()
men_pen.penup()
men_pen.setposition(-560,-312)
men_pen.write(ap ,font=('terminal',18,'bold'))
men_pen.penup()
#HP
hp2=turtle.Turtle()
hp2.speed(0)
hp2.penup()
hp2.color("green")
hp2.setposition(-561,-314)
hp2.pendown()
def changehp():
hp2.down()
hp2.begin_fill()
for i in range(4):
hp2.fd(50)
hp2.left(90)
hp2.color("green")
hp2.end_fill()
hp2.pendown()
men_pen.penup()
men_pen.setposition(-560,-312)
men_pen.pendown()
men_pen.write(ap , font=('Terminal',18,'bold'))
hp = 20
ap = 1000
time.sleep(5)
changeap()
time.sleep(5)
changehp()
有一个更简单的方法。与其用背景色的矩形覆盖文本,我们可以使用turtle的
.clear()
(或.undo()
)方法删除文本,然后再重新重写:相关问题 更多 >
编程相关推荐