Brian Blais wrote:
On Jan 31, 2010, at 23:05 , John Posner wrote:

Try commenting out this statement:

   self.turtle.tracer(False)

That helps on Python 2.6.4.


interesting.  It seems as if the tracer property is a global one:

Actually, the tracer method that does the work is part of the TurtleScreen class, and individual Turtle instances just access the tracer method of the TurtleScreen they inhabit... if that makes sense. So since your turtles are on the same screen, yes, in effect, tracer is sort of global.

Cheers,
Vern


In [1]:t1=Turtle()

In [2]:t1.tracer()
Out[2]:1

In [3]:t1.tracer(False)

In [4]:t1.tracer()
Out[4]:0

In [5]:t2=Turtle()

In [6]:t2.tracer()
Out[6]:0

In [7]:t2.tracer(True)

In [8]:t1.tracer()
Out[8]:1

looks like I need to set the tracer manually. however, even if the tracer is off, shouldn't it still draw the line? when I put in the T.tracer(True) it works, but I shouldn't need to I think.


On Jan 31, 2010, at 21:11 , kirby urner wrote:

I don't see where you've defined a Turtle class to instantiate sir.

Turtle is given in turtle.py. I should have subclassed it, but I was being lazy. :)

thanks for the fast replies!


bb


On Sun, Jan 31, 2010 at 4:27 PM, Brian Blais <bbl...@bryant.edu <mailto:bbl...@bryant.edu>> wrote:
I'm on Python 2.5, but using the updated turtle.py Version 1.0.1 - 24. 9.
2009.  The following script draws 5 circles, which it is supposed to, but
then doesn't draw the second turtle which is supposed to simply move
forward.  Any ideas?
from turtle import *
from numpy.random import randint
resetscreen()
class Circle(object):
    def __init__(self,x,y,r,color):
        self.x=x
        self.y=y
        self.r=r
        self.color=color

        self.turtle=Turtle(visible=False)
        self.turtle.tracer(False)
        self.draw()

    def draw(self):
        self.turtle.penup()
        self.turtle.setposition(self.x,self.y)
        self.turtle.setheading(0)
        self.turtle.backward(self.r)
        self.turtle.pendown()
        self.turtle.fill(True)
        self.turtle.pencolor("black")
        self.turtle.fillcolor(self.color)
        self.turtle.circle(self.r)
        self.turtle.fill(False)
        self.turtle.penup()

for i in range(5):
    c=Circle(randint(-350,350),randint(-250,250),10,"red")


T=Turtle()
T.forward(100)
T.forward(100)







thanks,

bb
--
Brian Blais
bbl...@bryant.edu <mailto:bbl...@bryant.edu>
http://web.bryant.edu/~bblais
http://bblais.blogspot.com/



_______________________________________________
Edu-sig mailing list
edu-...@python.org <mailto:edu-...@python.org>
http://mail.python.org/mailman/listinfo/edu-sig



--
Brian Blais
bbl...@bryant.edu <mailto:bbl...@bryant.edu>
http://web.bryant.edu/~bblais
http://bblais.blogspot.com/




------------------------------------------------------------------------

_______________________________________________
Edu-sig mailing list
edu-...@python.org
http://mail.python.org/mailman/listinfo/edu-sig

--
This time for sure!
   -Bullwinkle J. Moose
-----------------------------
Vern Ceder, Director of Technology
Canterbury School, 3210 Smith Road, Ft Wayne, IN 46804
vce...@canterburyschool.org; 260-436-0746; FAX: 260-436-5137

The Quick Python Book, 2nd Ed - http://bit.ly/bRsWDW
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to