pygame显示图片的方法_使用pygame制作贪吃蛇游戏

本文详细介绍了如何使用pygame库制作一个贪吃蛇游戏,包括创建游戏画面、制作食物、显示食物、制作贪吃蛇、游戏控制等方面,通过面向对象编程简化设计。文章还提供了关键代码和游戏逻辑解析,帮助读者理解并实现贪吃蛇游戏。
摘要由CSDN通过智能技术生成

be6218c964264a4d03c9f69e3ce79cac.png

贪吃蛇是一个非常有趣的游戏,想必大家小时候都玩过,本文将和你一起研究时间如何使用pygame游戏库制作一个贪吃蛇游戏

1. 基本游戏画面

首先,我们需要制作出一个基本的游戏画面,这个过程中,我们将学习pygame的一些基本用法

from pygame.locals import *
import pygame
import time


class SnakeGame():
    def __init__(self):
        self.width = 800
        self.height = 600
        self._running = False

    def init(self):
        pygame.init()  #初始化所有导入的pygame模块
        # 初始化一个准备显示的窗口或屏幕
        self._display_surf = pygame.display.set_mode((self.width,self.height), pygame.HWSURFACE)
        self._running = True

    def run(self):
        self.init()
        while self._running:
            time.sleep(0.05)


if __name__ == '__main__':
    snake = SnakeGame()
    snake.run()

pygame.init()的目的是为了初始化所有导入的pygame模块,它会检查你电脑上的一些硬件驱动,比如声卡之类的。

游戏画面使用pygame.display.set_mode来初始化,这是一个必要的准备。通过属性_running来标识游戏是否仍在运行,这样,使用while循环时,就可以在特定条件下停下来。

为什么要写一个while循环呢?游戏是一个程序,它一直在运行,而且要不停的监听我们对游戏的操作,只有循环的程序结构才能满足这样的要求。

现在,我们已经有了一个基本游戏界面了,下一步,我们学习如何在界面上画出贪吃蛇所要吃的食物

2. 制作食物

贪吃蛇要迟到食物才能长大,界面上的食物,本质上是一张图片,我们通过技术手段将其画到界面上,下图是我准备的食物图片--food.png

a670053f38d913a4709543cfd228bf66.png


开发游戏程序,建议你使用面向对象编程,这样会大大的减轻我们程序设计的难度,现在,我要设计一个食物类

STEP = 44

class Food():
    def __init__(self, x, y, surface):
        self.x = x*STEP
        self.y = y*STEP
        self.surface = surface
        self.image = pygame.image.load("food.png").convert()

    def draw(self):
        self.surface.blit(self.image,(self.x, self.y))

Food类在创建对象时,需要提供x, y 坐标,这样就知道将其放在游戏画面的哪个位置上,在初始化时,同时将图片导入, surface需要传入SnakeG

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值