超级简单的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_font
将
assets/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像素。很容易 什么都行。