问题标签 [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.
sprite-kit - 如何从 plist 文件加载 SKTextureAtlas 纹理
我需要从 plist 文件加载纹理图像以用于 SKTextureAtlas。我已经手动将图像用作框架,即使用纹理运行动作。但现在我已将图像压缩在一个 .png 中,并将它们的数据添加到 .plist 文件中。
如何从此 plist 文件加载纹理?
swift - CUICatalog:无效请求:请求子类型而不指定成语(它来自哪里以及如何修复它?)
当我运行我的 SpriteKit 游戏时,我在控制台中多次收到此错误。据我所知(虽然我不完全确定),游戏本身不受影响,但错误可能还有其他一些影响,以及拥挤的调试控制台。
我对该错误进行了一些研究,并找到了一些可能的解决方案,但似乎都没有完全奏效。这些解决方案包括转向ignoresSiblingOrder
并将false
纹理指定为SKTextureAtlas(named: "atlasName").textureNamed("textureName")
,但这些都不起作用。
我认为错误来自资产目录中纹理和纹理图集的使用,尽管我不完全确定。以下是我如何实现其中一些纹理/图像:
还:
上面的代码只是用来创建一个数组来为角色设置动画,并且动画运行得很好。
对于所有其他精灵节点,我使用SKSpriteNode(imageNamed: "imageName")
资产目录中的图像名称进行初始化,但不在纹理图集中。所有图像都有@1x、@2x 和@3x 版本。
我不确定错误消息是否还有其他可能的来源,或者上面的示例是否是错误的来源。
这只是精灵套件的错误,还是我的代码或资产的合法错误?
谢谢!
swift - Sprite Kit UIActivityIndicator 不会停止动画
我正在尝试预加载显示 UIActivityIndicator 的纹理图集数组。加载纹理后,我想使用 .stopAnimating() 方法停止活动指示器。我插入了断点,发现编译器确实到达了 .stopAnimating() 方法,但什么也没发生……指示器继续……
我在这里做错了什么?
swift - SKTextureAtlas 找不到
我将一个名为“movementAnim”的文件夹拖到 Image assets 文件夹中,该文件夹用于创建纹理图集(来自我从 WWDC 2015 What's New in SpriteKit Session 中挑选的内容)。请看下面的代码:
简单精灵类:
在 GameScene 类的初始化中:
我收到以下日志消息:
但是当我使用以下而不是纹理时,它可以完美地工作:
我已经检查了名称并确保没有重复。我不确定出了什么问题。
ios - SpriteKit:使用 SKTextureAtlas 导致不正确的物理体
我正在构建我的第一个精灵套件游戏,最近阅读了一篇文章,说使用 SKTextureAtlas 来提高性能。
所以我将我所有的精灵图像迁移到有组织.atlas
的文件夹中,并相应地更新了代码。然而,现在我的精灵有奇怪的物理体(主要是过度放大)。
例如,我的播放器精灵具有三种状态:飞行(平面)、向上飞行和向下飞行。这三幅图像非常相似,略有不同(手臂指向平、上、下)。
在迁移到纹理图集之前,物理主体与图像非常吻合。然而,现在它比图像大得多,并且在 y 轴上略微拉伸。
这是我的 player.atlas 文件结构:
播放器-飞行-iphone.atlas:
- player-flying-down@2x.png
- player-flying-down@3x.png
- player-flying-up@2x.png
- player-flying-up@3x.png
- player-flying@2x.png
- player-flying@3x.png
这是我的代码示例: (Player 是一个子类 SKSpriteNode)
sprite-kit - SKTexture 缓存和重用如何在 SpriteKit 中工作?
在 StackOverflow 上经常提到 SpriteKit 做自己的内部缓存和重用。
如果我不努力重用纹理或图集,我可以从 SpriteKit 获得什么缓存和重用行为?
ios - UImage 加载整个 SKTextureAtlas 而不仅仅是 SKTexture
我需要带有“trueName”的纹理才能加载到我的 myImageViewOutlet.image 中。我得到的结果是将整个图集渲染到其中。我的代码如下
swift - Swift:如何处理内存中的大量纹理
我的游戏中有很多角色,因此我有很多纹理。当加载纹理图集(包含大约 5 个不同的图像纹理)时,它会增加内存使用并将其保持在该数量。所以更多的纹理只会不断增加这个数字,直到有时应用程序崩溃。我不需要一次所有的角色,我怎么能在我需要的时候加载一些角色纹理并在我不需要的时候释放其他的,但是我需要能够把它带回来。
ios - “纹理图集不支持模板渲染”SpriteKit 和 Xcode
我正在 SpriteKit 中制作游戏,并且我正在为我的所有纹理使用纹理图集。我正在使用设置
- 比例因子:单向量
Xcode 给了我这个 TextureAtlas 的警告:
纹理图集中不支持模板渲染。
我不确定这意味着什么