以下将介绍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"..\image\bullet_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()
 
 

pygame(class类)调用视图的方法的更多相关文章

  1. ssh框架,工具类调用service层方法

    解决方法: @Component//声明为spring组件 public class CopyFileUtil{ @Autowired private DataFileManager dataFile ...

  2. ssh框架中,工具类调用service层方法(参考https://www.cnblogs.com/l412382979/p/8526945.html)

    代码如下: package common.dataService; import javax.annotation.PostConstruct; import org.springframework. ...

  3. SSM(Spring)中,在工具类中调用服务层的方法

    因为平时在调用service层时都是在controller中,有配置扫描注入,spring会根据配置自动注入所依赖的服务层. 但因我们写的工具类不属于controller层,所以当所写接口需要调用服务 ...

  4. Flask05 cookie、类视图、方法视图、自己的404页面

    1 什么是cookie 就是网站存放到你浏览器中的一部分固定内容:当你下次访问我这个网站的时候,你会把之前我存放到你浏览器中的数据带回来给我        你要先登录(用户名.密码) ->   ...

  5. django类视图as_view()方法解析

    使用视图函数时,django完成URL解析之后,会直接把request对象以及URL解析器捕获的参数(比如re_path中正则表达捕获的位置参数或关键字参数)丢给视图函数,但是在类视图中,这些参数不能 ...

  6. django class类即视图类添加装饰器的几种方法

    根据别人发布整理,个人爱好收集(原文:https://blog.csdn.net/mydistance/article/details/83958655 ) 第一种:定义函数装饰器,在函数,类中使用函 ...

  7. Java中是否可以调用一个类中的main方法?

    前几天面试的时候,被问到在Java中是否可以调用一个类中的main方法?回来测试了下,答案是可以!代码如下: main1中调用main2的主方法 package org.fiu.test; impor ...

  8. C#调用java类、jar包方法(转)

    一.将已经编译后的java中Class文件进行打包:打包命令JAR 如:将某目录下的所有class文件夹全部进行打包处理: 使用的命令:jar cvf test.jar -C com/ . 其中tes ...

  9. C#调用java类、jar包方法

    一.将已经编译后的java中Class文件进行打包:打包命令JAR 如:将某目录下的所有class文件夹全部进行打包处理: 使用的命令:jar cvf test.jar -C com/ . 其中tes ...

随机推荐

  1. python之count()函数

    # count()统计字符串中特定单词或短语出现次数(n = 3) strs = 'Good! Today is good day! Good job!' n = strs.lower().count ...

  2. mysql and不能同时运用在一个字段上

  3. Linux管理用户和组

    用户管理相关命令useradd        添加用户adduser        添加用户userdel         删除用户passwd         为用户设置密码usermod      ...

  4. BZOJ4785 ZJOI2017树状数组(概率+二维线段树)

    可以发现这个写挂的树状数组求的是后缀和.find(r)-find(l-1)在模2意义下实际上查询的是l-1~r-1的和,而本来要查询的是l~r的和.也就是说,若结果正确,则a[l-1]=a[r](mo ...

  5. Mac 下重新安装配置ibm Lotus 邮箱

    若邮箱之前有人使用,需要重新安装.在卸载程序之后,发现仍旧无法重新配置新的账号. 此时需要删除用户目录下的2个文件: /Library/Application Support/IBM Notes Da ...

  6. 说 AppbarLayout,如何理解可折叠 Toolbar 的定制

    Material Design 是个好东西,它的出现使得 Android 也能定制高颜值的界面,并且指导了如果实现复杂炫丽的交互效果,而 android Surpport Desgin 这个支持包就是 ...

  7. 【BZOJ2244】[SDOI2011]拦截导弹(CDQ分治)

    [BZOJ2244][SDOI2011]拦截导弹(CDQ分治) 题面 BZOJ 洛谷 题解 不难发现这就是一个三维偏序+\(LIS\)这样一个\(dp\). 那么第一问很好求,直接\(CDQ\)分治之 ...

  8. Raid卷详解

    #RAID卷 独立磁盘冗余阵列RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术.组成磁盘阵列的不同方式成为R ...

  9. HDU 1024 Max Sum Plus Plus (动态规划)

    HDU 1024 Max Sum Plus Plus (动态规划) Description Now I think you have got an AC in Ignatius.L's "M ...

  10. hdu 2059龟兔赛跑("01"背包)

    传送门 https://www.cnblogs.com/violet-acmer/p/9852294.html 题解: 看到这个题,第一反应就是DP,因为对于每个充电站,都有两种选择,充电或不充电,和 ...