标签: sprite

2d精灵的最喜欢的图像文件格式

什么是你最喜欢的,无损的游戏图像格式(即2d游戏)?为什么?

需要考虑的一些事项是磁盘大小,转换为可用格式的开销以及格式的特征(即alpha支持).

没有最好的答案,但一定要尽力支持你的最佳答案!

file-format 2d image sprite

8
推荐指数
2
解决办法
2万
查看次数

为动态图像生成CSS精灵

我有一个网页,其中包含大约20-50个动态图像(从非静态源提供的图像).这些映像通过基于请求URL的servlet提供.这导致每个图像生成请求,这导致性能衰减.

如果这些图像是静态的,我会创建一个CSS精灵并用一个替换50个请求.因为它们是动态的,所以当然不是那么容易.我正在寻找一个工具/库/方法,我可以使用它来在运行时将这些图像聚合成一个精灵.幸运的是,图像大小是恒定的,对所有人来说都是一样的,这应该会使这更容易.

有什么建议?

html css css-sprites sprite

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

XNA精灵排序模式

使用Sprite排序模式作为FrontToBack或BackToFront的区别和后果是什么?这是因为使用FrontToBack,具有较小图层值的对象将首先绘制,而使用BackToFron,具有较小图层值的对象将最后绘制?

xna sprite

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

cocos2d让一个精灵闪烁,它变得不可见

我试图让我的精灵眨眼,但它只是消失了,我搜索谷歌,但我找不到解决方案,继承人我在做什么:

    CCBlink * blinker = [CCBlink actionWithDuration: 0.5 blinks: 1];  
 [player runAction: blinker];
Run Code Online (Sandbox Code Playgroud)

当我的两个精灵发生碰撞时调用此方法,当碰撞发生时,我希望"玩家"精灵闪烁几秒钟.此刻,当精灵碰撞时,"玩家"的精灵变得无形......谢谢

objective-c sprite cocos2d-iphone

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

如何为OpenGL ES重写2D OpenGL应用程序?

我正在开发一个带有精灵图形的OpenGL 2D游戏.我最近被告知我应该使用OpenGL ES调用,因为它是OpenGL的一个子集,并允许我更轻松地将其移植到移动平台.大多数代码只是调用draw_image函数,它定义如下:

void draw_img(float x, float y, float w, float h, GLuint tex,float r=1,float g=1, float b=1) {
    glColor3f(r,g,b);
    glEnable(GL_TEXTURE_2D);
    glBindTexture(GL_TEXTURE_2D, tex);
    glBegin(GL_QUADS);
        glTexCoord2f(0.0f, 0.0f);
        glVertex2f( x, y);
        glTexCoord2f(1.0f, 0.0f);
        glVertex2f(w+x, y);
        glTexCoord2f(1.0f, 1.0f);
        glVertex2f( w+x, h+y);
        glTexCoord2f(0.0f, 1.0f);
        glVertex2f( x, h+y);
    glEnd();
}
Run Code Online (Sandbox Code Playgroud)

我需要更改什么才能使这个OpenGL ES兼容?另外,我使用固定功能而不是着色器的原因是我在不支持GLSL的机器上开发.

c c++ opengl opengl-es sprite

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

Android:有没有办法加快canvas.drawBitmap的速度?

简单的问题,不确定是否有一个简单的答案!!

我能做些什么来加速我的surfaceview绘图?

我正在使用这样的东西:

c.drawBitmap(scaledSprite, X, Y, redPaint);
Run Code Online (Sandbox Code Playgroud)

我正在使用的方法必须在屏幕上绘制大约25个这些精灵,所以我使用for循环,这意味着它必须在一帧中显示25.

现在,这在我测试过的3款手机上运行得非常好,但在平板电脑上,它只是放慢速度.我已经评论了所有其他的绘图方法,只留下了这一个,这绝对是减缓游戏速度的原因.

是否有任何聪明的提示可以让我加快速度?

我知道开放GL是一种可能性,但现在大部分游戏都已编写好,所以如果我能帮助的话,我现在并不想做任何重大改变.

performance android frame-rate sprite tablet

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

精灵套件精灵没有着色

