开发游戏程序是一种提高编程能力很有效的方法。因为游戏不仅玩起来很有趣,制作的过程也很有趣,所以编写游戏,可以在玩乐的同时学习编程。
因此,在大家掌握了Python的基本语法后,就可以尝试开发游戏了。今天,我们就用Python自带的GUI库Tkinter来画一个简单的图形吧。
什么是Tkinter?
Tkinter是用于在Python中构建GUI的标准库。
当然,如果你想在Python中开发游戏,你也可以用Kivy和cocos2d的,pygame等游戏专用库。不过,你需要另外导入专用的包。
虽然,Tkinter库里的功能不是太多,但是它是内置在Python中的,所以不需要额外安装软件包。并且,它还有一个有点就是相关的文档比较多。
不过,需要注意的一点事,Tkinter在Python 2和3之间发生了很大变化,因此在查找资料的时候需要注意版本。这里介绍的是Python3中的Tkinter的用法。
最基本的GUI程序
创建一个GUI程序
- 1、导入 Tkinter 模块
- 2、创建控件
- 3、指定这个控件的 master, 即这个控件属于哪一个
- 4、告诉 GM(geometry manager) 有一个控件产生了。
# -*- coding: UTF-8 -*-
import tkinter
top = tkinter.Tk()
# 进入消息循环
top.mainloop()
将以上程序另存为“ hello.py”。然后在控制台输入以下命令以执行程序。
# Windows中执行
python hello.py
以上代码执行结果如下图:
画一个形状
接下来,让我们在窗口上绘制两条线和两个矩形。要绘制图形,首先在主窗口上一个Canvas,然后在Canvas上绘制指定图形。
将以下代码粘贴到文本编辑器中,并将其另存为“ simple.py”。
from tkinter import *
# 绘制主窗口,并绘制一个Canvas --- (*1)
win = Tk()
cv = Canvas(win, width = 600, height = 400)
cv.pack()
# 画两个长方形 --- (*2)
cv.create_rectangle(150, 150, 250, 250, fill="red")
cv.create_rectangle(320, 270, 370, 320, fill="green")
# 画两条线 --- (*3)
cv.create_line(10, 90, 580, 90, fill="blue", width=5)
cv.create_line(90, 10, 90, 380, fill="blue", width=5)
win.mainloop()
以上代码执行结果如下图:
让我们看一下代码。
在代码的(* 1)部分中,创建了一个主窗口,并在其中画了一个大小为600x400像素的用于绘制图形的画布。
接下来,在(* 2)部分中,用create_rectangle()方法在画布中,分别绘制了两个矩形。
同理,在(* 3)部分中,用create_line()方法分别绘制了两条线。
各种图形的具体绘制方法如下:
[语法格式]绘制线条
cv.create_line(x1, y1, x2, y2, x3, y3, ..., 可选项)
[语法格式] 绘制长方形
cv.create_rectangle(x1, y1, x2, y2, 可选项)
[语法格式] 绘制椭圆
cv.create_oval(x1, y1, x2, y2, 可选项)
您可以向这些方法中添加诸如fill =“ red”之类的选项,来填充指定的图形的颜色。width指定图形的描边线的粗细。
想要获得有关这些参数的详细信息,请参考Python和Tkinter手册。
总结
这次我们介绍了使用Tkinter的基本语法来绘制简单的图形。下次,我们将以该示例为基础,进行简单的游戏开发。