pygame入门小游戏(外星人入侵:为窗口设计背景颜色以及背景图片)

Posted BaiHekin_g

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pygame入门小游戏(外星人入侵:为窗口设计背景颜色以及背景图片)相关的知识,希望对你有一定的参考价值。

Pygame默认创建一个黑色屏幕,这太乏味了。下面来将背景设置为另一种颜色,这是在方法run_game(self)前和末尾进行的!


设计背景颜色: 

    def run_game(self):
        bg_color = (255,192,203)                #设置背景颜色
        while True:
            for event in pygame.event.get():    #监视鼠标和键盘事件
                if event.type == pygame.QUIT:
                    sys.exit()

            self.screen.fill(bg_color)          #每次循环之后都绘制屏幕
            pygame.display.flip()               #让最近绘制过的屏幕可显示

在Pygame中,颜色是以RGB值指定的。这种颜色由红色、绿色和蓝色值组成,其中每个值的取值范围都是0~255。颜色值(255, 0, 0)表示红色,(0, 255, 0)表示 绿色,而(0, 0, 255)表示蓝色。通过组合不同的RGB值,可创建1600万种颜色。而我使用的颜色(255,192,203)它生成的是一种粉红色(猛男标配😀)。我们将这种颜色赋给了bg_color。

然后我们在循环结束的时候调用方法  fill(),用这种背景色填充屏幕。方法  fill() 用于处理 surface,只接受一个实参:一种颜色。


 

设置背景图片:

 可以设置背景颜色的话当然也可以设置背景图片的啦,以下是我在pymage里实现的背景图片代码,这是在方法也是在run_game(self)前和末尾进行的,敬请参考:

    def run_game(self):
        background = pygame.image.load("garrycao.jpg").convert() #设置的背景图片
        while True:
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    sys.exit()

            self.screen.blit(background,(0,0))                   #每次循环结束后都会绘制图片          
            pygame.display.flip()                                #执行每次绘制后操作的显示

注意:我这个是把图片与主程序放在同一个文件夹里面,还有图片名字最好使用英文字母或数字,当然图片的路径也可以使用绝对路径来使用。

 

以上是关于pygame入门小游戏(外星人入侵:为窗口设计背景颜色以及背景图片)的主要内容,如果未能解决你的问题,请参考以下文章

pygame外星人入侵

简单的Python项目——《外星人入侵》(关键词:pygame,类,函数,编组,图像)

python应用篇之外星人入侵项目——外星人(上)

python,外星人入侵游戏,Pycharm,pygame,写完了,但是有bug,希望帮我找一下原因

开发一款2D游戏(主体框架)

pygame游戏开发|中国计算机设计大赛游戏开发与设计之冰雪英雄会(附源码)