猫史档案馆


【Python作品分享】进击的字符【作业帖】

用户:RankeWRankeW查看:0 回复:1 评论:0 创建时间:2021-07-19T08:48:37


【作品展示】

center_image

 

【作品介绍】

只是模仿《愤怒的小鸟》

 

【作品源代码】

#别点太快,太多,会崩
#导入arcade库的大部分功能
from arcade import *
import random
#定义子类,继承Window
class MyWindow(Window):
    #初始化
    def __init__(self):
        #继承父类初始化方法
        super().__init__(1000,600,'消灭史莱姆')
        set_background_color((119,181,254))
        self.ppe = PymunkPhysicsEngine((0,-900))
        self.char_sprite_list = SpriteList()
        self.g = Sprite('ground.png')
        self.g.position = 500,20
        self.ppe.add_sprite(self.g,body_type=self.ppe.STATIC,friction=20)
        self.slime_list = SpriteList()
        for row in range(5):
            for col in range(3):
                self.slime = Sprite('slime.png')
                x = 700 + 60*col
                y = 60 + 60*row
                self.slime.position = x,y
                self.slime_list.append(self.slime)
                self.ppe.add_sprite(self.slime)

    def on_key_press(self, symbol, modifiers):
        self.char = chr(symbol)
        size = random.uniform(20,60)
        self.char_sprite = draw_text(self.char,50,300,(255,0,0),size)
        self.ppe.add_sprite(self.char_sprite, mass=10)
        x_speed = random.uniform(200,500)
        y_speed = random.uniform(500, 800)
        self.ppe.set_velocity(self.char_sprite, (x_speed, y_speed))
        self.char_sprite_list.append(self.char_sprite)
    #绘制渲染
    def on_draw(self):
        start_render()
        self.char_sprite_list.draw()
        self.g.draw()
        self.slime_list.draw()
    #更新
    def on_update(self, time):
        self.ppe.step()
#实例化子类
w = MyWindow()
#运行
run()

 

【提示】

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

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
冬a_夜星源晨冬a_夜星源晨

emotion_编程猫_点赞

点赞0


评论