标签: sprite-sheet

存储在一个图像文件中的多个图标

是否可以将多个小图像或图标存储为单个图像的一部分,以便我的网页可以从单个GET请求中获取所需的所有图标.这将有助于我的页面加载更快.

这是我所指的复合图像的一个例子:

http://oi40.tinypic.com/2saaxac.jpg

在我看来,这是一种放在一个文件中的图像阵列.我希望有一些方法可以在项目中使用图像中的每个单独图标.

icons image sprite-sheet

4
推荐指数
1
解决办法
3980
查看次数

如何在swift和sprite工具包中使用sprite表?

标题说明了一切.如何在swift和sprite工具包中使用精灵表?我搜索了谷歌,堆栈交换和苹果文档,我无法想出这个.

macos sprite-sheet ios sprite-kit swift

4
推荐指数
1
解决办法
6418
查看次数

与图像序列相比,精灵表的优缺点是什么?

我来自2D动画背景,所以当我使用动画序列时,我更喜欢使用一系列图像.对我而言,这很有意义,因为您可以轻松地从合成/编辑软件导出图像序列,并轻松定义方面.

我是游戏开发的新手,对使用精灵表感到好奇.有什么优点和缺点.文件大小是个问题吗? - 对我来说,似乎一堆小图像与一个大图像相同.此外,定义精灵的每个单独区域似乎时间繁琐.

基本上,我不明白为什么你会使用精灵表 - 请赐教.

谢谢

animation image sequence sprite-sheet

3
推荐指数
2
解决办法
5944
查看次数

Spritesheet以编程方式切割:最佳实践

我有一个由42帧组成的大型spritesheet(3808x1632).我会用这些帧呈现一个动画,我使用一个线程来加载一个包含所有帧的位图数组,并用一个闪屏等待它的结束.我没有使用SurfaceView(和画布的绘图功能),我只是在我的主布局中的ImageView中逐帧加载.我的方法类似于从spritesheet中加载大量图像 完成实际需要大约15秒,这是不可接受的.

我用这种功能:

for (int i=0; i<TotalFramesTeapotBG; i++) {
            xStartTeapotBG = (i % framesInRowsTeapotBG) * frameWidthTeapotBG; 
            yStartTeapotBG = (i / framesInRowsTeapotBG) * frameHeightTeapotBG;
            mVectorTeapotBG.add(Bitmap.createBitmap(framesBitmapTeapotBG, xStartTeapotBG, yStartTeapotBG, frameWidthTeapotBG, frameHeightTeapotBG));
        }
Run Code Online (Sandbox Code Playgroud)

framesBitmapTeapotBG是一个很大的spritesheet.看得更深,我在logcat中读到createBitmap函数需要花费很多时间,可能是因为spritesheet太大了.我找到了一个可以在大spritesheet上创建窗口的地方,使用rect函数和canvas,创建要在数组中加载的小位图,但它并不是很清楚.我在谈论那篇文章:削减位图的一部分

我的问题是:如何加速spritesheet切割?

