跳转到主要内容

用Numpy编写简单的游戏!

项目描述

PyPI

🕹️ npgame

npgame 通过Numpy和PyGame,使编写简单游戏变得简单快捷。它是一个轻量级的API,用于快速完成任务和学习,而不是一个功能丰富的完整游戏解决方案。

功能包括打开窗口,显示彩色矩形和图像,以及检测键盘输入。对于鼠标输入和音频等附加功能,请查看PyGame,它可以自由组合。

安装

pip install npgame

快速入门

import npgame

# Initialize state
pos = 5.5

game = npgame.Game(grid=(20, 15), scale=40)
game.title('Quickstart')
while game.running:
  game.update()

  # Update state
  if game.pressed('escape'):
    game.close()
  if game.pressed('a'):
    pos -= game.delta * 2.0
  if game.pressed('d'):
    pos += game.delta * 2.0

  # Display
  game.draw(0, 0, 40, 30, (1, 1, 1))  # White background
  game.draw(pos, 3.4, 1.5, 1.5, (1, 0.7, 0))  # Yellow box

约定

坐标模仿数值图表的约定。换句话说,X是水平轴,Y是垂直轴,零在窗口的左下角。坐标系统的大小用Game(grid=(40, 30))指定。

文档

npgame.Game(grid=(40, 30), scale=20, fps=60)

创建一个Game对象,它为我们处理键盘事件和图形。grid确定绘制坐标系统的大小。scale设置每个网格瓦片的大小(以像素为单位)。它还确定窗口大小。fps设置每秒最大帧数,超过此值update()将添加暂停。

属性

  • running

    布尔属性表示游戏是否仍在运行。应在主循环中使用该属性作为条件。关闭游戏窗口或调用close()将标志切换到False

  • delta

    浮点属性包含两次update()调用之间经过的时间。在移动对象时,应使用此值乘以速度,以确保对象以恒定速度移动,而不管计算机的速度有多快。通过将速度乘以delta有效地给它们单位为每秒网格瓦片。

方法

  • title(text)

    设置窗口标题。这可以在开始时调用一次,或稍后反复调用,例如显示给用户的状态信息。

  • resize(grid=None, scale=None)

    更改窗口上显示的网格大小。这将更改窗口的大小。grid参数是一个表示网格宽度和高度的整数的元组。scale是一个整数,表示每个网格瓦片的大小是多少像素。如果省略,则不更改值。

  • update()

    此函数应在主循环的早期调用。它显示已绘制的内容并处理外部事件,如按键和检查窗口是否已关闭。

  • pressed(key)

    返回一个布尔值,表示是否按下了给定的键。请求的键作为字符串传递,对应于[pygame键名][keynames]。该函数检测当前按下的键以及在上两次update()调用之间短暂按下的键。

  • draw(x, y, w, h, color=None, array=None, image=None)

    绘制一个颜色为RGB元组的矩形,一个Numpy数组,或者一个作为字符串路径给出的图像。使用xy指定区域的坐标,使用wh指定其大小。图像会按需调整大小并缓存以提高效率。要在主循环中调用update(),区域才能显示。

  • text(x, y, message, font, color=(0.5, 0.5, 0.5, 1), size=1)

    根据TTF格式的字体文件名渲染文本。可以在npgame存储库的examples目录中找到免费DejaVu字体的示例文件。字体的颜色可以包括作为最后一个数字的不透明度。位置和大小相对于Game对象网格。

  • close()

    关闭pygame,关闭窗口,并将running设置为False,以便主循环结束。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。

源分发

npgame-0.3.1.tar.gz (5.0 kB 查看哈希值)

上传时间

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面