问题标签 [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.

0 投票
1 回答
73 浏览

ios - Swift:在相机边界外包装/循环/重复节点?

我正在制作一款带有相机设置的游戏,可以与 Agar.io 中的相机设置进行比较。它可以向上、向下、向左和向右。但是,在 Agar.io 中,您仅限于地图的空间。如果您遇到地图的一侧,那么您必须返回。

但是,在我的游戏中,我希望相机“包裹”到地图的另一侧。

我找不到任何例子,所以我自己做了:

令人惊讶的是,由于我糟糕的数学技能,这实际上似乎有效。

但是,这样做有两个问题。

首先是我根本不相信自己,我觉得我一定在某个地方犯了错误。

第二个是循环遍历场景中的所有节点需要相当长的时间,所以我希望有更快的方法,但我找不到。所以,我想知道是否有人知道更快的方法来做到这一点。

任何想法,将不胜感激!

0 投票
0 回答
84 浏览

swift - SKCamera 的视差效果

我正在制作一个 2D 平台游戏(如马里奥)。我用 2 个按钮(左右)左右移动 SKCamera。'Mario-spite' 的 x 和 y 坐标与 SKCamera 的 x 和 y 坐标相同。我用 2 px 移动了 SKCamera 和“Mario-spite”。如何在按下左键或-右键时制作视差效果(具有 2 个或更多背景层/节点)。我正在使用 SKTilemaps。Stackoverflow 上的答案不是我想要的。

0 投票
1 回答
23 浏览

swift - 由于 SKCameraNode 切换场景时移动横幅广告

所以,在我的项目中,我有一个没有 SKCameraNode 的主菜单屏幕。横幅广告工作得很好,在我点击播放按钮之前它们什么都没有发生。我正在使用 StartApp 广告。这是我的主菜单屏幕:横幅广告主菜单

当我切换场景时,SKCameraNode 会混淆横幅广告的位置并移动它。因此,在所有其他场景中,我去的横幅广告位置都不正确。我怎样才能解决这个问题?

这是游戏场景的图像:在此处输入图像描述

0 投票
1 回答
221 浏览

ios - 跟随玩家时SpriteKit相机口吃

我在游戏中遇到了这种延迟或卡顿,我认为这可能是由于我让相机跟随我的玩家的方式。

这是代码:

上述函数是 SKCameraNode 的扩展,我基本上从场景更新函数中调用它。

它运行得很好,尽管有人提到口吃可能是由于重叠的动作,因为它在每一帧都被调用。我使用这种方法是因为持续时间允许相机更自然地跟随,而不是僵硬。

我正在寻找替代方案来消除这种 SKAction 重叠。

我曾尝试在运行新操作之前添加一个 removeallActions() 调用,但它必须发生得很快,因为相机根本不移动。另外,我尝试在动作中添加一个键并在下一个开始之前按键删除,但与 removeallActions() 相同,相机不会移动。

我还尝试了以下方法:

这会停止重叠,但在一个动作结束和另一个结束之间会有轻微的延迟,这会导致不断出现难看的口吃。

我有一个想法尝试使用具有跟随行为的 SKAgents,但我不完全确定这将如何完成,或者它是否会很好。任何建议或解决方案将不胜感激。

0 投票
1 回答
116 浏览

swift - 为什么我的相机子节点没有出现?

我有一个跟随玩家的相机节点,但是当玩家移动时,我的 hud 会移出屏幕。在做了一些研究之后,我发现如果我让它们成为相机的孩子,它们就不会移动,但是我实现了以下代码,我的 hud 完全消失了。我尝试将 zPosition 和尺寸设置得非常大,这样如果它们在那里我就不会错过它们。但即便如此,它们仍然不可见。

此外,当我有 self.addChild(dpadButton) 8 个节点出现在右下角但是当我有 cam.addChild(dpadButton) 时只有 7 个出现。

0 投票
1 回答
592 浏览

swift - 捏手势不适用于 SKCameraNode

我正在使用带有 SKTileMapNode 和 SKCameraNode 的 SpriteKit 使用 Swift 4。我希望能够使用相机在瓦片地图节点上平移/捏合/缩放。我的平移效果很好,但在捏/缩放方面遇到了一些问题。

  1. 虽然我可以工作。每次发生另一次捏合时,它都会重置大小。因此,例如,我将其缩小,然后再次捏合,一旦我触摸屏幕,它的大小就会跳起来。它确实让我再次捏以放大/缩小,但不是基于我在之前捏的大小。我想我可能需要存储调整大小并使用它,但不确定如何。

  2. 我的捏缩放是相反的。当我捏放大时,它会缩小,反之亦然。

  3. 当我达到最小/最大比例限制时,它会停止走得更远,但在达到限制时会结结巴巴。

这是我处理夹点的函数:

如果您有任何建议,请告诉我,因为我环顾四周,但找不到人们使用 SKCameraNode 的示例。我发现的示例要么我无法尝试从视图转换为相机,要么它们没有给出一个捏的例子。任何帮助将不胜感激!

0 投票
2 回答
48 浏览

swift - 相机不会跟随精灵

我正在尝试在 swift SpriteKit(更具体地说是 RPG)上制作游戏。我在让相机跟随我的角色时遇到问题。到目前为止,所发生的只是相机出现在屏幕外,你甚至看不到角色。谢谢!

0 投票
0 回答
171 浏览

ios - 通过 SKConstraint 使用 LERP 移动 SKCameraNode

我只是想知道是否有一种方法可以在我的 SKCameraNode 通过使用 SKConstraints 跟随我的播放器节点时在我的 SKCameraNode 上实现线性插值效果。我目前使用的约束与 Apple 的 Demo Bots 教程中使用的约束相同。另一种选择似乎是使用动作来延迟/时间重新定位我的相机,或者直接在更新方法中延迟更改位置。摄像机滚动看起来有点生涩,而与玩家的距离限制设置为常数 0.0,就像在 Demo Bots 中一样。请让我知道您的想法,感谢所有反馈。

0 投票
1 回答
266 浏览

ios - 与相机一起快速移动按钮

我正在开发一个游戏,当按下按钮时我的玩家会移动,所以我制作了相机的按钮子项。但是,当我的相机移动时,按钮会出现在应有的位置,但是当我再次按下时,没有任何反应。这是一些关于相机和按钮的代码。

正如你所看到的,我有很多打印来检查左按钮的位置。开始时 y 位置为 -577。相机移动后,按钮出现在它应该在 -450 的位置。但不能按它,因为它的位置仍然在-577。我还尝试通过将位置转换为相机来更新其位置,但没有奏效。如果有人可以提供帮助,我将不胜感激。

0 投票
1 回答
66 浏览

swift - 如何识别 SKCamera 视图中的特定节点?

我正在尝试回收相同的内容SKSpriteNode以制作连续的背景。我创建SKSpriteNodebg0, bg1,bg2并在呈现场景时正确定位它们。不知何故,下面的代码只重新定位bg0一次。

camSKCameraNode,因此,我正在检查相机是否包含背景节点。由于它们的大小,它们中的一个总是不应该在相机视口中可见。但是,就像我说的那样,这只适用于一次,当相机显示回收时bg0无法识别它。

先感谢您。

PS:我也试过cam.intersects(bg0)了,结果一样。