问题标签 [skphysicscontact]

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 投票
2 回答
96 浏览

ios - SpriteKit 崩溃:物理体如何与 SKNode 失去关联?

此代码崩溃,因为secondBody未与节点关联。

1) 除了将物理体设置为 之外nil,还有什么会导致物理体与 SpriteKit 中的节点失去关联?

2)一开始没有节点的物理体怎么可能存在?

0 投票
2 回答
70 浏览

swift - 在 SpriteKit 中“吃”东西的最佳方式

“吃”是指:当精灵 A(马里奥)与精灵 B(硬币)碰撞时,检测到碰撞并将硬币从场景中移除;然而,马里奥的动作并没有因与硬币的碰撞而改变。

目前我SKPhysicsContactDelegate用来记录马里奥和硬币碰撞的时间,但这似乎需要承认硬币是一个物理体——因此这意味着马里奥的运动被它阻止了。

硬币是否应该没有物理实体,我应该使用不同的方法来查看它们是否接触?

0 投票
1 回答
23 浏览

xcode - 两个精灵之间的碰撞不起作用

我似乎无法让 2 个精灵相互联系,因为当应用程序运行时,其中一个精灵没有联系,只是通过了它。我不确定有什么问题。有人可以帮助我。

0 投票
1 回答
138 浏览

swift - SKPhysicsContact Not Detecting categoryBitMask Collision

所以我在下面有我的“Floor.swift”类,它基本上是一堆墙。我有来自屏幕顶部的对象,一旦 Floor 和 SKSpriteNodes 发生碰撞,我希望删除 SKSpriteNode。下面是我的地板课。

然后在“ func didBegin(_ contact: SKPhysicsContact)”下的 GameScene 类中,我写道:

但由于某种原因,我没有得到任何检测。我让我的“Floor”类成为我的 objectCategory、pointCategory、lifeCategory 的每个类的“contactTestBitMask”。我究竟做错了什么!?我的其他碰撞被检测到,但不是这个。

0 投票
0 回答
171 浏览

c# - 在 C# 中使用 Xamarin SpriteKit 创建自定义联系人代理

我想重写 didBeginContact 函数,以便在场景中的两个物理对象发生碰撞时实现自定义逻辑。

我了解如何在 Swift 中完成此操作,首先将联系委托设置为场景对象本身,然后设置 didBeginContact 函数,如下所示:

在 C# 中将 SpriteKit 与 Xamarin 一起使用时,我无法弄清楚如何实现这样的系统。我尝试创建一个自定义的 Contact Delegate 类,它是 SKPhysicsContactDelegate 的子类,并将场景的 PhysicsWorld.ContactDelegate 属性设置为此类的一个实例,但是在运行我的应用程序时我没有注意到任何变化。

然后在我的 SKScene 课程中:

0 投票
1 回答
90 浏览

sprite-kit - 多个联系人注册

任何帮助将不胜感激。我对此比较陌生,只是觉得我开始了解编码。

我的问题-----

我很难尝试使用 SpriteKit 教程解决问题,我一直在增强该教程作为磨练和提高新手技能的一种方式。

当我的播放器“坠毁”在地面上时,我遇到了多次接触。

不止一个生命被移除,这导致我的游戏生成“尝试添加一个已经有父节点的 SKNode:”错误,将玩家添加回场景。我在代码中能想到的任何地方都尝试过 player.removeFromParent。

只要我在空中“撞”上“敌人”,游戏就完美无缺。一旦玩家接触到地面,一切就结束了。如果我在与地面接触时“杀死”玩家,没有问题,但我希望游戏继续,只要玩家仍然有生命,无论是接触地面还是与敌人接触。

我真的相信如果可以解决多接触问题,这个问题就会得到解决。

}

0 投票
2 回答
92 浏览

ios - Spritkit:使用手指画线时检测碰撞

我正在尝试检测哪个用户contactPoint之间的冲突。existing linecurrently drawing using finger

这是我的代码:

然后在 touchBegin、touchMove 和 touchEnd 我有以下代码:

physicsWorld's contactDelegate如下:(委托甚至没有执行)

这是我的输出,即使从白色线穿过它也没有检测到碰撞。

在此处输入图像描述

有什么问题?对此的任何建议都会有所帮助。

0 投票
1 回答
426 浏览

swift - 在 SpriteKit SKPhysicsContactDelegate 中未检测到联系人

我正在尝试在 Swift 中使用 Spritekit 编写游戏。目的是逃脱他的性格迎面而来的矩形。现在我在 SKPhysicsContactDelegate (didBegin ()) 方法上犯了一个错误,因此无法识别图形与其中一个矩形的接触。有人可以帮我找出错误吗?

0 投票
1 回答
40 浏览

swift - SKPhysicsContactDelegate 出错?

我正在尝试在 Swift 中使用 Spritekit 编写游戏。目的是逃脱他的性格迎面而来的矩形。现在我在使用 SKPhysicsContactDelegate (didBegin ()) 方法时犯了一个错误,因此无法识别图形与其中一个矩形的接触。有人可以帮我找出错误吗?这不是重复的,因为这次我使用了不同的代码!

0 投票
2 回答
137 浏览

swift - SKSpitekit 节点之间未检测到冲突

我正在建造一个迷宫,并为墙壁添加了一些 SKSpritekit 节点,并为玩家添加了一个点。但是,当点和墙壁发生碰撞时,不会检测到碰撞。我的代码如下:

墙壁就像我想要的那样出现,并且点也在正确的位置。

我为它们中的每一个添加了 20000 的质量,这样当我移动点时,墙壁保持在原位。然而,当我用手指移动点时,它只是直接穿过迷宫的墙壁,而不是被它们阻止。

我在 didBegin 函数中添加了一条打印语句,以查看它是否至少检测到精灵之间的任何接触,但它没有。

为什么是这样?

干杯!