网上找不到,如何让SKLabelNode裁剪SKShapeNode。当我给背景上色时,我的目标是用同样的方法给标签上色,所以它们必须同时上色。但是无法想象如何用这个标签裁剪SKShapeNode。请帮助我! 最佳答案 Butcan'timaginehowtocropSKShapeNodewiththislabel.如果我没理解错的话,你可以将SKLabelNode设置为SKCropNode的掩码,如下所示:overridefuncdidMoveToView(view:SKView){backgroundColor=.blackCol
所以我正在试验Sprite-kit,以构建主要角色可以跟随并收集硬币的圆形路径。我已经成功地定位了我的角色并让他跟随我的圆形路径。我想要实现的是:红球是主角[完成]白色多边形是硬币//Addingthebigcircleletrunway=SKSpriteNode(imageNamed:"runway")runway.position=CGPointMake(CGRectGetMidX(frame),CGRectGetMidY(frame))addChild(runway)//Addingtheplayerplayer=SKSpriteNode(imageNamed:"player")
我试图让我的“播放器”(中间的一个圆圈)在运行计时器触摸屏幕后增加尺寸。一旦计时器超过0秒,它的大小就会增加。一旦计时器超过3秒,它就会减小到原来的比例大小,一旦计时器超过7秒,它就会重置并永远重复。我做错了什么?importSpriteKitclassGameScene:SKScene{varCenter=SKSpriteNode()varPlayer=SKSpriteNode()vartimer=NSTimer()varseconds=0overridefuncdidMoveToView(view:SKView){Center=SKSpriteNode(imageNamed:"Ce
例如,我有一个在屏幕上向左然后向右移动的圆圈。我希望圆仅在两个特定正方形(maskNodes)内时可见。我正在使用SKCropNode来尝试实现这一点,但SKCropNode掩码只允许我分配一个掩码。有没有人知道为SKCropNode分配两个或更多掩码的方法,或者是否有可能这样做。谢谢!overridefuncdidMoveToView(view:SKView){anchorPoint=CGPointMake(0.5,0.5)backgroundColor=UIColor.whiteColor()letmask1=SKSpriteNode(color:UIColor.blackColo
我在尝试更改SKSpriteNode的位置时遇到了一个非常奇怪的崩溃。此崩溃发生在iOS8而不是iOS9。//ifthepowerupisfull,spawntheicononscreeniforangeBallsCollected==numberOfBallsRequiredToActivatePowerup{//addthepowerupicontothearrayofpowerupiconsonscreenpowerupIconsOnScreen.append(fewerColorsPowerupIcon)//setthelightingmaskofthepowerupicons
我有一个使用关卡生成器创建的SKSpriteNode。我需要使用CGPath创建完全相同的形状。self.firstSquare=childNodeWithName("square")as!SKSpriteNodevartransform=CGAffineTransformMakeRotation(self.firstSquare.zRotation)letrect=CGRect(origin:self.firstSquare.position,size:self.firstSquare.size)letfirstSquareCGPath:CGPath=CGPathCreateWith
我正在尝试创建一个名为MenuScene.swift的swift文件,该文件在GameScene.swift之前运行,但我不知道如何操作。我尝试在GameViewController中修改这一行:ifletscene=GameScene(fileNamed:"GameScene"){到:ifletscene=MenuScene(fileNamed:"MenuScene"){但它只是显示一个空白场景。为了让它发挥作用,我还需要做些什么吗? 最佳答案 我知道您通过添加MenuScene.sks文件解决了这个问题,但是如果您已经有了代码文
目前,我在Swift中的一个项目中遇到了一些麻烦。我想知道您是否可以像这样创建一个全新的Sprite节点:varspriteNode:SKSpriteNode=nodes(3)其中nodes是一个SKSpriteNodes数组,在索引号3处有一个对象。以前,我在Java工作过,我知道如果你要做这样的事情,它会简单地传递一个sprite节点变量的引用而不是创建一个全新的sprite节点,但我不确定这是否是swift中发生的事情。如果您无法通过这种方式创建新的Sprite节点,那么最好的创建方式是什么(在Java中,您只需创建一个新的Sprite节点并逐字复制其所有值)?
如何通过使用字符串搜索场景来使SwiftSprite套件游戏跳转到另一个场景。所以:letscenename:String="Map1"letscene:SKSCene=SkScene.getscene(scenename)我们有类似的东西吗?如果没有,请帮我找到替代方案!感谢您的帮助和时间! 最佳答案 从当前场景向您的SKView进行委托(delegate)调用,该场景正在呈现该场景,然后像这样呈现另一个场景:letnewScene=SKScene.init(fileNamed:"MyScene")newScene!.scaleM
我想让SKSpriteNode“意识到”触摸在节点之外。(例如改变颜色)如果可能的话,我想使用tuocesMoved(节点外)我不想以任何其他方式连接它们。这些spries应该是独立的。怎么做?谢谢 最佳答案 显然,您可以实现touchesBegan方法来处理触摸事件:overridefunctouchesBegan(_touches:Set,withevent:UIEvent?){iflettouch=touches.first{//...}super.touchesBegan(touches,with:event)}用当前Swi