鱼C论坛

 找回密码
 立即注册
查看: 2581|回复: 1

[技术交流] python 小游戏求组

[复制链接]
发表于 2021-5-8 17:15:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
主程序代码
import pygame
from plane_sprites import *

#模块初始化
pygame.init()

#创建窗口
screen=pygame.display.set_mode((480,700))
#绘制背景图像
#加载图像的数据
background=pygame.image.load("./images/background.png")
#blit 绘制图像
screen.blit(background,(0,0))

#updata 更新图像的显示
# pygame.display.update()

#绘制我方飞机
hero = pygame.image.load("./images/me1.png")
screen.blit(hero,(200,500))

#updata 更新图像的显示  TODO 将screen对象绘制的图像显示一次性的绘制到图像上 可以统一的将blit绘制后的结果在绘制完后统一调用 update 方法
pygame.display.update()

#创建一个时钟对象

clock=pygame.time.Clock()

#定义rect记录飞机初始值的位置
hreo_rect=pygame.Rect(200,500,102,126)

#创建敌机的精灵
enemy=GameSprite("./images/enemy1.png")

#创建敌机的精灵组
enemy_group=pygame.sprite.Group(enemy)
#游戏循环
i=0
while True:
    #TODO 可以指定循环体内部代码执行的频率
    clock.tick(1)
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            print("退出游戏")
            pygame.quit()

            exit()


    #修改飞机的位置
    hreo_rect.y-=50
    #判断飞机是否移出屏幕 如果是则移到屏幕底部
    if hreo_rect.y <=0:
        hreo_rect.y=700
    #使用bilt方法绘制图像 TODO 重新绘制了一边背景 将之前飞机的影像做了一个遮挡

    screen.blit(background,(0,0))
    screen.blit(hero,hreo_rect)


    #调用update方法更新显示
    # 调用精灵组中的update draw 方法
    # updata -- 让精灵组中的所有精灵调用update更新位置

    enemy_group.update()
    # draw --在屏幕上绘制更新里的精灵位置 需要让你的窗口变量作为参数
    enemy_group.draw(screen)


    pygame.display.update()
    print(i)
    i+=1

#结束
pygame.quit()

plane_sprite.py
#TODO 派生精灵子类的演练
import pygame
class GameSprite(pygame.sprite.Sprite):
    """飞机大战游戏精灵"""
    def __init__(self,image_name,spend=1):
    #调用父类的初始化方法
        super().__init__()
    #定义属性
        self.image=pygame.image.load(image_name)
        self.rect=self.image.get_rect()
        self.spend=spend

    def updata(self):
        #默认y周移动
        self.rect.y += self.spend

我使用精灵组创建了一个敌机但是不知道为什么那个敌机的图像不会动 求助
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-9-19 15:40:05 | 显示全部楼层
666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-10 17:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表