【语言-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
- 【语言-Python】Turtle Screen简单消息处理
- Python.turtle
- python学习笔记2--用turtle简单绘图
- python学习笔记9--用turtle简单绘图2
- python中turtle(海龟)模块的简单用法
- Python的turtle 绘图
- Python中turtle模块
- python : turtle 画一朵花
- python : turtle 画正多边形
- 【Python】Turtle画图04
- Python标准库-turtle
- python->turtle->基础操作
- python:小乌龟turtle
- [python学习]Turtle库
- Python-Turtle海龟作画
- 【python】turtle库
- Python Turtle库详解
- Python学习-turtle画图
- java第三方库
- final与static final的区别
- 删除排序数组中的重复数字
- gcc优化选项
- Apache Thrift的简单使用
- 【语言-Python】Turtle Screen简单消息处理
- 腾讯 2015秋招笔试题 编程题2:九宫格填数
- 欢迎使用CSDN-markdown编辑器
- mysql导入sql文件过大或连接超时的解决办法
- RxAndroid使用指南
- 你可能不知道的陷阱:C#委托和事件的困惑
- protege出现虚拟机载入错误的解决办法
- laravel No supported encrypter found. The cipher and / or key length are invalid.
- Android 开发 NDK从入门到精通