编辑:我正在尝试使用这种方法,但我看不到最终的动画:

    for (int i=0; i<TotalFramesTeapotBG; i++) {
        xStartTeapotBG = (i % framesInRowsTeapotBG) * frameWidthTeapotBG; 
        yStartTeapotBG = (i / framesInRowsTeapotBG) * frameHeightTeapotBG;
        Bitmap bmFrame = Bitmap.createBitmap(frameWidthTeapotBG, frameHeightTeapotBG, Bitmap.Config.ARGB_8888);
        Canvas c = new Canvas(bmFrame); 
        Rect src = new Rect(xStartTeapotBG, yStartTeapotBG, frameWidthTeapotBG, frameHeightTeapotBG); 
        Rect dst = new Rect(0, 0, frameWidthTeapotBG, …
Run Code Online (Sandbox Code Playgroud)

android bitmap sprite-sheet

3
推荐指数
1
解决办法
1万
查看次数

有人可以向我解释一下CCSpriteBatchNodes和spritesheets是如何工作的吗?

我已经建立了一个小的ipad游戏,spritesheets和batchnodes到处都是.但是我不知道它们是如何工作的,何时添加精灵表,何时将sprite添加到spritebatchnode等.

这是我在初始屏幕(主菜单)中所做的:

CCSpriteBatchNode *spriteSheet  = [CCSpriteBatchNode batchNodeWithFile:@"sprites.png"];
screenSize = [CCDirector sharedDirector].winSize;    
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"sprites.plist"];
[self addChild:spriteSheet];
Run Code Online (Sandbox Code Playgroud)

在其他类 - 我总是需要使用相同的批处理节点 - >"sprites.png" - 我打电话

CCSprite *someSprite = [CCSprite spriteWithSpriteFrameName:someSpriteFrameName.png]; 
Run Code Online (Sandbox Code Playgroud)

并将其添加到self.

[self addChild:someSprite]; // I do not understand why I would add my sprite to the batch node instead of self 
Run Code Online (Sandbox Code Playgroud)

所以情况如下:

  • 我有一个名为"sprites.png"的文件,我所有的精灵都在这里.

    1. 每当我更改场景时,我都会创建一个新的批处理节点吗?spriteframecache应该保持不变吗?
    2. 如果我有两个精灵表文件,我将如何处理spriteframecache?
    3. 我何时将子项添加到批处理节点,为什么?

我似乎并没有完全掌握这个概念.我知道为什么使用它.但是如果有人能够以外行的方式再次向我解释一切,我真的很感激,所以我对我所做的事情100%肯定.请尝试解释它是基本的.

  • 非常感谢 - 马丁

iphone objective-c sprite-sheet cocos2d-iphone ipad

3
推荐指数
1
解决办法
2321
查看次数

在Android中使用精灵表动画

我一直在做很多研究,但是我找不到一个关于将spritesheet渲染为动画的明确示例.我有这个精灵表:

在此输入图像描述

我将非常感谢大量有关加载此示例的示例代码

animation android sprite sprite-sheet android-animation

2
推荐指数
1
解决办法
6183
查看次数

精灵表与动画

我正在开发一款Flash游戏,我聘请了一位平面设计师,让它看起来更专业.问题是我不知道是否应该使用timelime动画或精灵表.以下是他的图形示例:www.quickguitartuner.com/monster_reduced.png

我应该如何进行更好的表现?

另外,如果我只是在许多图像中分割精灵表,将它们放在一个数组上并继续使用add/removeChild(),它们在谈论性​​能时是否会正常工作?

flash animation actionscript-3 sprite-sheet

1
推荐指数
1
解决办法
2083
查看次数

裁剪Texture2D Spritesheet

我正在开发一款有spritesheets的游戏,如下所示:

spritesheet的EG

我知道你什么时候spriteBatch.Draw(...)可以绘制图像的某个部分,但是对于我正在做的事情,我需要Texture2D每帧都有一个单独的对象.

我已经完成了谷歌搜索,但我能找到的只是过时的代码:/

UPDATE通过MJP发布的代码这里是非常接近我需要什么......不过,没有一个RenderTarget2D.GetTexture()在XNA 4.0功能.

xna sprite-sheet

1
推荐指数
1
解决办法
2864
查看次数

我如何阅读LWJGL中的精灵表?

我目前使用LWJGL Textures在屏幕上绘制图像.我想从精灵表中读取Textures*.我使用光滑的TextureLoader类来加载纹理.

我绘制一个LWJGL形状并将纹理绑定到它上面.

例如:

我画一个图像:

    Texture texture = ResourceManager.loadTexture("Images/Tests/test.png");

    GL11.glBegin(GL11.GL_QUADS);
    {
      GL11.glTexCoord2f(0, 0);
      GL11.glVertex2f(0, 0);
      GL11.glTexCoord2f(0, texture.getHeight());
      GL11.glVertex2f(0, height);
      GL11.glTexCoord2f(texture.getWidth(), texture.getHeight());
      GL11.glVertex2f(width,height);
      GL11.glTexCoord2f(texture.getWidth(), 0);
      GL11.glVertex2f(width,0);
    }
    GL11.glEnd();
Run Code Online (Sandbox Code Playgroud)

我认为有一种方法在调用glTexCoord2f时,我可以给它一个精灵偏移并在纹理中加载精灵表,

例如,一个调用将是这样的:

      GL11.glTexCoord2f(0+spriteXOffset, texture.getHeight()-spriteYOffset);
Run Code Online (Sandbox Code Playgroud)

但我真的想知道是否有更简单的方法,可能从单个纹理中提取纹理,例如像在这里一样:

从精灵表Java中读取图像

只是代替BufferedImage,Texture对象.

感谢您的帮助!

java textures lwjgl sprite-sheet

1
推荐指数
1
解决办法
5139
查看次数

jQuery - 仅为Y轴更改CSS背景位置

所以,假设我有一个像这样的表:

<table>
    <tr>
        <td class="t"></td>
        <td class="e"></td>
        <td class="s"></td>
        <td class="t"></td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

我有一个spritesheet包含4个相同大小的不同图像.所以我使用简单的CSS background-position为每个表格单元格定位背景.这是我的问题:

是否有任何方法(jQuery或纯CSS - 无关紧要)td background-position在鼠标悬停时仅在Y轴上更改ALL ?

html javascript css jquery sprite-sheet

1
推荐指数
1
解决办法
339
查看次数