对于我的程序,我需要使用触摸移动和SKShapeNode绘制一条线,并为其赋予碰撞属性。我看了这个帖子:drawalineinspritekitintouchesmoved画了一条线,但我无法将其变成物理体。我想要完成的是驾驶汽车通过用户绘制的道路从上方和下方穿过障碍物。所以我试图让汽车接触线并沿着它移动......从技术上讲,汽车不会移动,因为只有背景移动。我该怎么做?这是我的代码的重要部分:我又创建了3个类(GameHelper、StartGame和GameOver),但它们与我的问题无关。我在这里声明了一个名为pathToDraw的CGMutablePathRef和一个名为lin
我有英雄、地面和table。我想让桌面活跃起来与英雄碰撞和接触。但是英雄应该能够不跳到顶部而只是“穿过”然后跳上它,如果玩家想要它,无论他想要什么。为了更好地说明我正在努力实现的目标——想想马里奥。当你在地面上奔跑时,会出现一些天空平台。你可以在平台中间跳上它并呆在那里。所以我需要物理body在英雄从底部接触时不要阻止他,但如果他在它上面就捕获他。到目前为止,我正在使用带有纹理的主体作为表格:self.table.physicsBody=SKPhysicsBody(texture:table.texture,size:self.table.size)self.table.physics
有两个物理体:一个AirplaneNode:-(id)initAirplaneNode{self=[superinitWithImageNamed:@"airplane.png"];if(self){self.name=@"player";self.physicsBody=[SKPhysicsBodybodyWithRectangleOfSize:self.frame.size];self.physicsBody.dynamic=NO;self.physicsBody.affectedByGravity=NO;self.physicsBody.categoryBitMask=AIRPL
我创建了两个具有物理体的Sprite并处理了它们的接触。发生接触时,如何更改其中一个Sprite的物理体和Sprite图像?请参阅下面的相关代码://circleSpritecircleSprite.name=circleSpriteCategoryNamecircleSprite.position=CGPointMake(2*self.frame.size.width/3,2*self.frame.size.height/3)circleSprite.zPosition=10self.addChild(circleSprite)circleSprite.physicsBody=SKP
我有一个非常基本的多边形,它是我游戏中Sprite的纹理,但是当我尝试从该纹理为Sprite创建物理体时,我收到此错误:2016-06-1908:25:21.707SpaceEscape[14677:5651144]PhysicsBody:Couldnotcreatephysicsbody.此外,该游戏使用了许多不同的简单多边形,对于一些可以创建physicsBody,但对于另一些会出现错误。funcsetPhysics(size:CGSize){self.physicsBody=SKPhysicsBody(texture:asteroidTexture,size:size)self.
我正在尝试利用init?(coderaDecoder:NSCoder)函数,以便我可以在我的sks文件中子类化Sprite。我可以在sks文件中设置物理体,但它不适用于我正在使用的也有圆角的矩形sprite。由于圆角,在使用init函数之前,我在代码中设置了physicsbody,并将宽度设置为略小于正方形的宽度(这样当我的英雄滑出正方形时,没有间隙圆角是..我知道我可以使用alphamaskphysicsbody来获得相同的效果,除了这个,当我的英雄在方block上时似乎有1px'ish的差距,而且看起来不太好。想知道为什么我不能这样设置物理体,以及我该如何做或绕过它?感谢您的帮助!
如何在SpriteKit中为一串字符创建物理形体?我不希望它是字体周围的矩形,我希望每个字母都是自己的形状以便联系。 最佳答案 没有内置方法可以从SKLabelNode或字符串中的字符创建SKPhysicsBody。您可能想研究创建一个完整的字母字符图像集,为字符串中的每个字母创建一个SKImageNode,并使用+bodyWithTexture:size:来根据其纹理为每个物体分配一个物体。 关于ios-SpriteKit中SKLabelNode的物理体?,我们在StackOverfl
我的游戏有一个有4个座位的摩天轮。每个座位都有一个平台,英雄可以在上面休息。当座位处于上升轨道时,英雄平静地留在平台上。但是,当座椅处于向下轨迹时,Hero会向上/向下移动一点。我已经尝试了一些显而易见的事情:1.将restitution设置为0没有效果。2.将linearDamping设置为1没有任何效果。3.使平台和英雄的质量相同没有效果。4.调整摩擦力没有效果。这是平台物理体:supportNode?.physicsBody?.categoryBitMask=PhysicsCategory.ferrisPlatform.rawValuesupportNode?.physicsBo