问题标签 [skcameranode]
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 - Swift:在相机边界外包装/循环/重复节点?
我正在制作一款带有相机设置的游戏,可以与 Agar.io 中的相机设置进行比较。它可以向上、向下、向左和向右。但是,在 Agar.io 中,您仅限于地图的空间。如果您遇到地图的一侧,那么您必须返回。
但是,在我的游戏中,我希望相机“包裹”到地图的另一侧。
我找不到任何例子,所以我自己做了:
令人惊讶的是,由于我糟糕的数学技能,这实际上似乎有效。
但是,这样做有两个问题。
首先是我根本不相信自己,我觉得我一定在某个地方犯了错误。
第二个是循环遍历场景中的所有节点需要相当长的时间,所以我希望有更快的方法,但我找不到。所以,我想知道是否有人知道更快的方法来做到这一点。
任何想法,将不胜感激!
swift - SKCamera 的视差效果
我正在制作一个 2D 平台游戏(如马里奥)。我用 2 个按钮(左右)左右移动 SKCamera。'Mario-spite' 的 x 和 y 坐标与 SKCamera 的 x 和 y 坐标相同。我用 2 px 移动了 SKCamera 和“Mario-spite”。如何在按下左键或-右键时制作视差效果(具有 2 个或更多背景层/节点)。我正在使用 SKTilemaps。Stackoverflow 上的答案不是我想要的。
ios - 跟随玩家时SpriteKit相机口吃
我在游戏中遇到了这种延迟或卡顿,我认为这可能是由于我让相机跟随我的玩家的方式。
这是代码:
上述函数是 SKCameraNode 的扩展,我基本上从场景更新函数中调用它。
它运行得很好,尽管有人提到口吃可能是由于重叠的动作,因为它在每一帧都被调用。我使用这种方法是因为持续时间允许相机更自然地跟随,而不是僵硬。
我正在寻找替代方案来消除这种 SKAction 重叠。
我曾尝试在运行新操作之前添加一个 removeallActions() 调用,但它必须发生得很快,因为相机根本不移动。另外,我尝试在动作中添加一个键并在下一个开始之前按键删除,但与 removeallActions() 相同,相机不会移动。
我还尝试了以下方法:
这会停止重叠,但在一个动作结束和另一个结束之间会有轻微的延迟,这会导致不断出现难看的口吃。
我有一个想法尝试使用具有跟随行为的 SKAgents,但我不完全确定这将如何完成,或者它是否会很好。任何建议或解决方案将不胜感激。
swift - 为什么我的相机子节点没有出现?
我有一个跟随玩家的相机节点,但是当玩家移动时,我的 hud 会移出屏幕。在做了一些研究之后,我发现如果我让它们成为相机的孩子,它们就不会移动,但是我实现了以下代码,我的 hud 完全消失了。我尝试将 zPosition 和尺寸设置得非常大,这样如果它们在那里我就不会错过它们。但即便如此,它们仍然不可见。
此外,当我有 self.addChild(dpadButton) 8 个节点出现在右下角但是当我有 cam.addChild(dpadButton) 时只有 7 个出现。
swift - 捏手势不适用于 SKCameraNode
我正在使用带有 SKTileMapNode 和 SKCameraNode 的 SpriteKit 使用 Swift 4。我希望能够使用相机在瓦片地图节点上平移/捏合/缩放。我的平移效果很好,但在捏/缩放方面遇到了一些问题。
虽然我可以工作。每次发生另一次捏合时,它都会重置大小。因此,例如,我将其缩小,然后再次捏合,一旦我触摸屏幕,它的大小就会跳起来。它确实让我再次捏以放大/缩小,但不是基于我在之前捏的大小。我想我可能需要存储调整大小并使用它,但不确定如何。
我的捏缩放是相反的。当我捏放大时,它会缩小,反之亦然。
当我达到最小/最大比例限制时,它会停止走得更远,但在达到限制时会结结巴巴。
这是我处理夹点的函数:
如果您有任何建议,请告诉我,因为我环顾四周,但找不到人们使用 SKCameraNode 的示例。我发现的示例要么我无法尝试从视图转换为相机,要么它们没有给出一个捏的例子。任何帮助将不胜感激!
swift - 相机不会跟随精灵
我正在尝试在 swift SpriteKit(更具体地说是 RPG)上制作游戏。我在让相机跟随我的角色时遇到问题。到目前为止,所发生的只是相机出现在屏幕外,你甚至看不到角色。谢谢!
ios - 通过 SKConstraint 使用 LERP 移动 SKCameraNode
我只是想知道是否有一种方法可以在我的 SKCameraNode 通过使用 SKConstraints 跟随我的播放器节点时在我的 SKCameraNode 上实现线性插值效果。我目前使用的约束与 Apple 的 Demo Bots 教程中使用的约束相同。另一种选择似乎是使用动作来延迟/时间重新定位我的相机,或者直接在更新方法中延迟更改位置。摄像机滚动看起来有点生涩,而与玩家的距离限制设置为常数 0.0,就像在 Demo Bots 中一样。请让我知道您的想法,感谢所有反馈。
ios - 与相机一起快速移动按钮
我正在开发一个游戏,当按下按钮时我的玩家会移动,所以我制作了相机的按钮子项。但是,当我的相机移动时,按钮会出现在应有的位置,但是当我再次按下时,没有任何反应。这是一些关于相机和按钮的代码。
正如你所看到的,我有很多打印来检查左按钮的位置。开始时 y 位置为 -577。相机移动后,按钮出现在它应该在 -450 的位置。但不能按它,因为它的位置仍然在-577。我还尝试通过将位置转换为相机来更新其位置,但没有奏效。如果有人可以提供帮助,我将不胜感激。
swift - 如何识别 SKCamera 视图中的特定节点?
我正在尝试回收相同的内容SKSpriteNode
以制作连续的背景。我创建SKSpriteNode
为bg0
, bg1
,bg2
并在呈现场景时正确定位它们。不知何故,下面的代码只重新定位bg0
一次。
cam
是SKCameraNode
,因此,我正在检查相机是否包含背景节点。由于它们的大小,它们中的一个总是不应该在相机视口中可见。但是,就像我说的那样,这只适用于一次,当相机显示回收时bg0
无法识别它。
先感谢您。
PS:我也试过cam.intersects(bg0)
了,结果一样。