草庐IT

SKShapeNode

全部标签

swift - 小, "bouncy"在用 SKAction 移动的另一个形状插入 SKShapeNode 时滞后

我正在创建一个2Dautoscroller,当我的播放器(带有一个圆圈physicsBody)与一个SKActionmoveTo驱动的障碍物发生碰撞时,它会向它移动,它会变小,几乎无法察觉的滞后。我尝试降低物体的摩擦力和密度,但无济于事。有什么想法吗? 最佳答案 您已选择将圆与phycsicsBody一起使用。SKPhysicsBody对象用于向节点添加物理模拟。当场景处理新帧时,它会对附加到场景中节点的物理体执行物理计算。这些计算包括重力、摩擦和与其他物体的碰撞。场景完成这些计算后,更新节点对象的位置和方向。您还选择了使用SKAc

ios - SKShapeNode 拖动不流畅

所以我是swift和iOS开发的super新手,但对编程来说并不是全新的,只是在学习一些教程,但基本上我的代码如下所示:importSpriteKitclassGameScene:SKScene{overridefuncdidMoveToView(view:SKView){letcircle=SKShapeNode(circleOfRadius:30.0)circle.position=CGPointMake(100,200)addChild(circle)}overridefunctouchesMoved(touches:NSSet,withEventevent:UIEvent){f

ios - 调整 SKShapeNode 的大小

如何调整SKShapeNode的大小?到目前为止我尝试了什么:框架调整大小box.frame.width=10给出错误CannotassigntotheresultofthisexpressionSKActionletactionResize=SKAction.resizeToWidth(10,duration:NSTimeInterval(0.1))box.runAction(actionResize)什么都没发生扩展box.xScale=0.1缩放节点而不是调整大小 最佳答案 操作resizeToWidth可以由SKSprite

ios - swift:将 SKShapeNode 转换为 SKSpriteNode -> 无纹理

我试图通过首先将SKShapeNode转换为纹理来将SKShapeNode转换为Sprite节点。然而结果是看不见的Sprite。物理实体通常在那里,但没有显示图形。我想我尝试转换SKShapeNode的方式有问题,但我想不出是什么。你知道哪里出了问题吗?感谢所有帮助!letcreatedShape=SKShapeNode(path:path)createdShape.physicsBody=SKPhysicsBody(edgeLoopFromPath:createdShape.path)createdShape.physicsBody?.categoryBitMask=Physics

swift - 旋转带有纹理的 SKShapeNode

我正在尝试使用纹理旋转SKShapeNode,但它不起作用。基本上,我有一个带有纹理的圆圈,我试图使用与SKSpriteNode相同的方式使其旋转:letspin=SKAction.rotateByAngle(CGFloat(M_PI/4.0),duration:1)问题是圆在旋转,而不是纹理。我可以使用以下代码进行检查:letwait=SKAction.waitForDuration(0.5)letblock=SKAction.runBlock({print(self.circle.zRotation)})letsequence=SKAction.sequence([wait,blo

ios - 用 SKShapeNode 画一条线

我想简单地使用SKShapeNode画一条线。我正在使用SpriteKit和Swift。到目前为止,这是我的代码:varline=SKShapeNode()varref=CGPathCreateMutable()overridefunctouchesBegan(touches:NSSet,withEventevent:UIEvent){fortouch:AnyObjectintouches{letlocation=touch.locationInNode(self)}}overridefunctouchesMoved(touches:NSSet,withEventevent:UIEve

ios - 使用 SKEffectNode 逐渐模糊 SKShapeNode

我试图在我的程序中模糊一个SKShapenode。但是,我希望shapenode逐渐模糊,持续时间约为1秒。我该如何实现?当前的代码会立即模糊它。funcgenerateAnimation(){varblurAction:SKAction=SKAction.runBlock{//themethodbelowreturnsashapeNodevarcircle=self.generateImage()vareffect:SKEffectNode=SKEffectNode()varfilter:CIFilter=CIFilter(name:"CIGaussianBlur")filter.s

swift - 使用 SKShapeNode 在 Sprite Kit 中绘制虚线

IfountthissolutionbutIcan'tmakeitintoswiftcode这是我的尝试varpattern[2]:CGFloat;thisvardashed:CGPathRef=CGPathCreateCopyByDashingPath(CGPathCreateCopyByDashingPath(path,transform,phase,lengths,count);varmyShapeNode:SKShapeNode!;varCGPathCreateCopyByDashingPath:CGPathRef; 最佳答案

ios - Swift:从 sprite 工具包 SKShapeNode 图纸中检测交点

我正在使用SpriteKit绘图。我想检测用户的绘图何时相交。我尝试遵循代码,但它不起作用。看起来spritekit并没有保存所有的点:overridefunctouchesMoved(touches:NSSet,withEventevent:UIEvent){/*Calledwhenatouchbegins*/touch=touches.anyObject()asUITouch!fordrawingPointindrawingPoints{if(touch.locationInNode(self)==drawingPoint){println(true)}}drawingPoints

ios - SKShapeNode 的替代品

我有一个用SpriteKit设计的游戏,它严重依赖1个SKShapeNode(这是一条线)。我正在制作这样的线:ifletpath=createPathToMove(){letshapeNode=SKShapeNode()shapeNode.path=pathshapeNode.name="line"shapeNode.strokeColor=UIColor.blackColor()shapeNode.lineWidth=20shapeNode.zPosition=5shapeNode.antialiased=falseshapeNode.lineCap=kCGLineCapRound