用python画圆的代码_Python之Game笔记(2):pygame框架随机画圆和方框

一、目的

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

二、程序运行结果

2b879086544a

三、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在屏幕上显示出来了。

经过这个过程后,玩家再次输入,控制角色开始新的循环。

2b879086544a

四、源代码

"""

程序名称: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()

五、参考资料