什么是你最喜欢的,无损的游戏图像格式(即2d游戏)?为什么?
需要考虑的一些事项是磁盘大小,转换为可用格式的开销以及格式的特征(即alpha支持).
没有最好的答案,但一定要尽力支持你的最佳答案!
我有一个网页,其中包含大约20-50个动态图像(从非静态源提供的图像).这些映像通过基于请求URL的servlet提供.这导致每个图像生成请求,这导致性能衰减.
如果这些图像是静态的,我会创建一个CSS精灵并用一个替换50个请求.因为它们是动态的,所以当然不是那么容易.我正在寻找一个工具/库/方法,我可以使用它来在运行时将这些图像聚合成一个精灵.幸运的是,图像大小是恒定的,对所有人来说都是一样的,这应该会使这更容易.
有什么建议?
使用Sprite排序模式作为FrontToBack或BackToFront的区别和后果是什么?这是因为使用FrontToBack,具有较小图层值的对象将首先绘制,而使用BackToFron,具有较小图层值的对象将最后绘制?
我试图让我的精灵眨眼,但它只是消失了,我搜索谷歌,但我找不到解决方案,继承人我在做什么:
CCBlink * blinker = [CCBlink actionWithDuration: 0.5 blinks: 1];
[player runAction: blinker];
Run Code Online (Sandbox Code Playgroud)
当我的两个精灵发生碰撞时调用此方法,当碰撞发生时,我希望"玩家"精灵闪烁几秒钟.此刻,当精灵碰撞时,"玩家"的精灵变得无形......谢谢
我正在开发一个带有精灵图形的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的机器上开发.
简单的问题,不确定是否有一个简单的答案!!
我能做些什么来加速我的surfaceview绘图?
我正在使用这样的东西:
c.drawBitmap(scaledSprite, X, Y, redPaint);
Run Code Online (Sandbox Code Playgroud)
我正在使用的方法必须在屏幕上绘制大约25个这些精灵,所以我使用for循环,这意味着它必须在一帧中显示25.
现在,这在我测试过的3款手机上运行得非常好,但在平板电脑上,它只是放慢速度.我已经评论了所有其他的绘图方法,只留下了这一个,这绝对是减缓游戏速度的原因.
是否有任何聪明的提示可以让我加快速度?
我知道开放GL是一种可能性,但现在大部分游戏都已编写好,所以如果我能帮助的话,我现在并不想做任何重大改变.
我正在尝试使用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)
我错过了什么?我仔细阅读了文档,这似乎是一个非常简单的过程.我相信我需要的只是那两条线,但它没有任何效果.有谁知道为什么这不起作用?纹理图像有很多透明度,可能导致问题吗?我在不同的精灵上试过这个,它永远不会奏效.
我所要做的就是能够在屏幕上拖放一个精灵.我试过以下代码:
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)
这段代码确实有效,但是,当我快速拖动球时,我猜它会检测到"球"不再包含点"位置"并且球停止,这意味着我再次接球.我希望球能够快速响应我的触球,这样球就不会停止移动.我该怎么做?
我正在一个网站上工作,我正在使用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,我不希望所有这些服务器的请求!
谢谢大家
我有这个精灵旋转算法(它的命名很差,只是用于测试).它是如此接近,用它绘制的精灵旋转.每一帧我都可以加上+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) sprite ×10
android ×2
css ×2
objective-c ×2
sprite-kit ×2
2d ×1
blending ×1
c ×1
c++ ×1
colorize ×1
css-sprites ×1
file-format ×1
frame-rate ×1
html ×1
image ×1
opengl ×1
opengl-es ×1
performance ×1
rotation ×1
sprite-sheet ×1
svg ×1
swift ×1
swift3 ×1
tablet ×1
xna ×1