提交 e86836da 编写于 作者: W wizardforcel

2020-06-21 14:28:22

上级 65093fe1
......@@ -310,7 +310,7 @@ red.connect("clicked", self.onred)
```
`ToggleButton`小部件已创建。 我们将其大小设置为 80x35 像素。 每个切换按钮都有其自己的处理程序方法。
`ToggleButton`小部件已创建。 我们将其大小设置为`80x35`像素。 每个切换按钮都有其自己的处理程序方法。
```
self.darea = gtk.DrawingArea()
......
......@@ -153,7 +153,7 @@ def create_store(self):
```
`create_store()`方法创建一个`ListStore`。 它是`IconView`小部件中使用的数据模型。 它带有三个参数。 目录名,图标的 pixbuf 图像和`bool`变量,指示我们是目录还是文件。
`create_store()`方法创建一个`ListStore`。 它是`IconView`小部件中使用的数据模型。 它带有三个参数。 目录名,图标的`pixbuf`图像和`bool`变量,指示我们是目录还是文件。
```
if not fl[0] == '.':
......@@ -341,7 +341,7 @@ treeView.append_column(column)
```
`create_columns()`方法中,我们向`TreeView`小部件中添加了三列。 上面的代码创建了一个显示女演员姓名的列。 `CellRendererText`从树模型的第一列检索其文本。 (文本= 0
`create_columns()`方法中,我们向`TreeView`小部件中添加了三列。 上面的代码创建了一个显示女演员姓名的列。 `CellRendererText`从树模型的第一列检索其文本。 (文本`= 0`
```
def on_activated(self, widget, row, col):
......
......@@ -239,7 +239,7 @@ gtk.main()
```
我们在 azbuka 中显示一些文本。
我们在西里尔字母中显示一些文本。
```
# -*- coding: utf-8 -*-
......
......@@ -87,7 +87,7 @@ cr = widget.window.cairo_create()
```
我们从绘图区域的`gdk.Window`创建 cairo 上下文对象。 上下文是用于在所有 Drawable 对象上绘制的对象。
我们从绘图区域的`gdk.Window`创建 cairo 上下文对象。 上下文是用于在所有`Drawable`对象上绘制的对象。
```
cr.set_line_width(9)
......
# PyGTK 中的 Snake 游戏
# PyGTK 中的贪食蛇游戏
> 原文: [http://zetcode.com/gui/pygtk/snake/](http://zetcode.com/gui/pygtk/snake/)
在 PyGTK 编程教程的这一部分中,我们将创建一个 Snake 游戏克隆。
在 PyGTK 编程教程的这一部分中,我们将创建一个贪食蛇游戏克隆。
## Snake 游戏
## 贪食蛇游戏
Snake 是较旧的经典视频游戏。 它最初是在 70 年代后期创建的。 后来它被带到 PC 上。 在这个游戏中,玩家控制蛇。 目的是尽可能多地吃苹果。 蛇每次吃一个苹果,它的身体就会长大。 蛇必须避开墙壁和自己的身体。 该游戏有时称为 Nibbles 。
贪食蛇是较旧的经典视频游戏。 它最初是在 70 年代后期创建的。 后来它被带到 PC 上。 在这个游戏中,玩家控制蛇。 目的是尽可能多地吃苹果。 蛇每次吃一个苹果,它的身体就会长大。 蛇必须避开墙壁和自己的身体。 该游戏有时称为 Nibbles 。
## 开发
蛇的每个关节的大小为 10px。 蛇由光标键控制。 最初,蛇具有三个关节。 游戏立即开始。 如果游戏结束,我们将在棋盘中间显示“ Game Over”消息。
蛇的每个关节的大小为 10px。 蛇由光标键控制。 最初,蛇具有三个关节。 游戏立即开始。 如果游戏结束,我们将在棋盘中间显示“`Game Over`”消息。
`snake.py`
......@@ -300,7 +300,7 @@ r = random.randint(0, RAND_POS)
```
我们得到一个从 0 到 RAND_POS-1 的随机数。
我们得到一个从 0 到`RAND_POS-1`的随机数。
```
self.apple_x = r * DOT_SIZE
......@@ -309,7 +309,7 @@ self.apple_y = r * DOT_SIZE
```
这些行设置了 apple 对象的 x,y 坐标。
这些行设置了`apple`对象的 x,y 坐标。
```
self.connect("key-press-event", self.on_key_down)
......@@ -322,9 +322,9 @@ def on_key_down(self, widget, event):
```
我们在 Snake 类中捕获按键事件,并将处理委托给 board 对象。
我们在`Snake`类中捕获按键事件,并将处理委托给`board`对象。
Board 类的`on_key_dow()`方法中,我们确定玩家按下了哪些键。
`Board`类的`on_key_dow()`方法中,我们确定玩家按下了哪些键。
```
if key == gtk.keysyms.Left and not self.right:
......@@ -334,10 +334,10 @@ if key == gtk.keysyms.Left and not self.right:
```
如果我们按左光标键,则将`self.left`变量设置为 True。 在`move()`方法中使用此变量来更改蛇对象的坐标。 还要注意,当蛇向右行驶时,我们不能立即向左转。
如果我们按左光标键,则将`self.left`变量设置为`True`。 在`move()`方法中使用此变量来更改蛇对象的坐标。 还要注意,当蛇向右行驶时,我们不能立即向左转。
![Snake](img/b55f26e633df9e8f51abf09e0b390b86.jpg)
Figure: Snake
这是使用 PyGTK 编程库编程的 Snake 电脑游戏。
\ No newline at end of file
这是使用 PyGTK 编程库编程的贪食蛇电脑游戏。
\ No newline at end of file
......@@ -8,7 +8,7 @@
## 刻录小部件
这是我们从头开始创建的小部件的示例。 可以在各种媒体刻录应用(例如 Nero Burning ROM)中找到此小部件。
这是我们从头开始创建的小部件的示例。 可以在各种媒体刻录应用(例如 Nero 烧录 ROM)中找到此小部件。
`burning.py`
......@@ -154,7 +154,7 @@ self.cur_width = self.par.get_cur_value()
```
这两行从 scale 小部件获取当前数字。 我们获得父窗口小部件,并从父窗口小部件中获得当前值。
这两行从刻度小部件获取当前数字。 我们获得父窗口小部件,并从父窗口小部件中获得当前值。
```
till = (width / 750.0) * self.cur_width
......@@ -162,7 +162,7 @@ full = (width / 750.0) * 700
```
直到参数确定要绘制的总大小。 该值来自滑块小部件。 它占整个面积的一部分。 full 参数确定了我们开始绘制红色的点。
直到参数确定要绘制的总大小。 该值来自滑块小部件。 它占整个面积的一部分。 `full`参数确定了我们开始绘制红色的点。
```
cr.set_source_rgb(1.0, 1.0, 0.72)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册