我在python 3.3中制作了一个“数学泡泡”游戏,其中椭圆(气泡)在画布上随机移动,这些气泡在它们上面有一个数字eg2,用户必须弹出/点击与之相关的气泡问题,例如2的倍数,用户将点击说2,4,6,8等的气泡
麻烦的是,我不知道如何或者是否可以将数字放在我创建的椭圆形上。 请帮帮我>。<
到目前为止代码:
from tkinter import *
import random
def quit():
root.destroy()
def bubble():
xval = random.randint(5,765)
yval = random.randint(5,615)
canvas.create_oval(xval,yval,xval+30,yval+30, fill="#00ffff",outline="#00bfff",width=5)
canvas.update()
def main():
global root
global tkinter
global canvas
root = Tk()
root.title("Math Bubbles")
Button(root, text="Quit", width=8, command=quit).pack()
Button(root, text="Start", width=8, command=bubble).pack()
canvas = Canvas(root, width=800, height=650, bg = '#afeeee')
canvas.pack()
root.mainloop()
main()
答案 0 :(得分:4)
要将文本放入tkinter画布,请使用create_text方法。要将其放置在您制作的椭圆上,请将位置设置为椭圆的中心。在这种情况下,您制作的每个椭圆的中心是(xval + 15,yval + 15)。见下文:
def bubble():
xval = random.randint(5,765)
yval = random.randint(5,615)
canvas.create_oval(xval,yval,xval+30,yval+30, fill="#00ffff",outline="#00bfff",width=5)
canvas.create_text(xval+15,yval+15,text="mytext")
canvas.update()
你现在制作的每个椭圆都会写上“mytext”。
但是,您可能希望查看动画软件以了解涉及移动的更复杂的应用程序。一些很好的例子是Pygame和Livewires。但这取决于你。