zoukankan      html  css  js  c++  java
  • pygame(class类)调用视图的方法

    以下将介绍pygame精灵动画的基础知识,希望对大家有帮助:
    1.在此,精灵类必须继承pygame.sprite.Sprite并初始化pygame.sprite.Sprite.__init__(self),
    2.调用group=pygame.sprite.Group()的精灵组必须要在类中初始化image和rect属性
    
    
    import pygame
    import sys
    # -------------子弹类-----------
    pygame.init()
    screen=pygame.display.set_mode([800,600])


    class Bullet(pygame.sprite.Sprite):

    def __init__(self):
    pygame.sprite.Sprite.__init__(self)
    self.bullet_up=pygame.image.load(r"..imageullet_up.png")

    self.bullet=self.bullet_down
    self.rect=self.bullet.get_rect()

    self.image = self.bullet

    def changeImage(self,dir_x,dir_y):
    self.bullet = self.bullet_down
    self.dir_x,self.dir_y=dir_x,dir_y
    if self.dir_x==0 and self.dir_y==-1:
    self.bullet=self.bullet_up
    elif self.dir_x==0 and self.dir_y==1:
    self.bullet=self.bullet_down

    def move(self):
    # 子弹当前位置等于移动后的位置
    self.rect=self.rect.move(self.dir_x*self.speed,self.dir_y*self.speed)
    # 设置子弹碰撞地图边缘自动毁灭消失
    if self.rect.top<3:
    self.life=False


    实例化类
    ss=Bullet()
    
    
    生成精灵组
    group=pygame.sprite.Group()
    
    
    将实例化对象添加到精灵组
    group.add(ss)
    while True:
    print('我被调用了')
    for event in pygame.event.get():
    if event.type == pygame.QUIT:
    pygame.quit()
    sys.exit()
    screen.fill([0,0,0])
    group.update()
    group.draw(screen)
    pygame.display.update()
     
     
  • 相关阅读:
    tkinter_战队数据查询系统
    python_tkinter组件
    python_tkinter基本属性
    python_tkinter组件摆放方式
    python_推导式
    python_装饰器
    python_模块1
    python_生成随机验证码
    linux基础_使用指令3
    linux部署django项目流程(全)
  • 原文地址:https://www.cnblogs.com/Dark-fire-liehuo/p/9723950.html
Copyright © 2011-2022 走看看