- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
好吧,这个让我对着墙尖叫......所以请耐心等待。
我开始使用 Xcode 中的 SpriteKit 模板编写一个简单的游戏。
我将两个 PNG 添加到名为 Stage01.atlas
的文件夹中,并将其拖到项目中。不记得我是否选择了哪个选项,因为它在项目导航器中显示为蓝色文件夹图标(可能是因为它有扩展名?)。
接下来,我使用实例化了几个 Sprite
[[SKSpriteNode alloc] initWithImageNamed:@"My_Image_Name_Without_The_@2x_Or_Extension"];
起初,它没有用,因为我忘记在build设置中启用纹理图集。然后,它就像一个魅力,但是......
接下来,我向图集中添加了第三个 PNG 以显示一种新的 Sprite 。
新 Sprite 无处可寻。
我尝试全新安装:从设备中删除应用程序,清理,构建。
现在所有的 Sprite 都被渲染成一个白色的四边形,有一个后边框,里面有一个大的红色“X”。我还收到如下控制台消息:
SKTexture: Error loading image resource: "My_Image_Name_Without_The_@2x_Or_Extension"
我尝试删除 .atlas 文件夹并重新添加它,作为“为任何添加的文件夹创建组” 和“为任何添加的文件夹创建文件夹引用” (这可能导致将资源放置在子文件夹中而不是包根目录中,因此它通常对 UIImage 等很重要),无济于事。
我用这个替换了 Sprite 创建代码:
SKTexture* texture = [SKTexture textureWithImageNamed:name];
SKSpriteNode* body = [[SKSpriteNode alloc] initWithTexture:texture];
...并放置断点以查看纹理是否为nil
。 不是。
那么,是什么给了?
旁注:与模板捆绑在一起的“宇宙飞船”纹理渲染良好。
旁注 2:有人创建了标签“spritekit”(因此不允许我使用它“因为它已经存在”但它没有作为建议出现)。
最佳答案
要使用纹理图集纹理,首先需要加载纹理图集:
SKTextureAtlas* atlas = [SKTextureAtlas atlasNamed:@"Stage01"];
然后你可以从它的纹理创建 Sprite :
SKTexture* texture = [atlas textureNamed:@"My_Image_..."];
SKSpriteNode* body = [SKSpriteNode spriteNodeWithTexture:texture];
最初这可行的事实可能是因为图像是在没有生成 .atlas 的情况下添加的,即使您随后从项目中删除图像,它们仍将保留在已部署的应用程序包中,因为 Xcode 不会从中删除资源一个应用程序包。所以 Sprite Kit 最初使用的是非图集图像,而不是它找不到这些图像,它不会自动在纹理图集中寻找它们,也不会自动加载图集。
关于ios - Sprite Kit 纹理表现有趣,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19862828/
文档:https://www.xfyun.cn/doc/spark/PPTGeneration.html 价格方面提供了免费1000点的额度,生成一次是10点,正好10
我有一个工具按钮和一个分配给它的操作。但该操作没有点击事件,也没有点击代码。因此该按钮被禁用,如何将其更改为启用? 谢谢! 最佳答案 当某个操作没有 OnExecute 处理程序时,该操作始终处于禁用
我有一个 C 程序,它初始化两个结构并尝试打印它们的值。请参阅下面的代码。 #include #include typedef struct node{ int data; struc
我在回答 this question当我想到这个例子时: #include void func(int i); void func(); int main (){ func(); r
这些bug可能够你喝一壶的。 1、被断言(assert)包含的代码 常发生在切换到release版本时,执行结果乖乖的,最终查找结果是assert括号里的代码在release下是不执行的。
我正在谈论一个独立的对象,稍后我想使用 saveOrUpdate() 进行更新。 我们如何同时设置 null 和clear()引用的集合? A[1:1]B[1:M]C B 到 C 的引用可以为空,这意
我最近完成了 Marjin Haverbeke 的书“Eloquent Javascript, Second Edition”中的一项挑战。 One had to create此控制台输出使用 for
我写了一个 HtmlHelper 表达式,我花了很多时间将标题标签放入我的下拉列表中,如下所示: public static HtmlString SelectFor( thi
你知道有哪些开放的软件项目有特别有趣/写得很好的单元测试吗? 编写单元测试对我来说通常感觉很奇怪,因为它似乎太随机、太密集、太稀疏,……阅读一些现实世界的例子(而不是书籍、图书馆示例代码等)会很棒。
我有一个我目前正在使用的 Silverlight 应用程序,它为其 MVVM 框架实现了 Caliburn.Micro。一切正常,但我注意到一些绑定(bind)中的一些有趣之处。我拥有的是处理应用程序
我通过 swscale 运行 png 图像数据以获取 YUV420P 数据,然后使用 MSMPEG4V1 编解码器对该帧进行编码,从而在 iPhone 上对一些视频进行编码。在 api 文档中,avc
我写了一个页面,发现 addEventListener("loadedmetadata",fun) 在 firefox 上运行不正确 我正在尝试修复一个旧软件的错误。在加载视频和页面时,该软件尝试在页
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我是一名优秀的程序员,十分优秀!