2015-11-30 60 views
0

特定區域的bgcolor我已經尋找信息的網站,但所有我能找到的是我已經知道:設定爲python的「龜進口」

from turtle import * 
    bgcolour('gold') 

現在我想要的是有東西,這將使屏幕的一半是一種顏色,另一半則是由特定的角落協調。 例如

from turtle import * 
    bgcolour('gold') 
    (-200, -150 to -200, 150) 

因此它只會設置在特定區域。

+0

您不能。但是你可以繪製一個填充矩形作爲第二個背景色。 –

回答

1

您必須自己實施,例如,像這樣:

from turtle import * 

def left_bgcolor(c): 
    showturtle() 
    penup() 
    w = window_width() 
    h = window_height() 
    penwidth = 10 
    # set a big pen width so the turtle is visible while drawing 
    width(penwidth) 
    # adjust position so we're inside the window border 
    goto(-w/2 + penwidth/2, -h/2+penwidth) 
    setheading(90) # north 

    pendown() 
    color(c, c)  # set both drawing and fill color to be the same color 
    begin_fill() 
    forward(h - penwidth) 
    right(90) 
    forward(w/2 - penwidth) 
    right(90) 
    forward(h - penwidth) # could be optimized.. 
    right(90) 
    forward(w/2 - penwidth) 
    right(90) 
    end_fill() 

    penup() 
    goto(0,0) # end by setting the turtle in the middle of the screen 
    width(1) 
    color('black', 'white') 
    setheading(90) 

screen = Screen() 
left_bgcolor('orange') 
+0

我在這個實現中看到的問題是,它使用默認的龜並沒有完全恢復它的狀態。它很好地恢復顏色,位置和筆寬度,但方向不同,並且筆被留下而不是向下。隨着「圓圈(100)」立即跟隨這一點,當筆開始時沒有畫任何東西。使用你自己的隱藏的烏龜實例會更簡單,不會改變默認的烏龜狀態。我會用我自己的解決方案嘗試。 – cdlane

0

這又是另一種情況衝壓是簡單得多繪製。我還使用了一個單獨的烏龜實例,所以默認烏龜原樣留給用戶:

import turtle 

STAMP_UNIT = 20 

def left_bgcolor(color): 
    squirtle = turtle.Turtle(shape="square", visible=False) 
    squirtle.penup() 
    screen = turtle.Screen() 
    width = screen.window_width()/2 
    height = screen.window_height() 
    squirtle.setx(-width/2) 
    squirtle.shapesize(height/STAMP_UNIT, width/STAMP_UNIT) 
    squirtle.color(color) 
    squirtle.stamp() 

left_bgcolor('gold') 

turtle.circle(100) 

turtle.exitonclick()