猫史档案馆


【Python作品分享】Smiley Explosion【作品秀】

用户:钢铁龘齾钢铁龘齾查看:0 回复:2 评论:0 创建时间:2020-02-10T13:19:44


【作品展示】

center_image

 

【作品介绍】

运行,点击画布,你点击的地方将会爆出很多个笑脸(笑脸需要事先画好保存在桌面,图片上涂成灰色的部分是笑脸的地址)

 

【作品源代码】

import pygame as p
import random as r

BLACK = (0, 0, 0)
p.init()
s = p.display.set_mode([800, 600])
p.display.set_caption("Smiley Explosion")
喵 = False
k = True
clok = p.time.Clock()
pic = p.image.load("c:\\Users\\peter g\\desktop\\squle.png")
colorkey = pic.get_at((0, 0))
pic.set_colorkey(colorkey)
sprlt = p.sprite.Group()


class 喵iley(p.sprite.Sprite):
    pos = (0, 0)
    xvel = 1
    yvel = 1
    scale = 100

    def __init__(self, pos, xvel, yvel):
        p.sprite.Sprite.__init__(self)
        self.image = pic
        self.scale = r.randrange(10, 100)
        self.image = p.transform.scale(self.image, (self.scale, self.scale))
        self.rect = self.image.get_rect()
        self.pos = pos
        self.rect.x = pos[0] - self.scale/2
        self.rect.y = pos[1] - self.scale/2
        self.xvel = xvel
        self.yvel = yvel

    def update(self):
        self.rect.x += self.xvel
        self.rect.y += self.yvel
        if self.rect.x <= 0 or self.rect.x > s.get_width() - self.scale:
            self.xvel = -self.xvel
        if self.rect.y <= 0 or self.rect.y > s.get_height() - self.scale:
            self.yvel = -self.yvel


a = 0
while k:
    for event in p.event.get():
        if event.type == p.QUIT:
            k = False
        if event.type == p.MOUSEBUTTONDOWN:
            喵 = True
        if event.type == p.MOUSEBUTTONUP:
            喵 = False
    s.fill(BLACK)
    sprlt.update()
    sprlt.draw(s)
    clok.tick(60)
    p.display.update()
    if 喵:
        speedx = r.randint(-5, 5)
        speedy = r.randint(-5, 5)
        喵i = 喵iley(p.mouse.get_pos(), speedx, speedy)
        sprlt.add(喵i)
        a += 1

print(a)
p.quit()

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
钢铁龘齾钢铁龘齾

程序中图片:

center_image

点赞0


评论


钢铁龘齾钢铁龘齾

建议不要截图

点赞0


评论