如何在乌龟,蟒蛇中制作矩形?

时间:2015-02-11 00:31:25

标签: python

python如何制作形状? 这就是我所做的

import turtle,random,sys

turtle.title("SHOT")
turtle.setup (width=800, height=600)
turtle.bgcolor("light green")
turtle.screensize(10, 400)

class boxes:
     box_A = turtle.getturtle()
     box_B = turtle.getturtle()

     box_A.hideturtle()
     box_B.hideturtle()
     box_A.setposition(-300,0)
     box_A.setposition(300,0)
     box_A.showturtle()
     box_B.showturtle()

我的电脑画线...我不想要线...... 所以我想擦除线条 我想制作一个矩形盒子(两个) 我试着用

制作矩形
 box_A.shape("rectangle")

当然,它不起作用;;;

伙计们请帮帮我

4 个答案:

答案 0 :(得分:2)

您可以使用坐标创建自定义形状。首先,做正常的陈述。

import turtle

t = turtle.Turtle()
s = turtle.Screen() # The Screen is VERY important for this project!

好的!现在要更改 t 的形状,我们必须输入一组坐标。以下是我制作的一些您可以使用的预设:

Pointer: ((15,0),(0,25),(-15,0),(0,3))
Noel Star: ((0,20),(-5,5),(-20,0),(-5,-5),(0,-20),(5,-5),(20,0),(5,5))
X: ((15,15),(-15,-15),(0,0),(15,-15),(-15,15),(0,0))
Cross: ((-7.5,-15),(7.5,-15),(7.5,-7.5),(15,-7.5),(15,7.5),(7.5,7.5),(7.5,15),(-7.5,15),(-7.5,7.5),(-15,7.5),(-15,-7.5),(-7.5,-7.5))
Right Triangle: ((20,0),(0,-20),(0,0))
Arrow: ((-15,7.5),(-10,0),(-15,-7.5),(5,-7.5),(15,0),(5,7.5))
Parallelogram: ((-30,20),(-40,-20),(30,-20),(40,20)) 
Rhombus: ((0,-20),(-10,0),(0,20),(10,0))
Trapezoid: ((-20,20),(20,20),(30,0),(-30,0))
Pentagon: ((-5,10),(-10,0),(-5,-10),(5,-10),(10,0),(5,10))
Hexagon: ((-10,20),(-20,0),(-10,-20),(10,-20),(20,0),(10,20))
Octagon: ((-10,20),(10,20),(20,10),(20,-10),(10,-20),(-10,-20),(-20,-10),(-20,10))

矩形的坐标是:((-20,10),(20,10),(20,-10),(-20,-10))。要将其注册为自定义形状,请使用 register_shape() 函数。第一个参数是您将命名的形状; '矩形',在这种情况下。第二个参数是坐标,所以将它们保存为变量。

rectCors = ((-20,10),(20,10),(20,-10),(-20,-10));
s.register_shape('rectangle',rectCors);

好的。现在只需告诉乌龟它的形状是一个矩形。

t.shape('rectangle');

完成!总的来说,就是:

import turtle
t = turtle.Turtle();
s = turtle.Screen();
rectCors = ((-20,10),(20,10),(20,-10),(-20,-10));
s.register_shape('rectangle',rectCors);
t.shape('rectangle');

注意: 如果您想知道,除了 t.setheading(90)t.setheading(-90) 之外,无法将形状从水平更改为垂直。

答案 1 :(得分:0)

画四行:

 box_A.setposition(-300,0)
 box_A.setposition(-300,200)
 box_A.setposition(0,200)
 box_A.setposition(0,0)

答案 2 :(得分:0)

我认为这也是您正在尝试的事情

import turtle
wn = turtle.Screen()
wn.tracer()

bird = turtle.Turtle()
bird.shape("square")

你必须做正方形,rect不是乌龟的形状

bird.shapesize(stretch_wid=5, stretch_len=10)

然后通过将宽度大于高度来将其拉伸为矩形

bird.color("green")
bird.setpos(0, 0)
bird.penup()

Penup是用于移动的,它不会在其后面画线

bird.speed(0)

如果这样做,速度只会使动画瞬间

wn.exitonclick()

希望这对您有帮助

答案 3 :(得分:0)

就去做

    object.shape("square")
    object.shapesize(X, Y)

这将根据它的像素制作一个矩形 或者这样做

    object.shape("square")
    object.shapesize(stretch_wid=5, stretch_len=1)

这将生成一个比例为 5:1 的矩形,每个单元是一个正方形