Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
zetcode-zh
提交
65093fe1
Z
zetcode-zh
项目概览
OpenDocCN
/
zetcode-zh
9 个月 前同步成功
通知
2
Star
157
Fork
40
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Z
zetcode-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
65093fe1
编写于
6月 21, 2020
作者:
W
wizardforcel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
2020-06-21 14:18:40
上级
f48bcda3
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
20 addition
and
20 deletion
+20
-20
docs/gui/250.md
docs/gui/250.md
+1
-1
docs/gui/251.md
docs/gui/251.md
+9
-9
docs/gui/254.md
docs/gui/254.md
+1
-1
docs/gui/255.md
docs/gui/255.md
+3
-3
docs/gui/256.md
docs/gui/256.md
+1
-1
docs/gui/258.md
docs/gui/258.md
+5
-5
未找到文件。
docs/gui/250.md
浏览文件 @
65093fe1
...
...
@@ -10,7 +10,7 @@
## 刻录小部件
这是我们从头开始创建的小部件的示例。 可以在各种媒体刻录应用(例如 Nero
Burning
ROM)中找到此小部件。
这是我们从头开始创建的小部件的示例。 可以在各种媒体刻录应用(例如 Nero
烧录
ROM)中找到此小部件。
`custom.vb`
...
...
docs/gui/251.md
浏览文件 @
65093fe1
#
Nibbles
#
贪食蛇
> 原文: [http://zetcode.com/gui/vbgtk/nibbles/](http://zetcode.com/gui/vbgtk/nibbles/)
在 Visual Basic GTK# 编程教程的这一部分中,我们将创建
Nibbles
游戏克隆。
在 Visual Basic GTK# 编程教程的这一部分中,我们将创建
贪食蛇
游戏克隆。
Nibbles
是较旧的经典视频游戏。 它最初是在 70 年代后期创建的。 后来它被带到 PC 上。 在这个游戏中,玩家控制蛇。 目的是尽可能多地吃苹果。 蛇每次吃一个苹果,它的身体就会长大。 蛇必须避开墙壁和自己的身体。
贪食蛇
是较旧的经典视频游戏。 它最初是在 70 年代后期创建的。 后来它被带到 PC 上。 在这个游戏中,玩家控制蛇。 目的是尽可能多地吃苹果。 蛇每次吃一个苹果,它的身体就会长大。 蛇必须避开墙壁和自己的身体。
## 开发
蛇的每个关节的大小为 10px。 蛇由光标键控制。 最初,蛇具有三个关节。 游戏立即开始。 游戏结束后,我们在窗口中心显示“
Game Over
”消息。
蛇的每个关节的大小为 10px。 蛇由光标键控制。 最初,蛇具有三个关节。 游戏立即开始。 游戏结束后,我们在窗口中心显示“
`Game Over`
”消息。
`board.vb`
...
...
@@ -378,7 +378,7 @@ Dim r As Integer = rand.Next(RAND_POS)
```
我们得到一个从 0 到
RAND_POS-1
的随机数。
我们得到一个从 0 到
`RAND_POS-1`
的随机数。
```
apple_x = r * DOT_SIZE
...
...
@@ -387,7 +387,7 @@ apple_y = r * DOT_SIZE
```
这些行设置了
apple
对象的 x,y 坐标。
这些行设置了
`apple`
对象的 x,y 坐标。
```
If inGame
...
...
@@ -407,7 +407,7 @@ End If
每 140 毫秒,将调用
`OnTimer`
方法。 如果我们参与了游戏,我们将调用三种构建游戏逻辑的方法。 否则,我们返回
`False`
,它将停止计时器事件。
在
Board
类的
`OnKeyDown`
方法中,我们确定按下的键。
在
`Board`
类的
`OnKeyDown`
方法中,我们确定按下的键。
```
If key = Gdk.Key.Left AndAlso Not right
...
...
@@ -418,7 +418,7 @@ End If
```
如果单击左光标键,则将
`left`
变量设置为
true
。 在
`Move`
方法中使用此变量来更改蛇对象的坐标。 还要注意,当蛇向右行驶时,我们不能立即向左转。
如果单击左光标键,则将
`left`
变量设置为
`true`
。 在
`Move`
方法中使用此变量来更改蛇对象的坐标。 还要注意,当蛇向右行驶时,我们不能立即向左转。
`nibbles.vb`
...
...
@@ -503,4 +503,4 @@ vbnc -r:/usr/lib/mono/gtk-sharp-2.0/gtk-sharp.dll
```
这是使用 GTK# 库和 Visual Basic 编程语言编写的 Nibbles 电脑游戏。
\ No newline at end of file
这是使用 GTK# 库和 Visual Basic 编程语言编写的贪食蛇电脑游戏。
\ No newline at end of file
docs/gui/254.md
浏览文件 @
65093fe1
...
...
@@ -73,7 +73,7 @@ self.set_size_request(250, 150)
```
我们将窗口的大小设置为
250x150px
。
我们将窗口的大小设置为
`250x150px`
。
```
self.set_position(gtk.WIN_POS_CENTER)
...
...
docs/gui/255.md
浏览文件 @
65093fe1
...
...
@@ -110,7 +110,7 @@ fix.put(image1, 20, 20)
```
我们将第一个图像放置在
x = 20,y = 20
坐标处。
我们将第一个图像放置在
`x = 20`
,
`y = 20`
坐标处。
```
self.add(fix)
...
...
@@ -310,7 +310,7 @@ table = gtk.Table(5, 4, True)
```
我们创建一个具有 5 行 4 列的表小部件。 第三个参数是齐次参数。 如果设置为
true
,则表中的所有小部件都具有相同的大小。 所有窗口小部件的大小等于表容器中最大的窗口小部件。
我们创建一个具有 5 行 4 列的表小部件。 第三个参数是齐次参数。 如果设置为
`true`
,则表中的所有小部件都具有相同的大小。 所有窗口小部件的大小等于表容器中最大的窗口小部件。
```
table.attach(gtk.Button("Cls"), 0, 1, 0, 1)
...
...
@@ -436,7 +436,7 @@ table.attach(halign, 0, 1, 0, 1, gtk.FILL,
```
这段代码创建了一个向左对齐的标签。 标签放置在
Table
容器的第一行中。
这段代码创建了一个向左对齐的标签。 标签放置在
`Table`
容器的第一行中。
```
wins = gtk.TextView()
...
...
docs/gui/256.md
浏览文件 @
65093fe1
...
...
@@ -206,7 +206,7 @@ key, mod = gtk.accelerator_parse("<Control>N")
```
`gtk.accelerator_parse()`
函数解析指定的加速器字符串,并返回一个 2 元组,其中包含与加速器相对应的
keyval
和修饰符掩码。
`gtk.accelerator_parse()`
函数解析指定的加速器字符串,并返回一个 2 元组,其中包含与加速器相对应的
键值
和修饰符掩码。
```
newi.add_accelerator("activate", agr, key,
...
...
docs/gui/258.md
浏览文件 @
65093fe1
...
...
@@ -15,9 +15,9 @@ handler_id = button.connect("clicked", self.on_clicked)
```
在这里,我们使用
`GObject`
类的
`connect()`
方法((
`GtkButton`
是
`GObject`
))将回调
on_clicked()
连接到名为
`clicked`
的信号。
在这里,我们使用
`GObject`
类的
`connect()`
方法((
`GtkButton`
是
`GObject`
))将回调
`on_clicked()`
连接到名为
`clicked`
的信号。
`connect()`
方法返回一个处理程序 ID,用于唯一标识回调方法。 该
id
可以与以下方法一起使用:
`connect()`
方法返回一个处理程序 ID,用于唯一标识回调方法。 该
ID
可以与以下方法一起使用:
```
def disconnect(handler_id)
...
...
@@ -42,7 +42,7 @@ def handler_unblock(handler_id)
信号和事件之间的唯一联系是信号用于从 X 服务器发送有关事件的通知。
信号是
`gtk.Object`
及其子类的功能,事件是 Gdk
/
Xlib 概念。
信号是
`gtk.Object`
及其子类的功能,事件是 Gdk
/
Xlib 概念。
## 简单的例子
...
...
@@ -126,7 +126,7 @@ def on_clicked(self, widget):
```
这是
`on_clicked()`
方法。 它有两个参数。
widget
参数是触发该信号的对象。 在我们的例子中,它是退出按钮。 不同的对象发送不同的信号。 发送到方法的信号和参数可以在 PyGTK 库的参考手册中找到。
[
pygtk.org/docs/pygtk/index.html
](
http://pygtk.org/docs/pygtk/index.html
)
这是
`on_clicked()`
方法。 它有两个参数。
`widget`
参数是触发该信号的对象。 在我们的例子中,它是退出按钮。 不同的对象发送不同的信号。 发送到方法的信号和参数可以在 PyGTK 库的参考手册中找到。
[
pygtk.org/docs/pygtk/index.html
](
http://pygtk.org/docs/pygtk/index.html
)
## 创建自定义信号
...
...
@@ -245,7 +245,7 @@ gobject.type_register(Sender)
## 预定义的信号处理程序
PyGTK 中的对象可能具有预定义的信号处理程序。 这些处理程序以
do_
*
开头。 例如
`do_expose()`
,
`do_show()`
或
`do_clicked()`
。
PyGTK 中的对象可能具有预定义的信号处理程序。 这些处理程序以
`do_*`
开头。 例如
`do_expose()`
,
`do_show()`
或
`do_clicked()`
。
`move.py`
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录