问题标签 [skview]

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.

0 投票
1 回答
2283 浏览

ios - 未调用 UIScrollViewDelegate 函数

当我拖动它时,我的视图似乎在滚动(侧栏出现并四处移动),但我的委托功能不会触发。 问题:为什么不调用协议函数中的 println?作为背景,我正在尝试用 Swift 重写https://github.com/bobmoff/ScrollKit,这就是 UIView 与 SKView 等混合的原因。

我的日志输出是:

852.0
480.0
完成 viewDidLoad

代码是:

0 投票
2 回答
4958 浏览

swift - 如何以编程方式截屏(Swift、SpriteKit)

我尝试了建议的内容,但输出是白色的空白屏幕截图。这使我假设我没有在视图中添加任何内容。这是我如何将图形添加到我的视图中。addChild 方法随 SpriteKit 一起提供,它接受 SKSpriteNodes:

这是截取屏幕截图的方法:

任何的意见都将会有帮助

0 投票
0 回答
170 浏览

ios - 场景未解除分配

我正在创建一个 SpriteKit 游戏,但遇到了很多麻烦。第一个屏幕是一个菜单,当您单击播放按钮时,使用代码将玩家放入游戏本身:

(PlayScene 是玩家玩游戏的场景)这个过渡效果很好。玩家能够很好地玩游戏。接下来,当玩家输掉游戏时,我使用以下代码进入游戏结束场景:

(OverScene 是游戏结束的场景) 然后,玩家有两个选择,重试,或者返回菜单场景。这使用以下代码:

返回菜单或重新尝试游戏时会出现问题。返回菜单时,我看到一个空白屏幕,这意味着按钮已动画化,因此它正在显示初始菜单场景,而不是释放旧的,并像我想要的那样创建一个新的。重试游戏时也会发生同样的事情,它会带回旧场景,而不是释放它并创建一个新场景。我查看了整个互联网,但没有找到解决此问题的方法。帮助将不胜感激。

谢谢。

0 投票
0 回答
57 浏览

ios - 场景需要 3-4 秒才能呈现。SKScene SKView

在主菜单场景中,按下播放键会立即带您进入游戏。然而,从游戏回到主菜单场景,从用户按下退出按钮的那一刻起大约需要 3 到 4 秒。这有什么原因吗?主菜单屏幕只有 3 个 SKSpriteNodes,所以没什么太复杂的。

这是我需要使用后台线程来解决的问题吗?

我正在呈现这样的场景:

0 投票
1 回答
132 浏览

objective-c - SKView 不显示?

编译器没有给出任何错误,但出现的屏幕有些空白,即使以下代码行也不影响它:

我试图将我的代码与视图控制器和场景文件的其他模板代码进行比较,但没有成功找到问题所在。我正在使用 Xcode 6。下面是代码:1)场景文件

2) 查看控制器文件

0 投票
1 回答
244 浏览

ios - SKView 暂停自动恢复

我正在快速设计一个 SpriteKit 游戏,在我的游戏 SKScene 中,当我想暂停游戏时,我有一个方法被调用。它看起来像这样:

游戏完美暂停,但在看似任意的时间(1 秒到 120 秒)之后,游戏只是取消暂停/恢复游戏,而无需调用我的 resume() 方法。我知道精灵套件会在应用程序激活时自动恢复游戏,但我在 applicationDidBecomeActive 中设置了一个断点,它没有被调用。有谁知道为什么会这样?

我知道我可以设置自己的 paused 属性并在每个更新循环中检查它,但如果我能让它工作,我更喜欢这个优雅的解决方案!

0 投票
1 回答
97 浏览

xcode - 玩家跳跃时:场景向下移动,玩家停留在类似涂鸦跳跃的地方

我正在开发像涂鸦跳跃这样的游戏。

但是当玩家跳到屏幕上方时,玩家应该停留在屏幕边缘,而物体会向下移动,所以看起来玩家仍在向上移动。

但是我该怎么做呢?

这是我尝试过的:

但这给出了错误:后缀的操作数!应该有可选类型,类型是 CGFloat。

0 投票
2 回答
6594 浏览

swift - Swift SpriteKit 获得可见的帧大小

我一直在尝试使用 Swift 创建一个简单的 SpriteKit 应用程序。目的是让一个红球在点击时重新定位在屏幕上。但是变量 self.frame.width 和 self.frame.height 不返回可见屏幕的边界。相反,它们返回整个屏幕的边界。因为我随机选择球的位置,所以我需要可见的边界。经过数小时的研究后找不到答案。我怎样才能做到这一点?

框架落球

0 投票
1 回答
877 浏览

ios - Swift SKView textureFromNode 出错了

我通过做游戏开始学习swift,遇到了一些问题。
我正在做一个瓷砖游戏。我创建了一块 6x6 的白色瓷砖板,上面有一些孔,在它们上面我创建了可以移动彩色的瓷砖。

  • 白色瓷砖是静态的
  • 彩色瓷砖是动态的

然后我想,为什么不让背景图块成为一个完整的精灵,我就去做了,但我遇到了问题。

正如您在第二张图片中看到的那样,白色瓷砖和彩色瓷砖与其位置不匹配。他们之间有一点差距。我有一个位置数组,并且瓷砖放置在同一位置,但是当我创建精灵时,它们会移动一点。

搜索和阅读后,我尝试了所有这些但没有帮助:

  • 在第一次更新调用后实例化所有内容
  • 向 backgroundNodes 添加另一个与屏幕一样大的精灵
  • 改变 SKTexture 过滤模式
  • 裁剪位置例如:1.2345 -> 1.2
0 投票
1 回答
693 浏览

ios - 如何从另一个 .swift 文件添加精灵?

我有一个项目我已经做了一段时间了。我正在使用 Sprite-Kit,但现在希望能够从不同于 GameScene.swift 文件的 swift 文件中添加子节点。

加载 GameScene 的视图控制器的一些主要代码如下所示:

通常我使用“self.addChild”在 GameScene.swift 文件中添加精灵。这不适用于另一个 .swift 文件,所以我尝试了:

我试过了:

这些执行没有错误,但屏幕上没有显示任何内容。当我尝试以其他方式使用相同的精灵代码并将其放入 GameScene.swift 文件并使用“self.addChild”时,它会绘制它,因此精灵代码(未显示)看起来很好(位置、zPosition 等)。我还将“flyingCell”设为全局变量,看看是否有帮助……不。有任何想法吗?