当前位置: 首页 > 面试题库 >

如何在Swift中将SKScene覆盖在SCNScene之上?

凌长恨
2023-03-14
问题内容

互联网上有一些重叠式教程,有时会全部使用 overlaySKScene

这在我的项目中某种程度上是不可能的,因为(我猜)我的视图SCNView在任何时候都没有使用(overlaySKScene的一部分)构造函数

在ViewController的viewDidLoad中,基本上仅创建MainScene:

viewDidLoad() {
self.sceneView = MainScene(view: self.view)) }

…在这里(注意:SCNScene而不是SCNView):

class MainScene: SCNScene, SCNPhysicsContactDelegate {...
init(view:UIView) {
scnView = view as! SCNView
super.init()
scnView.scene = self; (...) }

场景已完美创建,我现在想覆盖一个SKScene。有人知道吗?


问题答案:

SpriteKit叠加层在SceneKit视图上,而不在SceneKit场景上。这有点令人困惑,因为您要在视图上叠加场景。

我看到几个可能的错误源:

self.sceneView = MainScene(view: self.view))

按定义返回SCNScene。您正在将其分配给期望使用的属性SCNView

线

scnView = view as! SCNView

除非view返回正确连接的SCNView实例,否则将崩溃。但是init您编写的定义期望使用UIView

在某个地方,您需要将视图设为SCNView。该视图由于符合protocol
SCNSceneRenderer,因此将具有overlaySKScene属性(overlaySKScene来自该协议,而不来自SCNView)。您可以在其中分配SKScene实例。

如果这样做,那么您的代码将类似于

scnView.scene = self 
scnView.overlaySKScene = theSKScene

我在https://github.com/halmueller/ImmersiveInterfaces/tree/master/Tracking%20OverlaySKScene上有一个覆盖的简单示例SCNView



 类似资料:
  • 问题内容: 我目前在glassfish v2.1中使用基于身份的身份验证来登录用户,并且工作正常。我想切换到该网站,并希望能够获得最初请求的URL(即在重定向到登录页面之前),并在我的程序化登录代码中使用它,以便在身份验证后将用户重定向回请求的页面。 我已经看过源代码-在我的情况下,它是(catalina代码库),它将初始请求保存在会话中的对象中,但是该会话不是,因此没有直接方法可以访问它。 还是

  • 问题内容: 未正确探讨此问题。真正的问题在于。 原始问题中的第一个代码粘贴将产生预期的结果。但是,仍然需要注意。请参阅以下示例: 是 不 一样的 也就是说,不会自动调用与User对象关联的方法。 实际上 ,如果在模型上被覆盖,将生成以下描述。 摘要 这一切对我来说似乎很愚蠢。这似乎是在告诉我在指定类型时实际上并没有在调用。有人可以解释这里的实际情况吗? 任何可以帮助我解决这个问题的精灵都可以回答我

  • 我想重写java中的getProperty()方法。util。物业类别,请告知。 1.Spring上下文文件 2.Java类 3.配置文件 仅供参考:我正在从配置文件中提取批次值,并希望在从中获取值后调用trim()。属性,以避免代码冗余,尝试重写getProperty()方法。 使用:Spring 4.0

  • 问题内容: 我想创建一个具有任意大小的div,然后在该div上显示一些内容。完全按照CSS中下面的div定位和调整叠加层大小的最佳方法是什么? 问题答案: 您可以使用将叠加层放置在div内部,然后在各个方向上将其拉伸,如下所示: CSS 已更新* 您只需要确保您的父div为其添加了属性,并为其设置了更低的属性。 为下面的评论者制作了一个可以在所有浏览器(包括IE7 +)上运行的演示。 从CSS中移

  • 在spring boot中@RequestBody内容到达控制器之前,我如何覆盖它? > 此外,我还搜索了Request estBodyAdviceAdapter。 有几个链接对spring boot不起作用。 如何多次读取request.getInputStream() 如何在Spring引导到达控制器之前修改请求正文 现在,我可以将输入流读入字符串中,进行一些修改并设置回控制器的输入流吗?

  • 问题内容: 我试图覆盖Java中的方法。我有一堂课,基本上有2个数据字段和。现在,我想重写方法,以便可以在2个对象之间进行检查。 我的代码如下 但是当我写它给我错误时,因为方法只能比较并且是。 Solution 我按照建议使用运算符,问题解决了。 问题答案: Output: `run: – Subash Adhikari - VS - K false – Subash Adhikari - VS