【语言-Python】Turtle Screen简单消息处理

来源:互联网 发布:淘宝客服的培训资料 编辑:程序博客网 时间:2024/06/12 01:04
from turtle import Screen, Turtle, mainloop,TKfrom time import clock, sleepclass MainFrm(object):    def __init__(self,win,pen):                self.win=win        self.win.bgcolor("black")        self.pen=pen.clone()        self.win.onkey(self.kbo_space, "space")        #关联按键与消息 只有小写的a才响应此消息        self.win.onkey(self.kbo_a, "a")        #关联按键与消息 只有大写的A才响应此消息        self.win.onkey(self.kbo_a, "A")        self.win.listen()        self.spacepos=self.pen.pos()        self.spacehead=self.pen.heading()        self.pen.fd(120)        self.apos=self.pen.pos()        self.ahead=self.pen.heading()        #定义一个简单的锁,防止按键按着不放引起方向突变        self.lock=0        self.alttemp=10   #空格键盘处理消息          def kbo_space(self):        if self.lock==1:            return        self.lock=1        self.pen.up()        self.pen.setpos(self.spacepos)        self.pen.seth(self.spacehead)        self.pen.hideturtle()        self.pen.pencolor("blue")        self.pen.pensize(3);        self.pen.down()        self.pen.fd(self.alttemp)        self.pen.lt(90)        self.alttemp+=3        self.spacepos=self.pen.pos()        self.spacehead=self.pen.heading()        self.lock=0             def kbo_a(self):        if self.lock==1:            return        self.lock=1        self.pen.up()        self.pen.setpos(self.apos)        self.pen.seth(self.ahead)        self.pen.hideturtle()        self.pen.pencolor("red")        self.pen.pensize(2)        self.pen.down()        self.pen.dot(30)        self.pen.lt(79)        self.pen.fd(79)        print(self.pen.heading())        self.apos=self.pen.pos()        self.ahead=self.pen.heading()        self.lock=0def main():   MainFrm(Screen(),Turtle())     return "EVENTLOOP"if __name__ == '__main__':    main()    TK.mainloop()  # keep window open until user closes it

0 0
原创粉丝点击