博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2D游戏开发(2)
阅读量:6225 次
发布时间:2019-06-21

本文共 1178 字,大约阅读时间需要 3 分钟。

每次给游戏添加新功能时,通常也会引入一些新设置。为了让所有的设置进行统一管理,我们可以配置一个名为

setting的模块,这个模块中包含一个setting的类,用来存储所有的设置。

#代码——

#!/usr/bin/env python3.5

#filename = setting

'''存储所有的设置'''

 

class setting():

    def __init__(self):

        #初始化游戏设置#

        self.screen_widtih = 400

        self.seceen_height = 700

        self.bg_color = (230 , 230 , 230)

修改游戏主代码如下:(参照前博客,值保留修改部分)

 

---snip---

from setting import setting

def run_game():

   #初始化游戏,并创建一个屏幕对象

   pygame.init()

   ai_setting = setting()

   screen = pygame.display.set_mode((ai_setting.screen_width , ai_setting.screen_height))

   pygame.display.set_caption("Alien Invasion")

   #开始游戏的主循环

 

   while True:

       ---snip---

       screen.fill(ai_setting.bg_color)

       #让屏幕可视化

       pygame.display.flip()

 

run_game()

 

创建ship类: python 是通过类来创建列表的

 

#!/usr/bin/env python3.5

 

#filename = ship.py

 

#用于创建飞船的类

 

 

 

import pygame

 

 

 

class ship():

 

    def __init__(self,screen):

 

        self.screen = screen

 

       

 

        #加载飞船图像,获取外形

 

        self.image = pygame.image.load('image/ship.bgm')

 

        self.rect = self.image.get_rect()

 

        self.screen_rect = screen_rect()

 

       

 

        #将每一艘飞船放到指定的位置

 

        self.rect.centerx = self.screen.rect.centerx

 

        self.rect.bottom = self.screen.rect.bottom

 

    def blitme(self):

 

        '''在指定位置绘制飞船'''

 

        self.screen.blit(self.image,self.rect)

 

转载于:https://www.cnblogs.com/alben-cisco/p/6880849.html

你可能感兴趣的文章
Python3.4 12306 2015年3月验证码识别
查看>>
从Handler.post(Runnable r)再一次梳理Android的消息机制(以及handler的内存泄露)
查看>>
windows查看端口占用
查看>>
Yii用ajax实现无刷新检索更新CListView数据
查看>>
JDBC的事务
查看>>
Io流的概述
查看>>
App 卸载记录
查看>>
JavaScript变量和作用域
查看>>
开源SIP服务器加密软件NethidPro升级
查看>>
百度页面分享插件源代码
查看>>
《别做正常的傻瓜》的一些读书心得
查看>>
作业:实现简单的shell sed替换功能和修改haproxy配置文件
查看>>
spring配置多数据源问题
查看>>
Altium 拼板方法以及 注意的 地方
查看>>
简明Linux命令行笔记:tail
查看>>
PMP考试的过与只是
查看>>
java 监控 收集资料3(收集中)
查看>>
实例演示如何使用AgileEAS.NET SOA平台工作流进行业务流程自定义
查看>>
Spring Cloud Alibaba迁移指南(二):零代码替换 Eureka
查看>>
从入门到求职,成为数据科学家的终极指南
查看>>