关于canvas2游戏,CANVAS2游戏这个很多人还不知道,今天源源来为大家解答以上的问题,现在让我们一起来看看吧!
canvas2游戏 CANVAS2游戏
canvas2游戏 CANVAS2游戏
1、python简述:Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。
2、自从20世纪90年代初Python语言诞生至今,它逐渐被广泛应用于处理系统管理任务和Web编程。
3、Python[1]已经成为的程序设计语言之一。
4、2011年1月,它被TIOBE编程语言排行榜评为2010年度语言。
5、自从2004年以后,python的使用率是呈线性增长。
6、tkinter模块介绍tkinter模块(“Tk 接口”)是Python的标准Tk GUI工具包的接口.Tk和Tkinter可以在大多数的Unix平台下使用,同样可以应用在Windows和Macintosh系统里.,Tk8.0的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中。
7、由于Tkinter是内置到python的安装包中、只要安装好Python之后就能import Tkinter库、而且IDLE也是用Tkinter编写而成、对于简单的图形界面Tkinter还是能应付自如。
8、八、显示文字>>> from tkinter import>>> tk = Tk()>>> canvas = Canvas(tk,width=400,height=400)>>> canvas.pack()>>> canvas.create_text(150,100,text='Happy birthday to you')create_text函数还有几个很有用的参数,比方说字体颜色等。
9、在下面的代码中,我们调用create_text函数时使用了坐标(130,120),还有要显示的文字,以及红色的填充色:canvas.create_text(130,120,text='Happy birthday to you!',fill='red')我们还可以指定字体,方法是给出一个包含字体名和字体大小的元组。
10、例如大小为20的Times字体就是('Times',20):>>> canvas.create_text(150,150,text='Happy birthday',font=('Times',15))>>> canvas.create_text(200,200,text='Happy birthday',font=('Courier',22))>>> canvas.create_text(220,300,text='Happy birthday',font=('Couried',30))九、显示要用tkinter在画布上显示,首先要装入,然后使用canvas对象上的create_image函数。
11、这是我存在E盘上的一张:我们可以这样来显示one.gif:>>> from tkinter import>>> tk = Tk()>>> canvas = Canvas(tk,width=400,height=400)>>> canvas.pack()>>> my_image = PhotoImage(file='E:FFOutputone.gif')>>> canvas.create_image(0,0,anchor = NW,image = my_image) >>> canvas.create_image(50,50,anchor = NW,image = my_image)注:用tkinter只能装入GIF,也就是扩展名是.gif的文件。
12、想要显示其他类型的,如PNG和JPG,需要用到其他的模块,比如Python图像库。
13、十、创建基本的动画创建一个填了色的三角形,让它在屏幕上横向移动:三角形横向移动延伸一下,如果想让三角形沿对角线在屏幕上移动,我们可以第8行为:import timefrom tkinter importtk = Tk()canvas = Canvas(tk,width=400,height=400)canvas.pack()canvas.create_polygon(10,10,10,60,50,35) ##创建三角形for x in range(0,60): canvas.move(1,5,5) ##把任意画好的对象移动到把x和y坐标增加给定值的位置 tk.update() ##强制tkinter更新屏幕(重画) time.sleep(0.05) ##让程序休息二十分之一秒(0.05秒),然后再继续三角形沿对角线移动如果要让三角形在屏幕上沿对角线回到开始的位置,要用-5,-5(在结尾处加上这段代码)import timefrom tkinter importtk = Tk()canvas = Canvas(tk,width=400,height=400)canvas.pack()canvas.create_polygon(10,10,10,60,50,35) ##创建三角形for x in range(0,60): canvas.move(1,5,5) ##把任意画好的对象移动到把x和y坐标增加给定值的位置 tk.update() ##强制tkinter更新屏幕(重画) time.sleep(0.05) ##让程序休息二十分之一秒(0.05秒),然后再继续for x in range(0,60): canvas.move(1,-5,-5) tk.update() time.sleep(0.05)对角线运动并回到初始位置十一、让对象对作有反应我们可以用“消息绑定”来让三角形在有人按下某键时有反应。
14、要开始处理,我们首先要创建一个函数。
15、当我们告诉tkinter将某个特定函数绑到(或关联到)某个特定上时就完成了绑定。
16、换句话说,tkinter会自动调用这个函数来处理。
17、例如,要让三角形在按下回车键时移动,我们可以定义这个函数:def move(nt): canvas.move(1,5,0)这个函数只接受一个参数(nt),tkinter用它来给函数传递关于的信息。
18、现在我们用画布canvas上的bind_all函数来告诉tkinter当特定发生时应该调用这个函数。
19、代码如下:from tkinter importtk = Tk()canvas = Canvas(tk,width=400,height=400)canvas.pack()canvas.create_polygon(10,10,10,60,50,35)def move(nt): canvas.move(1,5,0)canvas.bind_all('',movetringle) ##让tkinter监视KeyPress,当该发生时调用move函数那么我们如何根据按键的不同而改变三角形的方向呢?比如用方向键。
20、我们可以尝试改下move函数:def move(nt): if nt.keysym == 'up': canvas.move(1,0,-3) ##个参数使画布上所画的形状的ID数字,第二个是对x(水平方向)坐标增加的值,第三个是对y(垂直方向)坐标增加的值 elif nt.keysym == 'down': can纯canvas虽然省却了css、dom、浏览器兼容的学习成本,却主动放弃了css和dom引擎提供的大量帮助。
21、捡芝麻丢西瓜。
22、vas.move(1,0,3) elif nt.keysym == 'left': canvas.move(1,-3,0) else canvas.move(1,3,0)代码汇总在一起为:from tkinter importtk = Tk()canvas = Canvas(tk,width=400,height=400)canvas.pack()canvas.create_polygon(10,10,10,60,50,35)def move(nt): if nt.keysym == 'Up': canvas.move(1,0,-3) ##个参数使画布上所画的形状的ID数字,第二个是对x(水平方向)坐标增加的值,第三个是对y(垂直方向)坐标增加的值 elif nt.keysym == 'Down': canvas.move(1,0,3) elif nt.keysym == 'Left': canvas.move(1,-3,0) else: canvas.move(1,3,0)canvas.bind_all('',move) ##让tkinter监视KeyPress,当该发生时调用move函数canvas.bind_all('',move)canvas.bind_all('',move)canvas.bind_all('',move)方向键控制三角形的移动十二、更多使用ID的方法只要用了画布上面以create_开头的函数,它总会返回一个ID。
23、这个函数可以在其他的函数中使用。
24、如果我们修改代码来把返回值作为一个变量保存,然后使用这个变量,那么无论返回值是多少,这段代码都能工作:>>> my = canvas.create_polygon(10,10,10,60,50,35)>>> canvas.move(my,5,0)我们可以用config来改变三角形的颜色,这需要把ID作为个参数:>>> canvas.config(mytrigle,fill='bue') ##把ID为变量my中的值的对象的填充颜色改为蓝色也可以给三角形一条不同颜色的轮廓线,同样适用ID作为个参数:>>> canvas.config(mytrigle,outline='red')总结做dooringx-lib 是 dooringx 的基座,是移除了 dooringx 插件的可视化拖拽框架。
25、出了简单的动画。
26、学会了如何用绑定来让图形响应按键,这在写计算机游戏时很有用。
本文到这结束,希望上面文章对大家有所帮助。