IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 05-pygame弹球游戏(上) -> 正文阅读

[Python知识库]05-pygame弹球游戏(上)

你好,我是悦创。

前面我们讲了,一些 pygame 的操作,接下来呢,我们成功步入实战阶段。

目录

  1. 游戏介绍
  2. 弹球游戏

1. 游戏介绍

足球在画面中运动,遇到上、左、右以及接杆就会反弹,且接杆接住会积分,如果掉落到下面,则游戏结束。
在这里插入图片描述

2. 小球

  1. 新建文件夹,文件夹下面创建 py 文件、图片文件,然后我们开始编写代码。本篇用的是图片,可以改成画出来的圆形。

接下来,编写基础代码:

import pygame, sys
from pygame.locals import *

# 初始化 pygame
pygame.init()
screen = pygame.display.set_mode([800, 700])

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()
    pygame.display.flip()
  1. 创建一个专门控制小球的类,用来给定小球的样式。得到小球的矩形选框,然后获得获得小球矩形选框的左侧与顶部的边缘,还有小球的移动速度。
# 创建球类
class Myballclass(pygame.sprite.Sprite):
    # 给出图矩形速度并给定对应的值
    def __init__(self, image_file, speed, location):
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.image.load(image_file)
        self.image = pygame.transform.smoothscale(self.image, (80, 70))
        self.rect = self.image.get_rect()
        self.rect.left, self.rect.top = location
        self.speed = speed
  1. 创建球类实例化对象,然后显示到屏幕上。
# 球类给定值
myball = Myballclass(r'football.png', ball_speed, [10, 20])
# 刷新时间
time = 30
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()
    screen.blit(myball.image, myball.rect)
    pygame.display.flip()
  1. 现在开始让球运动起来并进行反弹,当小球移动到最边缘时速度取反(这部分写在球类中,另外通过 self 来表示类的属性)。
# 球的移动
    def ball_move(self):
        self.rect = self.rect.move(self.speed)
        # 控制小球在游戏界面内
        if self.rect.left < 0 or self.rect.right > screen.get_width():
            self.speed[0] = -self.speed[0]
        if self.rect.top <= 0:
            self.speed[1] = -self.speed[1]
  1. 类需要编写结束函数。仍然让小球不断运动,然后判断游戏结束,并对游戏结束时要显示的字进行处理。
 # 游戏结束
    def over(self):
        self.rect = self.rect.move(self.speed)

        # 当小球底部大于界面高度时判定游戏结束
        if self.rect.bottom > screen.get_height():
            # SysFount  从系统字体中创建一个font对象(字体样式, 大小)
            font = pygame.font.SysFont('宋体', 40)

            # render  在新的surface上绘制文本(文本, 抗锯齿, 颜色, 背景)
            text_surface = font.render(u"Game Over", True, (0, 0, 255))
            screen.blit(text_surface, (screen.get_width() // 2, screen.get_height() // 2))
            return 0

下部分,明天继续!

AI悦创·推出辅导班啦,包括「Python 语言辅导班、C++辅导班、算法/数据结构辅导班、少儿编程、pygame 游戏开发」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践等。QQ、微信在线,随时响应!V:Jiabcdefh

在这里插入图片描述

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-06 09:35:07  更:2021-08-06 09:36:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 7:11:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码