超级简单的pygame框架。

pygame.snake的Python项目详细描述


pygame.snake

snake通过@game.scene装饰器支持场景。这个 不过,自述文件并没有涵盖这些内容。尽管如此,斯内克的场景 太棒了,我做的时候注意他们的文档!


蛇的设计完全是以初学者为中心的。 不用担心pygame.event.get()pygame.display.set_mode()pygame.image.load()等。

实际上,您可以在snake中不使用import pygame来制作游戏。 任何地方!下面的许多代码片段实际上是完整的 snake项目。就这么简单。

importsnakegame=snake.Game()whileTrue:game.next_frame()game.assets.player.stamp((0,0))

game.assets?这是自动加载的assets/文件夹 检测到文件类型并筛选到适合您的文件类型。

game.assets.player可能是assets/player.png。它可能 也可以是assets/player.jpg或任何其他图像格式。蛇 不在乎。

太无聊了。让我们获取一些用户输入:

importsnakegame=snake.Game()whileTrue:events=game.next_frame()ifevents.keys.space:print("Space is pressed!")else:print("Space isn't pressed")

那很容易。注意键盘是如何插入events.keys的吗? 让我们看看鼠标输入:

print("Mouse is at "+str(events.mouse.pos))

很好。不知道我们能不能滚动一下?

ifevents.scroll.up:print("Scroll up")

哦。很好。不过,我的游戏更先进了一点。我需要 一些雪碧。别担心。

player=game.sprite(game.assets.player)whileTrue:game.next_frame()player.x+=1

太容易了。字体:

label=game.sprite(game.assets.my_font)whileTrue:events=game.next_frame()ifevents.keys.space:label.text="Space is pressed"else:label.text="Space is not pressed"

记住game.assets.my_fontassets/my_font.ttf,所以要确保有一个字体文件。

辞职甚至不是一件需要考虑的事情。已经处理好了 为你默契。没有问题。

现在一切都和原点有关,但是 太无聊了。让我们在右上角添加一个fps计数器。

counter=game.sprite(game.assets.my_font)counter.stick=game.NEwhileTrue:game.next_frame()counter.text=str(round(game.fps,2))

我们这里有一些新东西。重要的是 counter.stick它告诉蛇把雪碧放在哪里。 东北是我们想要的右上角。默认值是 game.CENTRE。另一个新事物是game.fps。没有惊喜; 是FPS。

我不喜欢这篇课文写得太离谱了 尽管如此。我们来解决这个问题:

counter=game.sprite(game.assets.my_font,x=32,y=32)

现在我们在两个方向上偏移32像素。很容易 什么都行。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
IE中的java跨域cookie问题   重复java中已经满足的循环   编译java RMI服务器时出错   JavaServlet POST中作为参数传递的javascript大型JSON数组数据为空   java片段未每次刷新/调用   java无法编译。错误消息   java如何构造大型类?   java Hibernate:TableThingsDB。事情并不存在   java如何操作从匹配项创建的数组。发现   循环以搜索和显示数组Java的某些部分   加载或注册SQLite JDBC驱动程序时出现java问题   活动和服务之间的java连接   JavaGWTG2D:ie8中的drawImage   java在安卓中设置hessian阈值   在Tomcat中使用Logback时发生java错误