从零开始学Python(5) -----在游戏中学习Python编程-Tkinter入门

开发游戏程序是一种提高编程能力很有效的方法。因为游戏不仅玩起来很有趣,制作的过程也很有趣,所以编写游戏,可以在玩乐的同时学习编程。

因此,在大家掌握了Python的基本语法后,就可以尝试开发游戏了。今天,我们就用Python自带的GUI库Tkinter来画一个简单的图形吧。

什么是Tkinter?

Tkinter是用于在Python中构建GUI的标准库。

当然,如果你想在Python中开发游戏,你也可以用Kivycocos2d的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的基本语法来绘制简单的图形。下次,我们将以该示例为基础,进行简单的游戏开发。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值