问题标签 [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.
ios - 枚举时加载 SKTexutre Crash 发生突变
我在使用以下代码时遇到问题,该代码通过调用 SKTexture 的大小来加载它。代码在调用 size 的行每 100 次运行中大约有 1 次随机崩溃。还有其他一些用于预加载图像的 SKTexture 方法,但它们也会更频繁地导致崩溃!我使用 TextureAtlases 来防止崩溃,我的所有 SKTexure 加载都是通过这种方法发生的。
崩溃报告如下所示:
我发现其他一些线程说这是 SpriteKit 的问题。但我认为必须有一些解决方法。你们有什么感想?
谢谢,
加伦
ios - Spritekit 纹理线描
如何使用SKShapenode
SpriteKit 绘制纹理线?
例如,如何在触摸移动时绘制类似粉笔的纹理线?
下面的方法正确吗?
但它什么也没显示,而且该行是空的。
swift - Swift 1.2 中来自 textureFromNode 的 SKTexture 的 EXC_BAD_ACCESS 错误
我刚刚遇到了一个我无法解决的错误。当我的 SpriteKit 场景加载时,出现 EXC_BAD_ACCESS (code=1, address=0x30) 失败。
在 viewWillAppear(...) 我的游戏视图控制器调用 loadGame(...) 函数:
在我的游戏场景中,加载函数存储传递给它的变量,然后我在后台线程中加载游戏资源:
我在 loadBoard(...) 函数期间收到错误,基本上是:
View 和 charNodeRefLabel 被确认为非零。charNodeRefLabel 是一个简单的 SKLabelNode。另外,我尝试在 scene.load(...) 之前和之后放置 presentScene(...) 调用,但它仍然以相同的方式崩溃。
如果我将 dispatch_async(...) 注释掉,那么它不会崩溃,但 UI 会变得缓慢且无响应,因为它加载了很多。直到我将项目升级到 Swift 1.2 之后,我才遇到这个错误。
更令人费解的是它并不总是发生,有时反而会在线发生 EXC_BAD_ACCESS:
我真的对这个问题感到困惑,有人可以帮助我并让我知道是否有明显的错误吗?过去两天我一直在尝试修复它,但没有任何地方。
如果我可以提供任何额外的信息来帮助,请告诉我。
非常感谢,
AppDelegate 崩溃跟踪:
ios - Swift SKView textureFromNode 出错了
我通过做游戏开始学习swift,遇到了一些问题。
我正在做一个瓷砖游戏。我创建了一块 6x6 的白色瓷砖板,上面有一些孔,在它们上面我创建了可以移动彩色的瓷砖。
- 白色瓷砖是静态的
- 彩色瓷砖是动态的
然后我想,为什么不让背景图块成为一个完整的精灵,我就去做了,但我遇到了问题。
正如您在第二张图片中看到的那样,白色瓷砖和彩色瓷砖与其位置不匹配。他们之间有一点差距。我有一个位置数组,并且瓷砖放置在同一位置,但是当我创建精灵时,它们会移动一点。
搜索和阅读后,我尝试了所有这些但没有帮助:
- 在第一次更新调用后实例化所有内容
- 向 backgroundNodes 添加另一个与屏幕一样大的精灵
- 改变 SKTexture 过滤模式
- 裁剪位置例如:1.2345 -> 1.2
ios - 在 Spritekit 中加载粒子纹理时出错?
我的粒子纹理在 SpriteKit 的粒子系统中正确显示。但是一旦应用程序启动,图像就无法识别:
SKTexture:加载图像资源时出错:“XP.png”
我试图在 Images.xcassets 中添加图像,但粒子系统看不到它。或者直接和粒子效果在同一个文件夹,但是一旦启动应用程序就无法识别图像。
你知道如何解决这个问题吗?
编辑:
这是代码:
谢谢
ios - 预加载 SKTextures/SKTextureAtlas 混淆
我已经阅读了此处有关此主题的所有帖子,但似乎没有一个回答我的问题。
我的问题是 SKTexture/SKTextureAtlas 何时加载到内存中?
根据我的阅读,您需要保持对使用 [SKTexture preloadTextures: withCompletionHandler:] 加载到内存中的任何 SKTexture 或 SKTextureAtlas 的强引用,这样它就不会随 ARC 一起释放,这对我来说很有意义,因为对象会得到当没有人保留它时,在方法结束时释放。我不明白的是,具有强指针的 SKTexture 如何不加载到内存中,这不会使 [SKTexture preloadTextures: withCompletionHandler:] 变得多余和不必要,因为纹理已经加载到内存中。我显然错过了一些东西,所以任何见解都会很棒。
干杯!
ios - 如何从 SKTexture 获取原始图像比例?
我在 Swift 中使用 sprite-kit 并使用该SKTexture(rect:inTexture:)
函数设置纹理。我没有使用内置纹理图集,而是使用SKTexture(imageNamed:)
. 这是因为我的数据文件中已经有图集和子纹理位置(以像素为单位),而不是单独的图像。
因此,当图像为@2x(大小为像素尺寸的一半)时,对象的 是正确的.size()
。SKTexture
我通过除以大小来计算子矩形坐标(在单位坐标中,0-1),但我需要知道原始图像比例,以便我可以将像素尺寸除以它。
这是我运行良好的代码:
问题是我必须在所有这些/ 2
调整中对比例进行硬编码。如何获得纹理的原始图像比例(或实际像素尺寸),以便无需硬编码即可正确计算子矩形?
ios - 将数组扩展限制为特定的数组类型?
在编写扩展时是否可以将扩展Array
限制为特定Array
类型?我想要做的是添加一个Array
仅适用于 Arrays 类型的扩展[SKTexture]
。
我不希望扩展对包含其他类型(即[Int]
, [Double]
,[String]
等)的数组做任何事情
ios - 扩展数组以附加 SKTextures
作为 Swift 的新手,我决定使用一个函数来扩展Array
(或更具体地说[SKTexture]
是 SKTexture 数组),以从应用程序包中添加指定数量的帧。
下面列出了我的第一次尝试,我Cannot invoke 'append' with an argument list of type '(SKTexture!)'
从查看函数fuzzyPush
中得到了错误,因为我试图附加一个SKTexture
而不是通用的T
.
这是可能的,还是我不希望函数是通用的,而是特定于SKTexture
.
我只是好奇这是否是我可以通过扩展来做的事情,这不是问题,因为我将它作为一个接受 3 个参数(imageName、count、arrayToAppend)的函数,所以我可以很容易地使用它。
ios - Swift 语法更新?协议中不允许的类。无法填充 SKTexture
我目前正在编写一个创建 iOS 等距游戏的教程。你可以在这里找到这个。
我刚开始编写 Swift 代码,因为在使用超过 3 个月的教程时出现了很多语法错误,我问自己最近 Swift 是否有一些主要更新。
到目前为止,我自己或 XCode 本身设法解决了这些小问题,但我无法帮助自己解决这个问题:
这是我要设置的协议(与教程中的完全一样),但 XCode 不允许我定义类变量。错误代码如下:
将“类”替换为“静态”(这对我来说没有逻辑意义)和删除协议(并定义应该在不使用协议的情况下继承的类)都会导致此代码中的另一个错误:
此错误出现在我要填充 texturesIso 的所有行中
以下是我的问题:
如何修复第一个错误?是否有一种新方法可以在协议中定义类?
这两个错误是相关联的,还是第二个刚刚出现,因为我设法消除了第一个?
如何以正确的方式填充 SKTexture?texturesIso.append 也不起作用。
我对 Swift 更新是否正确?如果是,是否有对 Swift 的所有突然变化的概述,因为我找不到。
我真的很感谢任何人的帮助,非常感谢提前。