zoukankan      html  css  js  c++  java
  • 2D游戏开发(2)

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

    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)

  • 相关阅读:
    【剧透高亮】最最最完整剧透加剧情详细解析
    iOS十六进制和字符串的相互转换
    Swift函数编程之Map、Filter、Reduce
    Swift中的Masonry第三方库——SnapKit
    swift中第三方网络请求库Alamofire的安装与使用
    针对苹果最新审核要求为应用兼容IPv6
    使用 Fastlane 实现 IOS 持续集成
    Fastlane为iOS带来持续部署
    @OBJC 和 DYNAMIC
    swift基本用法-数组array
  • 原文地址:https://www.cnblogs.com/alben-cisco/p/6880849.html
Copyright © 2011-2022 走看看