问题标签 [spriteview]
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 - 如何旋转 SpriteView?
更新:
SpriteView
旋转将在模拟器中工作,但不能在真实设备上工作(在我的情况下是带有 iOS 14b3 的 iPhone 11)。请参阅@Asperi 评论。¯_(ツ)_/¯
SpriteView
:渲染 SpriteKit 场景的 SwiftUI 视图。
好的。
第一,幸福之路。下面Rectangle
将旋转得很好:
正如预期的那样:
伟大的。
现在,当我尝试对 a 做同样的事情时SpriteView
:
视图不会旋转。
很明显我错过了一些东西。你知道我错过了什么吗?
现在有一件非常好奇的事情......
只需添加这一行:let scene = SKScene()
...视图将简单地停止旋转。
这让我发疯!
Xcode:12.0 测试版 3
iOS:14 测试版 3
swiftui - SKScene 与 SpriteView 中的绑定
我创建了一个 SpriteKit 场景文件和相应的SKScene
对象。该场景对象包括一个@Binding
属性。
当我SpriteView
在我的 SwiftUI 文件中使用时,我不知道如何初始化场景,以便它从 sks 文件加载并分配绑定。
我想要这样的东西:
但这不起作用,因为init(fileNamed:)
它是一个方便的初始化程序,而不是指定的初始化程序。
swift - SKScene touchesBegan 仅在从 SpriteView 呈现时注册第一次触摸
我正在使用 SwiftUI 并尝试从 SKScene 对象实现 touchesBegan 方法,以便在 SpriteView 的左半边触摸创建一个绿色框,在右半边触摸创建一个红色框。这在一定程度上有效,但不能处理多个同时触摸。当不在 SwiftUI SpriteView 中运行时(即由 UIViewController 的 SKView 呈现时),它似乎工作正常。这是我的 GameScene.swift ......
...和我的 ContentView.swift ...
有任何想法吗?
swiftui - SwiftUI SpriteView 问题 - 停止添加节点
我复制了YouTuve 的这个代码示例:如何使用 SpriteView – SwiftUI 集成 SpriteKit或在hackingwithswift.com上的相同教程
,它运行良好。之后我想显示用户点击了多少次(添加了节点)。我使用了@Binding PropertyWrapper,之后应用程序停止正常工作。我无法修复它。
如果要发表评论score += 1
- 一切都会重新开始!
输出:
swiftui - SwiftUI App 再次激活后重置 SKScene
每次我的应用程序进入后台然后再次激活时,SpriteView 总是会重置,并且 SKScene 会回到关卡的开头。我怎样才能阻止这种情况或我做错了什么?
我的代码:
更新:
swiftui - SKScene didMove(查看)莫名其妙运行了两次
我希望有人能告诉我为什么会发生这种情况以及如何解决它。在 SwiftUI ContentView 中,我使用 SpriteView() 来呈现 SKScene。
GameScene中的相关代码如下:
print 语句告诉我 didMove(to view) 被调用了两次,它导致屏幕上出现一个非常短暂的闪烁。否则,一切正常。我调用 SKScene 的方式是否存在明显问题?还是我应该在别处寻找原因?谢谢。
swiftui - 如何在 Swift UI SpriteView 中打开 showPhysics?
我一直在使用 iOS14 中的 SpriteView 并且它工作得很好但是,我注意到使用 SpriteView 会错过一些在使用 UIViewcontroller 时工作正常的碰撞。所以我想打开 showPhysics 来帮助调试。但是,由于 skView 不可用,我很难做到这一点?
谁能帮忙,我一定错过了什么。
干杯
swiftui - SwiftUI + SpriteView = 灰屏
Xcode 13 测试版 2,iOS 15 测试版 2。
以下代码产生一个灰屏:
(SKScene GameScene.didMove(to:)
永远不会被调用)
我不知道如何修复/解决此问题。
有什么想法吗?
(适用于以前的 Xcode / Swift 版本)
class - 从 SwiftUi 视图中通过 SpriteView GameScene 传递/共享类
我正在玩 SpriteView,效果很好。但是我不知道如何与 Spritekit GameScene 共享一个类,这是在我的视图中实例化的。与其他观点分享我的课程就像一种魅力。但是如何从 spritekit 的 GameScene 访问我的 gameCenterManager 类,如何通过该类?我不知道如何做到这一点。我考虑过制作一个全球可访问的课程,但这不是我想要的。
目标是能够从 GameScene 内部发送和接收数据以更新玩家位置等。但是匹配发生在 SwiftUI 视图中,这也是创建类的地方。
gameCenterManger 类是这样创建的;
课程设置如下:
并共享到将创建 SpriteView 的 GameSceneView 视图,如下所示:
最后,在我的 GameSceneView 中,配置了 SpriteView 的 GameScene。
swiftui - SKScene 在使用 SpriteView 时重置
我有一个问题,我知道问题是什么,但我不知道如何解决它。我在我的 SwiftUI 应用程序中使用 SpriteView,但是当视图刷新时,SKScene 也是如此,所以基本上它会重置场景。
我该如何防止这种情况发生?
我尝试将“场景”变量设为静态,但后来我无法使用 scene.gameCenterManager = gameCenterManager。错误“实例成员 'gameCenterManager' 不能用于类型 'GameSceneView'”
我根本不知道如何将它们结合在一起。
下面的代码发生的情况是 SKScene 正确加载,但是当刷新视图(打印出文本或其他任何内容)时,SKScene 会重置。
为了呈现视图,我在 ContentView 中有一个按钮并添加了这个;