pygame编组(精灵组)Group中的常用方法介绍
说明:
1.以下所用的Group均为Group类的对象实例
2.Group类是对AbstractGroup类的继承
sprite.py文档中描述如下:
class Group(AbstractGroup):
"""container class for many Sprites pygame.sprite.Group(*sprites): return Group A simple container for Sprite objects. This class can be subclassed to
create containers with more specific behaviors. The constructor takes any
number of Sprite arguments to add to the Group. The group supports the
following standard Python operations: in test if a Sprite is contained
len the number of Sprites contained
bool test if any Sprites are contained
iter iterate through all the Sprites The Sprites in the Group are not ordered, so the Sprites are drawn and
iterated over in no particular order. """
def __init__(self, *sprites):
AbstractGroup.__init__(self)
self.add(*sprites)
方法一:Group.draw(surface)
说明:对精灵组中的每一个精灵依次调用surface.blit(),依次将精灵组中的精灵绘制在surface上
AbstractGroup类中对其的定义:
def draw(self, surface):
"""draw all sprites onto the surface Group.draw(surface): return None Draws all of the member sprites onto the given surface. """
sprites = self.sprites()
surface_blit = surface.blit
for spr in sprites:
self.spritedict[spr] = surface_blit(spr.image, spr.rect)
self.lostsprites = []
方法二:Group.update()
说明:对精灵组中的每一个精灵依次调用update()方法,并且update()方法需要自己在自己定义的精灵类中去实现
AbstractGroup类中对其的定义:
def update(self, *args):
"""call the update method of every member sprite Group.update(*args): return None Calls the update method of every member sprite. All arguments that
were passed to this method are passed to the Sprite update function. """
for s in self.sprites():
s.update(*args)
pygame编组(精灵组)Group中的常用方法介绍的更多相关文章
- 5.pygame快速入门-精灵和精灵组
在之前案例中,图像加载.位置变化.绘制图像都需要编写代码分别处理 pygame提供了两个类简化开发步骤 pygame.sprite.Sprite #精灵,存储图像数据image和位置rect的对象 p ...
- 8、Situation-Dependent Combination of Long-Term and Session-Based Preferences in Group Recommendations: An Experimental Analysis ----组推荐中基于长期和会话偏好的情景依赖组合
一.摘要: 背景:会话组推荐系统的一个主要挑战是如何适当地利用群组成员之间的交互引起用户偏好,这可能会偏离用户的长期偏好.长期偏好和群组诱导的偏好之间的相对重要性应该根据具体的群组设置而变化. 本文: ...
- java中正则表达式常用方法
一.匹配 String matches()方法.用规则匹配整个字符串,只要有一处不符合规则,就匹配结束,返回false. 举例: public static void checkQQ(){ Stri ...
- Java中的常用方法
Java中的常用方法 第一章 字符串 1.获取字符串的长度:length() 2.判断字符串的前缀或后缀与已知字符串是否相同 前缀 startsWith(String s).后缀 endsWit ...
- Java实战之02Hibernate-03Session中的常用方法
九.Session中的常用方法 1.save方法 都是临时态————>持久态 2.persist方法 作用: 持久化临时态对象. 与save方法的区别: 开始了事务:persist和save没有 ...
- javascript中数组常用方法总结
原文:javascript中数组常用方法总结 在javascript的基础编程中,数组是我们最常遇到的,那么数组的一些常用方法也是我们必须要掌握的,下面我们总结一下数组中常用的方法. toString ...
- python中os常用方法
python中OS常用方法 Python的标准库中的os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的.即它允许一个程序在编写后不需要任何改动,也不会发生任何问 ...
- Java多线程中的常用方法
本文将带你讲诉Java多线程中的常用方法 Java多线程中的常用方法有如下几个 start,run,sleep,wait,notify,notifyAll,join,isAlive,current ...
- JavaScript中Math常用方法
title: JavaScript中Math常用方法 toc: false date: 2018-10-13 12:19:31 Math.E --2.718281828459045,算数常量e Mat ...
随机推荐
- 你应该掌握的C++ RAII手法:Scopegaurd
C++作为一门Native Langueages,在C++98/03时代,资源管理是个大问题.而内存管理又是其中最大的问题.申请的堆内存需要手动分配和释放,为了确保内存正确释放,一般原则是" ...
- Container Adaptors
Notes from C++ Primer stack and queue: based on deque priority_queue: based on vector Standard li ...
- Servlet案例3:验证码功能
这里介绍简单的验证码功能 动态生成图片 一个简单的页面: <!DOCTYPE html> <html> <head> <meta charset=" ...
- MySQL学习笔记2(多表操作)
外键:使两张表之间存在关联 特点: 1.从表外键的值是对主表主键的引用 2.从表外键类型,必须与主表主键类型一致 示例: 创建两个表并准备数据: USE mybase; CREATE TABLE ca ...
- 搭建docker环境准备
Docker平台的基本构成
- 学生管理系统(springMVC)
<Java Web编程>课程设计 ...
- 读取.Properties文件以及Spring注解读取文件内容
public class Main { public static void main(String[] args) throws IOException { //创建Properties对象 Pro ...
- Testing - 软件测试知识梳理 - 比较质量保证(QA)与质量控制(QC)
QA QC QM 概念 Quality Assurance (质量保证) Quality Control (质量控制) Quality Manage (质量管理) 定义 为达到质量要求所采取的作业技术 ...
- vue安装及axios、stylus、iview的安装流程整理
现在做的项目中主要用到以下几个安装包,所以整理下流程: 使用命令行工具npm新创建一个vue项目 vue中axios的安装和使用 在vue项目中stylus的安装及使用 如何在vue中全局引入styl ...
- Servlet-获取页面的元素的值的方式以及区别
request.getParameter() 返回客户端的请求参数的值:request.getParameterNames() 返回所有可用属性名的枚举: request.getParameterVa ...