精灵检测Python库

spriteutil的Python项目详细描述


精灵表Python库

概述

Sprite Sheet Python库为Python解释器添加了Sprite工作表处理功能。在

该库提供了一种方法来查找封装在单个图像中的精灵,并返回它们在该图像中的位置(边界框)。在

概念

精灵

sprite是一个小的raster graphic(A 位图),它表示一个对象,如字符、车辆、投射物等

Metal Slug

精灵是创建大型复杂场景的常用方法,因为您可以独立于场景的其余部分操纵每个精灵。这样可以更好地控制场景的渲染方式,以及玩家如何与场景交互。在

精灵主要用于2D电子游戏中,例如Shoot'em up,在这种游戏中,英雄在躲避敌人火力的同时向敌人开枪,以此与大量敌人作战:

Cannon FodderCommandoMetal Slug
Cannon FodderCommandoMetal Slug

雪碧床单

游戏中有几十到几百个精灵并不少见。将其中的每一个作为一个单独的图像加载将消耗大量内存和处理能力。为了帮助管理精灵并避免使用太多图像,许多游戏使用sprite sheets(也称为image sprites)。在

精灵工作表由多个精灵组成一个影像。换句话说,精灵表将多个精灵打包成一张图片。通过使用精灵表,视频游戏开发人员可以创建表示一个或多个动画序列的精灵表动画,同时只加载一个文件:

Metal Slug Sprites

精灵边界框

框架(边界框)可用于在精灵工作表中划定精灵。这个边界框由两个2D点top_left和{}定义,它们各自的坐标x和{}相对于精灵表图像的左上角。在

例如:

Shape Bounding Boxes

精灵面具

精灵的遮罩定义精灵的2D形状。例如,精灵工作表^{}包含以下3个精灵:

Metal Slug Standing Stance

这些精灵的面具分别是:

安装

使用^{}安装Sprite Sheet Python库

$ pip install sprite-sheet

使用

例如,让我们考虑下面放大的图像文件sprite_example.png

^{pr2}$

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在Java中使用工厂设计模式   解析服务器安全性的java最佳实践   java如何解决由于某种原因导致的执行失败?   关于Servlet的java   如何在java中生成一个大的(30MB+)xml文件?   匿名类重写与传递接口,用于在Java中设计回调   java jar从运行时开始。getRuntime()。exec()比从命令行运行的时间长   java Ant脚本排除文件夹(某些文件除外)   java在Windows 10计算机上运行时遇到Maven错误   java Hibernate在同一个表中级联   java PayPal API设置返回URL   java如何在选项卡的右侧显示关闭按钮   当按下Jmenu按钮时,使用java操作侦听器退出程序