python接水果游戏代码_Python开发接水果小游戏编程

我研发的Python游戏引擎Pylash已经更新到1.4了。现在我们就来使用它完成一个极其简单的小游戏:接水果。以下是游戏截图:

119852_0.pngvc/yvPy/2NbGyMvO79LGtq+jrMq5yMvO79Pry665+73TtKW1w7fWo6zF9rW9t8fLrrn7tcTO78a3o6zI58vpsqPBp6Osvs274WdhbWUgb3ZlcqGjPC9wPg0KPHA+PHN0cm9uZz6908/CwLTKx8/qvqG1xL+qt6K5/bPMo6zGqrf5vc+zpKOsx+u/tLnZxM3QxNTEtsGhozwvc3Ryb25nPjwvcD4NCjxoMSBpZD0="pylash项目地址">Pylash项目地址

由于本次开发用到了pylash,大家可以先去Github上对引擎进行了解。

https://github.com/yuehaowang/pylash_engine

创建项目

首先在工作目录创建一个名为get_fruits的目录。然后到Github下载Pylash。引擎是基于Python3和PyQt4构建的,所以在使用前请确保你使用的是Python3并且安装了PyQt4。如果没有,可以在上述项目地址中找到他们的相关网页链接进行下载安装,安装和配置步骤都十分简单。这里不再赘述。

下载完Pylash后,我们得到这样的目录结构:

+- pylash_engine/

|

+- pylash/

|

+- demo/

|

+- examples/

大家可以在demo/和examples/两个目录下查看示例。本文的源代码可以在examples/get_fruits中找到。

pylash目录就是引擎源代码。接下来把这个目录复制到我们创建的get_fruits目录下,再在get_fruits目录下创建一个images目录,用于储存图片。最后创建一个Main.py文件。这时,我们的get_fruits目录结构如下:

+- get_fruits/

|

+- pylash/

|

+- images/

|

+- Main.py

然后将引擎目录plash_engine/examples/get_fruits/images/下图片复制到项目目录get_fruits/images/下,用作游戏素材。

119852_1.png

这样一来,我们的项目就创建好了,接下来只用往Main.py里填写代码,然后运行即可。

编写Hello World小程序

用代码编辑器(推荐Sublime Text)打开Main.py文件,写入以下代码:

# !/usr/bin/env python3

# -*- coding: utf-8 -*-

from pylash.utils import init, addChild

from pylash.text import TextField

def main():

# 创建文本显示对象

txt = TextField()

# 设置文本内容

txt.text = "Hello World"

# 设置文本颜色

txt.textColor = "red"

# 设置文本位置

txt.x = 50

txt.y = 100

# 设置文本字体大小

txt.size = 50

# 将文本对象加入到最底层

addChild(txt)

# 初始化窗口,参数:界面刷新时间(单位:毫秒),窗口标题,窗口宽度,窗口高度,初始化完毕后回调函数

init(1000 / 60, "Hello World", 800, 600, main)

运行Main.py,如果得到了如下图所示的界面,说明程序正常运转起来了。

119852_2.png

大家可以结合注释初步认识Pylash。熟悉flash的同学不难发现,TextField就是flash里显示文本的类,而且用法十分相近。

我们从代码的第4行看起,这里我们引入了pylash中的一些函数和类。pylash提供了很多模块,大家可以到这里查看它们的简介。

再往下看,我们会发现,pylash提供了一个用于显示文本的类,通过设置这个类的不同属性来设定文本样式。最后使用addChild将文本显示对象加入到界面中。我们可以把游戏看作分为很多层:地图层、人物层、UI层……,通过分层我们就能实现层次化显示效果。比如人物一直是在地图上方显示的,那么人物层就在地图层上方。addChild函数就是把一个显示对象加到最底层。

最后,我们使用init函数初始化窗口。

Pylash提供了许多基础显示对象,除了TextField文本显示类,还有Bitmap图片显示类,Sprite精灵类等。下文会提及。

编写游戏

有了上述对pylash的大致了解,我们就可以开始编写游戏了。首先,删除第四行以后所有代码。

引入所需

首先引入我们所需的所有类和函数,修改Main.py:

from pylash.utils import stage, init, addChild, KeyCode

from pylash.system import LoadManage

from pylash.display import Sprite, BitmapData, Bitmap, FPS

from pylash.text import TextField, TextFormatWeight

from pylash.events import MouseEvent, Event, KeyboardEvent

from pylash.ui import LoadingSample1

这些类和函数在下面的代码中都会被用到。由于我是提前写好了游戏,所以在这里把这部分代码一块儿贴出来了,大家使用的时候可以根据自己使用情况,每用一个引入一个。

全局变量

游戏中需要用到一些全局变量,大家可以先浏览一遍,不同知道它们是干什么的,后文会用到它们:

dataList = {}

stageLayer = None

player = None

itemLayer = None

scoreTxt = None

addItemSpeed = 40

addItemSpeedIndex = 0

score = 0

keyboardEnabled = False

加载资源

我们的游戏中要用到图片,所以要提前加载

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值