问题标签 [sktexture]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
991 浏览

macos - Sprite Kit OS X:SKTexture 大小属性不正确

我在 OS X 版本的 Sprite Kit 上测试一个游戏,发现一些纹理错误地报告了它们的大小。我想知道是否有其他人看到这个问题以及是否有解释?

只是为了在我将此报告为错误之前排除任何其他问题。如果这是一个已知的错误,请说出来。

我正在加载这个纹理,它的大小是 256x256 像素:

在此处输入图像描述

当我记录从此图像创建的 SKTexture 时,SKTexture 描述给了我正确的大小,但size属性没有,它说图像是 204.8 x 204.8。

我在 iOS 模拟器和设备上使用相同的代码加载完全相同的纹理 - 大小属性始终正确:256x256。

我还尝试在其他任何操作之前加载此纹理,以避免任何可能的副作用。纹理大小仍然是错误的。

值得注意的是,并非所有纹理都会发生这种情况,但我加载的所有 256x256 纹理都会发生这种情况。128x256 纹理正确报告其大小。

我还做了一个干净的构建,我正在使用 Xcode 5.0.1 (5A2053) 在 Mavericks (13A603) 上进行测试。

0 投票
4 回答
5478 浏览

objective-c - 来自 SKTexture 的 UIImage

如何UIImage获得SKTexture

我试图从中获取UIImageSKTextureAtlas但它似乎也不起作用:

image是零。

0 投票
1 回答
710 浏览

ios7 - 如何在 iOS7 SpriteKit 中为不同大小的图像设置动画?

我正在使用流动代码为我的精灵节点设置动画。

动画效果很好,只是一张图像看起来更大且模糊。我有 4 张图片,其大小如下:

最后一个的大小与其他三个不同。动画运行时,最后一张图片会放大。精灵的最后一帧看起来会比其他帧大。你能告诉我如何解决这个问题吗?

非常感谢。

杰克

0 投票
1 回答
2514 浏览

objective-c - SKSpriteNode 多个纹理

SKSpriteNode 由多个图像组成的最佳方法是什么?

我发现它[SKTexture textureWithImage:image];不使用 scale 属性(当我将它与自定义位图组装图像一起使用时,我有一个小的SKSpriteNode)。

也许我可以在倍数之间创建一个链接,SKSpriteNode但我不确定这对于碰撞检测是否是一个好主意。

编辑:

适合我的解决方案。
此代码采用 3 个纹理,将它们绘制在GraphicsContext创建UIImage.
然后我把它添加UIImage到我SKNode现在有多个纹理的地方。但是,在我的情况下指定size 属性非常重要。如果不这样做,节点将使用错误的比例因子,并且您将拥有小纹理(非视网膜)。SKNode [self setSize:CGSizeMake(WIDTH_HERO, HEIGHT_HERO)];

0 投票
3 回答
2972 浏览

ios - SKTexture get image name

Is there possible to get current image name from SKTexture from SKSpriteNode?

I am a new in SpriteKit and I'm writing a little game. I need to detect when ninja will hit enemy. Something like this

enter image description hereenter image description here

I am doing SKAction like

But hit is going only on images Ninja_hit_2.png or Ninja_hit_3.png.

So I need to detect current texture image name when i am doing intersectsNode ninja with enemy.

Now I am doing something like

where

I know that is not correct, but I can't find how to take current texture name or doing it correctly. Could you help me?

0 投票
4 回答
1613 浏览

ios - 如何在应用程序中使用像素艺术?

我有一个使用精灵套件的 iOS 应用程序,我准备添加我的作品。艺术品是像素艺术,本质上非常小。我正在尝试找到以以下方式显示此内容的最佳方式:

  1. 所有艺术作品的大小都相同,这意味着一个图像像素与所有其他图像一样占据了真实世界像素的数量。

  2. 没有试图使纹理看起来更平滑的模糊,这在放大图像时经常发生。

我试过像这样解决第二个问题:

上面的代码是在 SKSpriteNode 的初始化中,它将具有纹理。

这是我的原始图像(放大以方便参考):

问题是我的结果总是这样:

它模糊!!!!

(被偏移的树干底部不是这个问题的一部分。)我没有使用任何运动模糊或类似的东西。我不确定为什么它不能正确显示。

编辑 1: 我没有在上面提到截屏时树木一直在动画。当它们静止时,它们看起来像这样:

上图是两棵树重叠,其中一棵因稍后修复的错误而翻转。我现在的问题是如何防止图像在动画发生时模糊?

编辑2:

我正在添加树的多个实例,每个实例都加载相同的纹理。我知道这与动画无关,因为我更改了代码以仅添加一棵树并对其进行动画处理,并且它被完美地像素化了。

0 投票
1 回答
1419 浏览

ios - UIImage 中的 SKTexture 看起来不同

我正在玩 SpriteKit,我正在从 UIImage 创建一个 SKTexture,然后使用 SKSpriteNode 将孩子添加到我的 SKScene(作为背景),一切正常,除了 UIImage 看起来与原始图像非常不同,我尝试在 Photoshop 中重新创建图像,但问题仍然存在,在模拟器和真实设备上测试,不同的图像颜色,没有变化。

图片格式为PNG,我在Xcode 5中通过Images.xcassets添加

图像,结果:

在此处输入图像描述

不同的图像,结果:

在此处输入图像描述

我在我的 SKScene 子类中使用以下代码:

我做错了什么?

任何帮助,将不胜感激。:)

0 投票
1 回答
2736 浏览

ios - Set size for SKTexture

How do I set a size for a SKTexture Ive gone through the documentation Class Reference I don't see anything about being able to set the size. I know the size method is a return method but just to make it clear what I'm trying to do its in my code below.

Another solution?: Maybe I could add actions in sequence where after the 5 second countdown I can change the size of the spriteNode instead when it reaches the last animation image. But if I were to do it this way how do I change the size of the image from the centre origin of where the bomb is?

0 投票
1 回答
1915 浏览

ios - SKTexture 预加载

当您使用 spritekit preloadTextures 函数预加载纹理时,它会将提供的数组中的所有纹理一次加载到内存中。

如果你没有能力在你的游戏中使用“加载屏幕”来分割你的关卡,但确实有不同的图像文件的单独关卡,你怎么能避免在不牺牲帧的情况下一次将所有图像存储在内存中spritekit 在需要时加载图像的速率?

0 投票
1 回答
1779 浏览

ios - 尝试使用 textureWithRect inTexture 仅使用 SKTexture 的一部分

我正在做的是基于完整图像创建一个 SKTexture

我想使用fullTexture的全宽,但只使用纹理的一部分高度,BUT,从全图的顶部开始。

在弄清楚宽度似乎是百分比后,我使用了以下代码:

有人可以给我正确的 CGRectMake 到 CROP 的浮点值,从左上角开始,完整的 witdt 和 Y 的一部分(固定数量的点/像素)?

或者另一种实现我想要做的事情的方法?

谢谢

用我需要的可见示例更新了问题:

在此处输入图像描述