在 Turtle 中禁用全屏模式
Disable fullscreen mode in Turtle
我是 Python 初学者,我正在尝试使用 Turtle 模块制作一个简单的贪吃蛇游戏。我正在制作具有特定尺寸的游戏,当它全屏显示时游戏会变得很奇怪。蛇一直卡在框架内。请给出我如何在 Turtle-python 中阻止全屏选项的想法,以便游戏 运行 顺利进行。
将不胜感激。
一种方法是 "censor" 去掉多余的东西,可能像这样,用一个矩形函数和一个制作背景的函数:
screenHeight = 800
screenWidth = 800
turtle.setup(screenWidth, screenHeight)
def rect(x,y,width,height,color="white"):
go(x, y, t, 0, False)
t.fillcolor(color)
t.begin_fill()
t.setx(x+width)
t.sety(y+height)
t.setx(x)
t.sety(y)
t.end_fill()
def menu():
rect(0-(s.window_width()/2+5), 0-(s.window_height()/2+5), s.window_width()+10, s.window_height()+10, "gray")
rect(-400, -400, 800, 800, "black")
rect(-400, 300, 800, 100, "#101010")
你可以改变screenHeight
和screenWidth
的值来改变海龟的原始大小window。
仅供参考:t 是海龟,s 是屏幕。
大多数时候,当我们想要对 turtle 没有句柄的 window 做一些事情时,我们需要下降到 tkinter 基础。有几种方法可以解决这个问题。在 standalone turtle 中,我们可以使用 turtle 对象的未记录字段来访问 tkinter 对象。但是,如果我们想要额外的 tkinter 功能,如菜单,我们可能会将它变成一个带有海龟图形的 tkinter 程序 embedded in a canvas.
这是独立的方法,戳中了 tkinter 的基础:
from turtle import Screen, Turtle
screen = Screen()
screen.setup(width=600, height=600)
screen._root.resizable(False, False) # drop down to tkinter
turtle = Turtle()
turtle.penup()
turtle.sety(-100)
turtle.pendown()
turtle.circle(100)
screen.mainloop()
这个window应该被600锁定到600并且抵制任何变化。对于嵌入式方法,请参阅 this answer about disabling turtle window resize。
我是 Python 初学者,我正在尝试使用 Turtle 模块制作一个简单的贪吃蛇游戏。我正在制作具有特定尺寸的游戏,当它全屏显示时游戏会变得很奇怪。蛇一直卡在框架内。请给出我如何在 Turtle-python 中阻止全屏选项的想法,以便游戏 运行 顺利进行。
将不胜感激。
一种方法是 "censor" 去掉多余的东西,可能像这样,用一个矩形函数和一个制作背景的函数:
screenHeight = 800
screenWidth = 800
turtle.setup(screenWidth, screenHeight)
def rect(x,y,width,height,color="white"):
go(x, y, t, 0, False)
t.fillcolor(color)
t.begin_fill()
t.setx(x+width)
t.sety(y+height)
t.setx(x)
t.sety(y)
t.end_fill()
def menu():
rect(0-(s.window_width()/2+5), 0-(s.window_height()/2+5), s.window_width()+10, s.window_height()+10, "gray")
rect(-400, -400, 800, 800, "black")
rect(-400, 300, 800, 100, "#101010")
你可以改变screenHeight
和screenWidth
的值来改变海龟的原始大小window。
仅供参考:t 是海龟,s 是屏幕。
大多数时候,当我们想要对 turtle 没有句柄的 window 做一些事情时,我们需要下降到 tkinter 基础。有几种方法可以解决这个问题。在 standalone turtle 中,我们可以使用 turtle 对象的未记录字段来访问 tkinter 对象。但是,如果我们想要额外的 tkinter 功能,如菜单,我们可能会将它变成一个带有海龟图形的 tkinter 程序 embedded in a canvas.
这是独立的方法,戳中了 tkinter 的基础:
from turtle import Screen, Turtle
screen = Screen()
screen.setup(width=600, height=600)
screen._root.resizable(False, False) # drop down to tkinter
turtle = Turtle()
turtle.penup()
turtle.sety(-100)
turtle.pendown()
turtle.circle(100)
screen.mainloop()
这个window应该被600锁定到600并且抵制任何变化。对于嵌入式方法,请参阅 this answer about disabling turtle window resize。