Python之Game笔记(2):pygame框架随机画圆和方框

一、目的

1、学习pygame基本框架,随机画圆和方框;

二、程序运行结果

三、pygame基本框架

   看程序中def run这里。在游戏运行时,循环里包括三块,event_loop,update和draw,这也是游戏组成的几个部分。
   1、首先event_loop是获取玩家输入的,比如通过WSAD控制角色移动,代码里实现的是玩家点叉退出和按Esc键退出。
   2、其次update处理游戏逻辑,比如角色和boss距离在100px时boss发起攻击。代码里pass,因为只是一个label显示,如果让label变成blinker,一闪一闪的。就可以在update里面调用label.update方法,然后就ok了。
   3、最后是draw和display.update。就是显示在屏幕上咯,经过逻辑计算后,角色和boss的位置在屏幕上显示。代码里就把label在屏幕上显示出来了。
   经过这个过程后,玩家再次输入,控制角色开始新的循环。


四、源代码

"""
程序名称:Game2020_001.py
编程: dalong10
功能: 矩形、圆型画图实例的实现
参考资料: https://www.jb51.net/article/64104.htm
"""
import pygame as pg
import time
import random

class Game(object):
    def __init__(self,width,height):
        self.screen_width = width
        self.screen_height = height
        self.screen = pg.display.set_mode((self.screen_width,self.screen_height))
        screencaption=pg.display.set_caption('我的游戏')
        self.screen.fill([255,255,255])
        self.done = False
        self.clock = pg.time.Clock()
        self.fps = 60.0
        for i in range(5):
            zhijing=random.randint(0,100)
            width=random.randint(0,100)
            height=random.randint(0,100)
            top=random.randint(0,200)
            left=random.randint(0,300)
            pg.draw.circle(self.screen,[0,0,0],[top,left],zhijing,1)
            pg.draw.rect(self.screen,[255,0,0],[left,top,width,height],3)


    def event_loop(self):
        for event in pg.event.get():
            if event.type == pg.QUIT:
                self.done = True
            if event.type == pg.KEYDOWN:
                if event.key == pg.K_ESCAPE:
                    self.done = True

    def draw(self):
        pass

    def update(self,dt):
        pass
        
    def run(self):
        dt = self.clock.tick(self.fps)
        while not self.done:
            self.event_loop()
            self.update(dt)
            self.draw()
            pg.display.update()
                
if __name__ == '__main__':
    pg.init()
    game = Game(400,300)
    game.run()
    pg.quit()

五、参考资料

1、xmzhang的知乎https://zhuanlan.zhihu.com/p/26661987

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容