pygame单击彩色弹球练习.py

pygame单击彩色弹球练习.py

以下是部分代码预览:

"""pygame单击彩色弹球练习_事件USEREVENT,组group,sprite角色类练习程序"""

__author__ = "李兴球"
__date__ = "2018年8月"
__company__  = "风火轮编程"

import pygame
from pygame.locals import *
from random import randint,choice
 
class Ball(pygame.sprite.Sprite):
    def __init__(self,radius,x,y,screen,color):
        pygame.sprite.Sprite.__init__(self)      # 初始化父类
        self.radius  = radius                    # 弹球半径
        self.screen_width = screen.get_width()   # 屏幕宽高
        self.screen_height = screen.get_height() # 屏幕高度
        pass
        pygame.draw.circle(self.image,color,(radius,radius),radius) # 在self.image上画圆,颜色,位置,半径
        self.image.set_colorkey((0,0,0))         # 设置不渲染的颜色(透明色)
        self.xspeed = randint(-4,4)              # 初始x速度
        self.yspeed = randint(-4,4)              # 初始y速度

    def bounce(self):
        """碰到边缘就反弹,原理是x或y速度取负"""
        pass      
        
    def update(self):
        """更新坐标,move_ip是在原位移动rect"""
        pass

if __name__ == "__main__":    

    width,height = 800,600
    screen = pygame.display.set_mode((width,height))    # 新建屏幕对象分辨率为800x600
    pygame.display.set_caption("pygame事件USEREVENT,组group,sprite角色类练习参考答案")

    group = pygame.sprite.Group()                        # 新建组
    r = randint(0,255);g = randint(0,255);b = randint(0,255) # 生成rgb三元色
    ball1 = Ball(20,width//2,height//2,screen,(r,g,b))   # 先生成一个球球
    
    group.add(ball1)                                     # 把球球加到组中,以便统一更新坐标与重画.

    produceball = USEREVENT + 1                          # 定义生成球事件
    deleteball = USEREVENT + 2                           # 定义删除球事件
    pygame.time.set_timer(produceball,1000)              # 让生成球事件每隔一秒发生一次
    pygame.time.set_timer(deleteball,1400)               # 让删除球事件每隔一秒发生一次
    clock = pygame.time.Clock()                          # 生成时钟对象
    running = True                                       # 运行为真

    pass
    

 

下载完整源代码与素材,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

李兴球

李兴球的博客是Python创意编程原创博客