草庐IT

Spritekit

全部标签

swift - SpriteKit - 在随机位置创建而不重叠

我想在随机位置创建一些Sprite而不重叠,这是我的代码:varsprites=[SKSpriteNode]()forindexin0...spriteArray{letsprite=SKSpriteNode(imageNamed:named)sprites.append(sprite)checkInterception(sprite,sprite2:sprites)//positioningusingafunctionaddChild(sprite)}这里我检查重叠:funccheckInterception(sprite1:SKSpriteNode,sprite2:[SKSprit

ios - 重力属性在 SpriteKit 场景中不起作用

importSpriteKitclassGameScene:SKScene{overridefuncdidMoveToView(view:SKView){/*Setupyourscenehere*/}overridefunctouchesBegan(touches:Set,withEventevent:UIEvent?){/*Calledwhenatouchbegins*/fortouchintouches{letlocation=touch.locationInNode(self)letsprite=SKSpriteNode(imageNamed:"BeachBall-100")se

swift 3 (SpriteKit) : Aligning SKPhysicsBody to SKShapeNode

我在我的程序中使用这个创建SKShapeNodes:letpoints=[CGPoint(x:x,y:y),CGPoint(x:x2,y:y2)]letline=SKShapeNode(points:&points,count:points.count)我遇到的问题是,每当我向线上添加一个physicsBody时,physicsBody都没有与该线对齐。我意识到这个问题是因为线的位置总是CGPoint(x:0,y:0)所以physicsBody总是在屏幕的中心,不管线在哪里。这是我创建physicsBody的代码:line.physicsBody=SKPhysicsBody(recta

ios - 如何使用 - swift - SpriteKit 编写将在特定时间运行函数的协议(protocol)

是否可以创建这样的协议(protocol):protocolSetupProt{funcsetup()}然后在我的didMove函数结束时,告诉应用程序运行所有实现此协议(protocol)的子类的所有设置函数?或者我是否需要存储对实现协议(protocol)的所有这些对象的引用并遍历它们?目前我正在使用该协议(protocol)。然后我有一个像这样的全局数组:setups=[SetupProt]=[]我的游戏中有“平台”的子类。我在XCODE编辑器中对其进行子类化。在aDecoderinit函数中,我将该节点添加到这个全局数组中...我这样做是因为此时场景属性为nil,所以我还不能访

ios - SpriteKit 和 UISwipeGestureRecognizer

在我的viewDidLoad函数中,我设置了一个滑动手势识别器:varswipeRecognizer:UISwipeGestureRecognizer=UISwipeGestureRecognizer(target:self,action:Selector("move"))swipeRecognizer.direction=.Rightview.addGestureRecognizer(swipeRecognizer)然后我设置移动函数:funcmove(swipe:UISwipeGestureRecognizer){NSLog("swiped")}但是,当我向右滑动时,我不断收到以下

ios - swift spritekit Facebook 分享按钮

嘿,我的应用程序即将发布,但我想添加一个Facebook分享按钮。问题是我不知道场景和ViewController之间的通信是如何工作的。我做了我的研究,但只在obj-c中找到了这样的代码-(void)lkFaceBookShare{NSString*serviceType=SLServiceTypeFacebook;if(![SLComposeViewControllerisAvailableForServiceType:serviceType]){[selfshowUnavailableAlertForServiceType:serviceType];}else{SLCompose

Swift spritekit 设置用户数据

在我的swiftspritekit游戏中,我想为Sprite设置一个自定义值,我尝试这样做p.userData?.setValue(value:"Hello",forKey:"c")但是当我尝试这个时,它说“找不到接受提供的参数的‘setValue’的重载”。所以主要问题是:如何为Sprite设置自定义值? 最佳答案 方法中的第一个参数没有外部参数名称,所以应该是p.userData?.setValue("Hello",forKey:"c")或更好(因为userData是一个NSMutableDictionary并且没有键值编码这里

ios - 在 swift spritekit 中正确呈现新场景

我正在使用spritekit和swift,我只是想呈现一个新场景……但是出了点问题并抛出错误。我很确定这是正确的语法,这真的让我陷入困境。线letskView=self.viewasSKView给我的错误是“SKView?isnotconvertibletoSKView感谢任何建议!*我当前的代码如下:overridefunctouchesBegan(touches:Set,withEventevent:UIEvent){fortouch:AnyObjectintouches{letlocation=touch.locationInNode(self)if(self.nodeAtPoi

ios - PhysicsBody 是零使用 SpriteKit 和 Swift

我有一个正在构建的SpriteKit游戏,我正在从一个多维数组中加载一个关卡。loadlevel函数第一次工作。如果我在physicsBody赋值上方执行physicsBody的println(在physicsBody初始化之后),它确实会失败。当我第二次使用removeChildrenInArray删除所有图block时,我运行加载级别时它会抛出一条错误消息,提示fatalerror:unwrappinganOptionalunwrappedlyfoundnil并且它指向右下方的行下面的println。println表示physicsBody是nil。在我看来,没有理由将新初始化的P

ios - 为 iphone 6 spritekit 游戏准备 Assets

我正在使用SpriteKit制作游戏,并使用代码定位卡片。卡片纹理的大小需要根据屏幕大小而不同,否则布局会被拧紧。当然与背景图片或任何其他布局相同。iphone6如何与低分辨率屏幕共享相同的@2x资源?这没有道理。我听说要为6设计,让旧手机缩小尺寸。但这似乎不是正在发生的事情。检查5s时,一切都被切断了。我的6+Assets很好,但当然它使用自己的一组3x图像。 最佳答案 显示比例因子并不能告诉您在选择资源和布置屏幕时可能需要的所有信息——例如如果您只有@2xAssets,它们将同时用于iPhone(4和更新版本)和iPad(3和更