我正在尝试使用sprite工具包为spriteNode(在本例中为其命名的背景)着色,但无法改变颜色.我有一个我想要着色的精灵.我正在改变精灵的颜色属性以及颜色混合因子.当我运行应用程序时,没有任何反应.颜色保持不变(现在是黑色).下面是我用来改变颜色的代码:

background.anchorPoint = CGPointMake(0, .5);
background.position = position;

// ...

// this does not seems to be doing anything at all
background.color = [SKColor redColor];
background.colorBlendFactor = 1.0f;
Run Code Online (Sandbox Code Playgroud)

我错过了什么?我仔细阅读了文档,这似乎是一个非常简单的过程.我相信我需要的只是那两条线,但它没有任何效果.有谁知道为什么这不起作用?纹理图像有很多透明度,可能导致问题吗?我在不同的精灵上试过这个,它永远不会奏效.

colorize blending objective-c sprite sprite-kit

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

如何在Swift 3.0中拖放精灵?

我所要做的就是能够在屏幕上拖放一个精灵.我试过以下代码:

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
}

override func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?) {
    for touch in (touches ) {
        let location = touch.locationInNode(self)
        if ball.containsPoint(location) {
            ball.position = location    
}
}
}
Run Code Online (Sandbox Code Playgroud)

这段代码确实有效,但是,当我快速拖动球时,我猜它会检测到"球"不再包含点"位置"并且球停止,这意味着我再次接球.我希望球能够快速响应我的触球,这样球就不会停止移动.我该怎么做?

sprite sprite-kit swift swift3

8
推荐指数
3
解决办法
4528
查看次数

Safari中的SVG Fragment Sprite + CSS背景图片

我正在一个网站上工作,我正在使用SVG片段文件,并通过CSS背景图像加载特定的SVG.

我也有一个PNG后备和我使用的是下面作为作为工作基础: https://css-tricks.com/a-complete-guide-to-svg-fallbacks/#fallback-svg-css-background -图片

.ico-arrow-right {
  background: url(ico-arrow-right.png);
  background: url(sprite-collection.svg#arrowright),
    linear-gradient(transparent, transparent);
}
Run Code Online (Sandbox Code Playgroud)

问题是,它似乎在大多数浏览器上运行良好,但在桌面和IOS浏览器的Safari中,SVG不会出现,只显示一个空格.考虑到这一点,似乎设备上的Safari/webkit,在使用CSS背景图像时不喜欢SVG片段精灵.

有没有解决方案/解决这个问题?我还是想用CSS背景图像中的PNG/SVG拉,不希望恢复使用单独的SVG文件,有超过60个svgs,我不希望所有这些服务器的请求!

谢谢大家

css svg sprite sprite-sheet

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

使用Canvas.DrawBitmap在Android中进行Sprite旋转.我很接近,我做错了什么?

我有这个精灵旋转算法(它的命名很差,只是用于测试).它是如此接近,用它绘制的精灵旋转.每一帧我都可以加上+5度,看到我漂亮的小精灵旋转.问题是,画布上绘制的其他东西现在都在闪烁.如果我不进行旋转,则常规绘制的精灵效果很好.我想我很接近,但我不知道我错过了什么.下面是我的两个"Draw_Sprite"方法,一个只是将先前资源加载的位图绘制到传入的画布.另一个,做一些旋转最好我知道如何旋转精灵这么多x度...然后绘制它.如果我有一个很好的游戏循环来绘制几个对象,一种类型是旋转的类型.然后非旋转的精灵闪烁,但旋转的精灵永远不会闪烁.

    /*************************************************
 * rotated sprite, ignore the whatever, its for ease of use and testing to have this argument list
 * @param c canvas to draw on.
 * @param whatever ignore 
 * @param rot degrees to rotate
 * @return
 */
public int Draw_Sprite(Canvas c, int whatever, int rot) {   
    //rotating sprite
    Rect src = new Rect(0, 0, width, height);
    Rect dst = new Rect(x, y, x + width, y + height);
    Matrix orig = c.getMatrix();        
    mMatrix = orig;
    orig.setTranslate(0, 0); …
Run Code Online (Sandbox Code Playgroud)

android rotation sprite

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