问题标签 [skphysicsjoint]

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 投票
0 回答
294 浏览

swift - 如何使用精灵套件或其他制作动态二维水的方式使关节不旋转

我想创建一个动态的 2D 水,我,遵循这个统一教程

http://gamedevelopment.tutsplus.com/tutorials/creating-dynamic-2d-water-effects-in-unity--gamedev-14143

http://gamedevelopment.tutsplus.com/tutorials/make-a-splash-with-2d-water-effects--gamedev-236

还有这个

http://blog.prime31.com/water2d-part1/

这是我的代码

这是结果

这个结果没有变化 第一的

touch后,在touchesBegan方法中执行代码 第二

第 2 步之后,节点开始旋转并落在节点下方 最后

如果他们不评价,按照教程我将不得不用节点的颜色制作 SKShapeNode。但是 SKShapeNode 很贵,有没有其他方法可以实现这个效果?

最简单的方法是对水的顶部使用图像并使其来回移动,但它不会是动态的..

如果您曾经玩过 Tiny Wings,那么教程中的水的实现方式完全相同。

我不知道,也许这不能在 SpriteKit 中制作,或者我只是不知道如何

0 投票
2 回答
333 浏览

macos - Spritekit SKPhysics车身销接头

我正在尝试创建一个摩天轮。它由三个不同的精灵组成:底座(腿)、身体(旋转的圆形部分)和座椅(总共 16 个)。

在下面的代码中,我将底座添加到场景中,然后将车身附加到底座上,最后将每个座椅附加到车身上。座椅目前正在(以一种奇怪的方式)随着身体旋转。我根本不希望座位旋转。我究竟做错了什么?

注意:更新了来自@dragoneye 的评论和建议

0 投票
1 回答
249 浏览

swift - 使用适当的坐标添加 SKPhysicsJointFixed

我想将两个物理实体添加到另一个实体,但是当 showPhysics 打开时,它看起来像这样。

在此处输入图像描述

这是我使用的代码

我也尝试

不知道以后会不会出现问题,但是为什么英雄节点可以和其他节点正常连接呢?

0 投票
1 回答
170 浏览

macos - 使用 SKPhysicsBody 创建车辆

我正在尝试根据玩家输入使车辆(在本例中为火车)移动。如果我通过 SKAction 移动火车,车轮不会旋转。我可以applyForce在它的物理体上使用该方法,但我需要更多的控制。我需要让它在一定时间内移动一定距离。如何实现?



更新:使用火车课程实施(由 Jaffer Sheriff 建议)

火车.h

火车.m

游戏场景.m

注意:此解决方案会导致整个火车在按下左/右键时翻转并发疯。看来我的销接头不正确,但对我来说似乎是正确的:/

0 投票
1 回答
124 浏览

swift - 自定义 SKPhysicsJoint 子类

我目前正在SKPhysicsJointSpring将多个节点连接在一起。我希望能够使用对数公式而不是胡克定律来指定力。

有没有办法让我进行子类化SKPhysicsJoint以提供我自己的力计算?或者我必须手动实现这个update(..)吗?

非常感谢,

0 投票
1 回答
180 浏览

ios - SKPhysicsJoint 使旋转无法正常工作

