问题标签 [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.
objective-c - 如何比较 SKSpriteNode 纹理
我正在使用 Sprite Kit 制作游戏。当发生碰撞时,我想检索我的弹丸与之碰撞的 SKSpriteNode 的图像,以根据怪物的图像分配不同的点值。我认为比较 SKSpriteNode 的纹理属性可以工作。我尝试了以下代码,但从未调用过我的 if 语句。有什么建议么?
ios - 播放按钮需要很长时间才能进入 MyScene
当我点击播放按钮时,加载游戏大约需要 5 秒。但是当游戏结束并返回菜单页面时,它会快速加载。我该怎么办?
ios - SKTextureAtlas 过滤最近邻
我有一个SKTextureAtlas
包含 SKTextures 列表,但问题是,每当我从中加载 SKTexture 并声明其上的过滤是 SKTextureFilteringNearest 时,它都会过滤它Linear!
我只有在低于 的 iOS 上才有这个问题7.1
,但在 7.1 上一切正常。
编辑#1
Theis Egeberg 建议:
我很确定 7.1 之前的行为是过滤模式在图集中的所有纹理之间共享。如果您想在 7.0 中使用“最近”,您需要为最近的和线性的一个纹理图。当然,您可以创建一个封装两者的辅助类。”
我该怎么做?
ios - 将 SKTexture 导出到带有 alpha 通道的 UIImage
我希望能够将我的 SKTexture 导出到外部图像文件。我已经能够使用以下代码实现这一点。然而,它有一个严重的缺陷,即即使视图不是不透明的并且所有背景颜色都设置为清除,也会忽略 alpha 通道。
我可以对当前的解决方案进行任何更改以允许导出包含 alpha 值的图像吗?
是否有一些更明显的方法可以将纹理导出到图像?
意图:我正在导出的纹理当前是在 SKShapeNode 的游戏加载时生成的,以解决 SKShapeNode 的缺陷。为了避免纹理生成开销,我想将它们导出为图像,而是直接从纹理图集中加载这些纹理。
ios - 将 SKScene 渲染到 SKTexture?
Sprite Kit 中有没有一种方法可以将屏幕(所有当前SKScene
渲染的节点)捕获到一个SKTexture
,以便我可以应用 CIFilter,然后将 SKTexture 分配回一个新的SKSpriteNode
?
我知道我可以设置一个SKEffectNode
, 作为我的节点树的父级,应用一个过滤器等并以这种方式获得结果,但我真的需要一个过滤 SKTexture
(或SKSpriteNode
)我以后可以重用?
编辑:
可能的解决方案:
是的,有效:
cocoa - SKTexture textureWithImageNamed 使用太多内存
我正在尝试使用 spriteKit 制作一种 360° 可视化工具。在我的场景中,我创建了一个
我正在以这种方式填充它:
例如,我将有一个 4x23 的二维数组;y 轴有 4 步,x 轴有 23 步;上
我在用着
设置正确的纹理以进行可视化;
当我在模拟器上运行它时,它运行良好,但是当我在真实设备上尝试时,当我填充 spriteArray 时,应用程序崩溃并且 xcode 告诉我“由于内存错误而终止”;所以我检查了模拟器中 ram 的使用情况,我意识到这是巨大的...... 1.5gb;我的纹理是 1220x1220 jpg,每个 50kb 左右....所以似乎某处存在某种内存泄漏。
有人可以帮我吗?
谢谢
sprite-kit - 无法从 SpriteKit 中的纹理图集中过滤纹理
我有一个非常烦人的问题...
我有一个基于像素艺术的游戏,所以使用的纹理是 8x8,然后放大到 128x128 或任何需要的。
为此,我需要做的就是说texture.filteringMode = SKTextureFilteringNearest
现在这几乎适用于所有东西——除了纹理图集。从纹理图集中提取纹理会导致纹理拒绝切换过滤模式。需要注意的一点是,它似乎可以从设置纹理图集的标准过程中工作,但是当我的纹理图集是单例时它不起作用。
现在通常,我只是认为我设置错了,但我认为这个问题出在 SpriteKit 上。原因如下:
1)这个bug直到最近才发生,我没有改变任何东西
2) 该错误仅发生在 iOS 7 中,而不发生在 7.1 或 8+ 中
3)问题不在于过滤模式错误-过滤模式设置为0,这是最接近的(我测试过,记录每一帧,模式是正确的-但视觉上不正确)
所以它是一个渲染错误。但这没有任何意义,尤其是当它似乎有点工作时。其他人有任何意见吗?我很感激任何事情,我也会尝试更多的事情。谢谢!
注意-我想强调的是,代码原样在 ios7.1+ 中工作得很好,所以代码以某种形式工作......但它也不是 7.1 的独特功能,因为它曾一度对我有用。
objective-c - SpriteKit 纹理根据精灵 x 轴方向变化
这似乎是一个简单的问题要解决,但我不能。正如标题所暗示的,我需要我的精灵根据它的前进方向(左或右)更改为不同的纹理。这是我尝试做的事情:
两者都不起作用(除非精灵的 x 轴 == 0 -_-)。
我读过这个:SpriteKit:根据方向改变纹理 它没有帮助。
编辑:对不起,我忘了提到精灵的运动在 2D 空间中是完全随机的。我为此使用 arc4random()。当它上升或下降时,我不需要任何纹理变化。但左右是必不可少的。
我一定是写错了:
不适合我。既不是
再次澄清一下这个精灵的运动:它在
方法。这是这样实现的:
}
ios - SpriteKit 有时无法加载 SKTexture
我目前在 SpriteKit 和 SKTexture 预加载方面遇到了一个奇怪的间歇性问题。我有多个图像数组,我以以下格式预加载:
这在 90% 的情况下都可以正常工作,但偶尔会出现以下错误:
SKTexture:加载图像资源时出错:
这不会发生在任何特定的图像集上,只是随机发生。因此,有时播放器会加载正常,而其他播放器则不会。这可能是内存问题吗?我使用 _iCounter 拆分纹理加载,确保在开始下一组图像之前加载前一组图像,以尝试停止过多的并发加载。这加快了进程,但我仍然看到这个间歇性问题。
有没有其他人看到过这个,或者知道什么可能导致这个?
objective-c - 在 SpriteKit 中呈现图像的最佳方式
我已经使用 SpriteKit 一年了,对它非常满意。不管我做什么都是习惯性的,我不一定确定我为什么做一些事情。我的图像都在纹理图集中排序,但似乎有 3 种不同的方式来输出这些精灵。有人可以解释使用objectiveC在SpriteKit中呈现精灵的区别吗?有性能差异吗?其中一种方法是否缓存精灵?或者它甚至有什么不同?
对比
对比