草庐IT

PhysicsBody

全部标签

ios - 检测旋转何时完成并移动到新场景

我正在尝试在轮子停止旋转时移动到另一个场景。我的代码如下所示。我不知道如何检测速度何时达到0.0?importSpriteKitimportGameplayKitclassGameplayScene:SKScene{varplayer:Player?;overridefuncdidMove(toview:SKView){player=self.childNode(withName:"spinner")as!Player?;}overridefunctouchesBegan(_touches:Set,withevent:UIEvent?){fortouchintouches{letloc

ios - Swift SpriteKit PhysicsBody 被 Xcode 强制为可选

我在尝试使用Swift和SpriteKit在Xcode6beta7中编写一个flappybirdsclone时遇到以下问题。将physicsBody属性添加到SKSpriteNode后,我无法直接更改physicsBody的属性,例如我无法执行以下操作:bird=SKSpriteNode(texture:birdTexture1)bird.position=CGPoint(x:self.frame.size.width/2.8,y:CGRectGetMidY(self.frame))bird.runAction(flight)bird.physicsBody=SKPhysicsBody

swift - SKPhysicsBody 碰撞不起作用

下面是我的“Floor.swift”类,下面基本上是一堆墙。我有来自屏幕顶部的对象,一旦Floor和SKSpriteNodes发生碰撞,我希望SKSpriteNode被移除。下面是我的Floor类。importFoundationimportSpriteKitclassFloor:SKNode{overrideinit(){super.init()letleftWall=SKSpriteNode(color:UIColor.clear,size:CGSize(width:5,height:50))leftWall.position=CGPoint(x:0,y:50)leftWall.p

swift - 如何围绕关节旋转 Sprite

我需要让ARM和手围绕钩子(Hook)的中心旋转,如下图所示,没有分开或改变它们的形状(ARM和手之间的角度没有变化,只是在A处旋转),如下图:我尝试旋转ARM,但这会使它们分开并改变形状。您可以在下面查看我的代码:lethookCategoryName="hook"letleftArmCategoryName="leftArm"letrightArmCategoryName="rightArm"letleftHandCategoryName="leftHand"letrightHandCategoryName="rightHand"lethookCategory:UInt32=0x1

ios - SpriteKit 球在撞墙时失去所有能量,恢复=1

如果我在y方向施加1的冲量,球会来回弹跳而不会损失任何能量。但是,如果初始冲量为0.5或以下,则球在撞到墙壁时会立即失去所有能量。为什么会这样?我对SKPhysicsBody类的属性有很好的理解。试试这段代码,看看您的计算机上是否会出现相同的行为。-(id)initWithSize:(CGSize)size{if(self=[superinitWithSize:size]){/*Setupyourscenehere*/self.physicsWorld.gravity=CGVectorMake(0.0f,0.0f);SKPhysicsBody*borderBody=[SKPhysics

ios - SpriteKit 球在撞墙时失去所有能量,恢复=1

如果我在y方向施加1的冲量,球会来回弹跳而不会损失任何能量。但是,如果初始冲量为0.5或以下,则球在撞到墙壁时会立即失去所有能量。为什么会这样?我对SKPhysicsBody类的属性有很好的理解。试试这段代码,看看您的计算机上是否会出现相同的行为。-(id)initWithSize:(CGSize)size{if(self=[superinitWithSize:size]){/*Setupyourscenehere*/self.physicsWorld.gravity=CGVectorMake(0.0f,0.0f);SKPhysicsBody*borderBody=[SKPhysics

ios - 检测 Sprite 套件中的碰撞

我正在尝试使用sprite工具包制作一款简单的游戏。基本思想是有一个玩家可以跳跃来避开障碍物。但是我有一个问题,我不知道如何做到这一点,即当玩家击中方block时,玩家消失并且开始播放血液动画。首先,我不明白我在苹果网站上找到的这段代码的作用。staticconstuint32_tblockCategory=0x1我正在调用didBeginContact函数并在其中放置一个NSLOG("didcallfunction")。但是我从未在调试器中收到输出。这是我的_player和_block代码:-(SKSpriteNode*)字符{_player=[SKSpriteNodespriteN

ios - 检测 Sprite 套件中的碰撞

我正在尝试使用sprite工具包制作一款简单的游戏。基本思想是有一个玩家可以跳跃来避开障碍物。但是我有一个问题,我不知道如何做到这一点,即当玩家击中方block时,玩家消失并且开始播放血液动画。首先,我不明白我在苹果网站上找到的这段代码的作用。staticconstuint32_tblockCategory=0x1我正在调用didBeginContact函数并在其中放置一个NSLOG("didcallfunction")。但是我从未在调试器中收到输出。这是我的_player和_block代码:-(SKSpriteNode*)字符{_player=[SKSpriteNodespriteN

ios - SpriteKit 节点粘在场景边缘/不弹跳

我已经搜索过这个,我认为一定有一些参数可以解决这个问题,但我还没有找到。我在SpriteKit中有一个场景,我希望一些圆圈/球在周围反弹并无限期地保持它们的任何速度。它们应该从场景的边缘反弹。如果它们移动得足够快,或者以相当锐利的角度撞击,这是有效的,但如果它们移动得更慢并且接近边缘平面,它们会继续移动(这很好)但它们“坚持“到边缘。这种坚持是我不想要的。即使走得很慢,它们也应该反弹。为了设置边缘,我使用了:SKPhysicsBody*borderBody=[SKPhysicsBodybodyWithEdgeLoopFromRect:self.frame];self.physicsBo

ios - SpriteKit 节点粘在场景边缘/不弹跳

我已经搜索过这个,我认为一定有一些参数可以解决这个问题,但我还没有找到。我在SpriteKit中有一个场景,我希望一些圆圈/球在周围反弹并无限期地保持它们的任何速度。它们应该从场景的边缘反弹。如果它们移动得足够快,或者以相当锐利的角度撞击,这是有效的,但如果它们移动得更慢并且接近边缘平面,它们会继续移动(这很好)但它们“坚持“到边缘。这种坚持是我不想要的。即使走得很慢,它们也应该反弹。为了设置边缘,我使用了:SKPhysicsBody*borderBody=[SKPhysicsBodybodyWithEdgeLoopFromRect:self.frame];self.physicsBo