一个最小的,包括电池,二维游戏引擎使用基于网格的图形。
gamestorm的Python项目详细描述
GameStorm-库
欢迎!什么是GameStorm?
gamestorm是一个包含电池的python包,它可以帮助您轻松地制作基于网格的小型游戏,并且只需很少的代码。它是建立在pygame之上的,pygame是一个非常灵活和出色的2d游戏引擎。
小?基于网格的?你能给我举个例子吗?
当然!看下图。这是一个使用GameStorm开箱即用的例子(记住,包括电池)!示例1
示例2
"包括电池"是什么意思?
这就意味着gamestorm拥有你制作一个小游戏所需的一切?示例图形、文本和声音已经存在。你可以用你自己的,但你不必!另外,GameStorm已经预先配置好可以使用特定的键盘键和游戏板!
GameStorm似乎有限。重点是什么?
好问题。GameStorm有三个目的:
- 学习。GameStorm使学习游戏编程变得容易。事实上,为什么不在gamestorm中学习编程呢?图形内容可能比文本更有趣("hello world!")
- 原型制作。GameStorm让你能够很容易地设计出一个游戏创意。当然,这个想法必须使用网格,但很多游戏都需要这样做:象棋、俄罗斯方块、索科班。使用网格和平铺可以做很多事情。 有趣!做游戏很有趣。与学习使用成熟的游戏引擎相比,在屏幕上快速看到你的概念更有趣。
我很好奇。我怎么能试试这个?
首先,使用pip安装它:
pip安装gamestorm
然后继续阅读以获取更详细的说明。享受!
GameStorm文档
在查看任何代码之前,您应该了解gamestorm使用的系统和约定。它简单有效。
游戏风暴"系统"
网格
网格是视觉游戏区。它占据了整个窗户。你可以指定它的大小。网格由包含平铺的列和行组成。除了设置网格之外,您对网格的处理不多。主要是用瓷砖来工作。
瓷砖
这些是游戏的主要资源。网格中的每个"单元格"都是一个平铺。平铺有三个主要组件:背景、符号和光标,它们按此顺序绘制。可以对磁贴及其组件执行各种操作。例如:
- 设置所有瓷砖的背景。
- 设置特定平铺的符号。
- 清除(移除)特定磁贴的光标。
- 从特定的平铺开始绘制一些文本。
- 清除所有瓷砖的所有组件。
有关瓷砖的所有可用方法,请参见API文档。
下图包含磁贴及其组件的示意图。
gamestorm的本质是操纵这些组件来制作一个小而有趣的游戏。请记住,已经包含了上百个示例背景、符号和光标。如果你不想担心关于图形资产的讨论刚刚开始。
文本
你可以在gamestorm游戏中绘制文本。它非常有限。只有一种字体。每个字符被绘制到一个单独的平铺上。选择此方法是为了使api尽可能简单。幸运的是,您可以使用一种简单的方法从所需的平铺开始绘制所需的文本。
- 注意:覆盖字体尚不可能,但希望很快就会出现。
绘制/渲染
绘图——也就是说,对屏幕的实际渲染——是故意完成的。这就是说,您可以操纵所有想要的平铺的背景、符号和光标,然后通过调用"draw"来执行渲染。例如,将符号设置为平铺时不会绘制该符号。相反,它将等待您调用"draw"。
输入
对于输入,gamestorm使用键盘或游戏板。有一些简单的方法,用于检查何时按下了某个键/按钮。为了简单起见,输入仅限于出现在snes游戏板上的按钮数。也就是说,键盘和游戏板仅限于以下键:
<表><广告>- 注意:重新映射按键或游戏板按钮尚不可能,但希望很快就能实现。
在任何时候,你都可以做一个游戏,并使用游戏板来控制它!
SoundFX和音乐
在GameStorm中,有两种声音:SoundFX和Music。音乐是在游戏运行时播放的较长的音频。SoundFX是一些小的音频示例,用于在特定事件上播放。例如,当游戏中的某个东西被破坏时,您可以播放爆炸声,或者当您将光标从一个磁贴移到另一个磁贴时,您可以播放"哔"声。
GameStorm有一些内置的音乐曲目和许多SoundFX,因此您可以立即将声音放入游戏中。如果愿意,您可以使用自己的音乐和声音。
准备好了吗?
如果您准备好查看一些代码,请继续阅读。
代码
让我们从一个简单的例子开始;我们对Hello World的看法。
importgamestormnum_tiles_x=15num_tiles_y=7screen_width=1280screen_height=720#these two lines are requiredg=gamestorm.GameStorm()g.init(num_tiles_x,num_tiles_y,screen_width,screen_height,title='Hello World')#set up some stuff to draw soon!g.set_all_tiles_background(25)g.set_tile_symbol(6,4,196)g.set_tile_symbol(7,4,196)g.set_tile_symbol(8,4,196)g.set_tile_cursor(7,4,1)g.draw_text(2,1,'Hello World!')#perform the drawg.draw()#check for the exit event to quitwhileTrue:events=g.get_events()ifg.is_exit_button_pressed(events):g.quit()break
这个小脚本将呈现下图中的内容。
正如我们承诺的那样;简单!我们不会在这里演示声音的使用,但我们向您保证,api是非常直截了当的,您只需阅读api文档就可以知道如何播放声音了 我们希望你喜欢gamestorm。我们希望这有助于激励学生、程序员、制作人等。享受! 如果您想帮助完成这个项目-首先,谢谢-这里有一些有用的提示。 通过创建virtualenv环境(python3)进行安装,然后 通过运行来运行测试 运行sampl从上面的程序开始。它是名为结论
用于开发GameStorm库
PIP安装。
nos2测试
sample program.py的文件
推荐PyPI第三方库