问题标签 [sktextureatlas]
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 - 我的动画 SKSprite 节点图集在 touchBegan 期间不会改变
我创建了一个带有动画纹理图集的精灵。然后,我希望该动画根据精灵前进的方向而改变。我尝试使用“self.player!.texture = firstFrametexture(ofatlas)”来做到这一点
这是我构建播放器的地方(放在 didMove 中,但动画无需移动即可开始?)
这是我为播放器设置动画的地方
这是我尝试更改动画的地方。一切正常,if 语句正确执行。只是没有任何改变
override func touchesBegan(_ touches: Set, with event: UIEvent?) { super.touchesBegan(touches, with: event)
swift - SKTextureAtlas:检索到的纹理与原始纹理相比表现不同
我有很多问题,SKTextureAtlas
我想知道是否值得坚持。它似乎在模拟器上坏了,但我在设备上也遇到了问题。
我的目标是能够生成 - 并保存到设备以在下次启动时检索 - 具有程序生成图像的自定义纹理图集。
我的“保存图集”函数遍历纹理,检索它们,并尝试将它们保存为 png 文件。它适用于原始纹理,但只是使用检索到的纹理保存空白图像。我不知道为什么会这样。下面的代码说明了如果你把它放在一个点SKScene
:
这在模拟器上根本不起作用(我不得不接受这是一个cgImage
错误),但在设备上它会显示扭曲的纹理。let pngData...
如果您将该行换成注释掉的版本,您可以看到它是如何工作的。
我能用SKTextures
从地图集回来的东西做些什么来让他们“表现”吗?
ios - 应用程序的第二个精灵图集“找不到”
我有一个使用精灵图集(扩展名.spriteatlas
)的 SpriteKit 游戏。它位于我的Assets.xcassets
. 这个精灵图集工作得很好。我像这样加载地图集:
现在,我正在尝试添加第二个精灵图集,但 Xcode 说“找不到纹理图集‘SecondAtlas’”。
我已经尝试以多种方式创建/添加第二个...在我的桌面上创建它,然后将它拖到 Xcode 中;.xcassets
在我的桌面上创建它,然后通过 Finder 窗口将其拖入;复制/粘贴现有的、工作的、精灵图集,然后重命名它;等等
我已经检查并重新检查了我正在尝试使用正确的文件夹名称加载精灵图集。我是。
我还尝试了以下方法:
- 退出 Xcode
- 重新打开 Xcode
- 打开我的项目
- 清理构建文件夹
- 构建/运行
不管我做什么,精灵图集都找不到,尽管它就在我面前……它出现在 Xcode 中,并出现在 Finder 中。我没主意了。
谢谢您的帮助!
ios - 'textureNamed(_:)':在需要时使用或提前存储在属性中?
我有一个 SpriteKit 游戏,它使用SKTextureAtlas
.
要访问单个纹理,我使用textureNamed(_:)
.
现在,我可以通过两种方式做到这一点:
- 当我需要纹理时,我可以使用
textureNamed(_:)
right ,如以下代码所示。在这个假设的场景中,敌人会在场景已经呈现后的某个时间点攻击玩家。因此,textureNamed(_:)
是即时调用而不是提前调用。
- 我可以在首次呈现场景时(甚至在应用程序启动时)提前将纹理存储在属性中。在这种情况下,
makeEnemyAttack()
只需引用此属性。
问题:textureNamed(_:)
动态使用而不是提前存储结果对性能/内存有什么影响?这两种策略中哪一种是正确的,为什么?
swift - 可以在 spritekit 中反向播放纹理图集吗?
我有几个纹理图集,我需要在某些情况下正常播放,然后在不同情况下反向播放。这些图集不循环。他们玩过一次就停下来。我宁愿不必创建额外的纹理图集来反向播放这些动画。
蒂亚!