使用 Swift 和 Sprite-Kit,我正在尝试在称为“pin”的静态 SKSpriteNode 的位置和用户触摸屏幕的任何位置之间创建具有真实物理特性的绳索。我通过添加称为ropeNodes 的单个SKSpriteNodes 来做到这一点,并将它们与一系列SKPhysicsJointPins 链接起来。物理效果很好,但是当我尝试旋转每个单独的部分以使其正确定向时,ropeNodes 不再形成直线,它们也不会旋转到正确的角度。但是,当我删除 SKPhysicsJoints 时,旋转按每个单独节点的预期工作。为每个单独的ropeNode 移动anchorPoint 似乎只会让事情变得更糟。为什么会发生这种情况,我该如何解决?提前致谢 (:

这是我尝试旋转每个单独的ropeNode 时发生的情况的图像

在此处输入图像描述

0 投票
1 回答
168 浏览

ios - SpriteKit 无法更改 SKPhysicsJointLimit maxLength

我有一个简单的项目,我有两个SKShapeNodesSKPhysicsBody每个都有一个。我有一个SKPhysicsJointLimit连接它们的。在程序运行时,我需要更改SKPhysicsJointLimit.maxLength属性。但是,虽然值确实发生了变化,但屏幕上的物理特性并没有显示出来。

我正在运行 Xcode 6.4 并部署到 iOS 7.0+

如何更改maxLength属性以更新关节的物理特性?

我在这里有我的代码,它是从默认的 SpriteKit 项目修改而来的:

GameScene.h

GameScene.m

这段代码的输出是:

我很确定非常小的十进制值只是一些不准确,我并不担心。我只是表明该maxLength属性确实发生了变化。

我在这里看到了这个问题,这是一年多前提出的,但没有解决方案。在评论中,他说他找到了解决方案,他对修复的简要描述是在返回对象之前进行更改。但据我所知,这不适用于我。有人要求他澄清,但似乎被忽略了。

0 投票
1 回答
497 浏览

swift - SKPhysicsJointFixed 在 SpriteKit 和 Swift 中

我正在使用 Sprite Kit 和 Swift 制作游戏,我在屏幕底部有一个 Sprite,从顶部掉落的 Sprite 我想抓住并粘在底部的 Sprite 上,所以我正在尝试使用 SKPhysicsJointFixed但是当物体发生碰撞而不是下落的物体粘在底部的物体上时,它应该抓住并附着它,看起来好像底部的精灵适应了下落精灵的物理特性,然后随着它从屏幕上掉下来。这是我的 didBeginContact 方法中的代码。并且 skewer 是底部 Sprite 的名称,它应该始终位于底部并且不会消失。

和底部屏幕精灵的物理在这里

和坠落精灵的物理在这里

0 投票
1 回答
185 浏览

ios - SKPhysicsJointLimit EXC_BAD_ACCESS?

我正在使用 Sprite Kit (iOS),但每当我尝试SKPhysicsJointLimit向. 其他关节类型工作正常,这让我感到困惑。这是崩溃的示例:physicsWorldEXC_BAD_ACCESS (code=1, address=0xc0)

当我替换SKPhysicsJointLimit()SKPhysicsJointFixed()(并删除 line setting maxLength)或其他一些关节类型时,代码按预期工作。

我是 Sprite Kit 的新手,关于如何解决这个问题的任何想法?

0 投票
1 回答
104 浏览

sprite-kit - Spring Go Sprite Kit 的问题(它就像一根棍子)

所以我有一个简单的目标。我只是想让两个 skspritenodes 彼此靠近,就好像用松紧带连接一样。我认为 SKSpringJoint 非常适合这个,因为文档说它具有相似的属性,但是这对我来说效果不太好!

我能够在两个精灵之间建立联系,但是没有发生“类似弹簧”的事情,而是它们始终保持相同的距离,就好像它是一根将它们连接在一起的棍子,而不是可以膨胀和收缩的东西。

你能看看我的代码并告诉我我做错了什么吗?模拟很简单,2个球和一些墙。当点击屏幕时,两个球之间的连接就建立起来了。

如果您有任何想法,请告诉我!

9 月 17 日:我刚刚尝试对模拟中的一个球应用物理脉冲。仍然没有运气。这两个球似乎只是用一根棍子连接在一起,没有弹簧作用:(

只是想为有一天想要类似效果的人发布我的最终代码,或者只是如何使用 SpringJoints 的一个很好的例子。它基本上是一个二维蜘蛛侠模拟。代码非常可重用,您需要做的就是将绘制函数放入更新循环中,然后将函数放入项目中,然后简单地调用传递一个 sprinted 和点的函数。享受!