草庐IT

Sprite-Kit

全部标签

ios - SpriteKit 和 UIKit 兼容性 : OpenGL error when migrating to Swift 2?

我只是不明白自从我迁移到Swift2后发生了什么。我有一个选项卡式应用程序,但出现此错误::calling-displayhasnoeffect.Assertionfailed:(length+offset我知道这真的很模糊,但我不知道从哪里开始寻找错误。谢谢。编辑:我刚刚意识到这可能与我试图将GameViewController嵌入到TabbedController中有关。但是,在iOS9.0之前,它不会导致任何错误。有什么线索吗? 最佳答案 好的,所以问题出在SKShapeNode上。我正在绘制带有太多顶点的环形部分。通过减少以

ios - 无法隐藏/取消隐藏 SKSpriteNode

我在隐藏和显示SKSpriteNode时遇到问题。但是,我确信使用hidden=true会隐藏可见性。我想要做的是在按下标题时显示图像按钮,并在按下标题以外的其他地方时隐藏图像按钮。我有下面的示例代码。我很想听听你的意见。startSprite.position=CGPoint(x:self.size.width*0.5,y:self.size.height*0.5+startSprite.size.height)self.addChild(startSprite)startSprite.zPosition=3startSprite.hidden=truestartSprite.nam

ios - 以编程方式创建物理约束区域,SpriteKit

我想要两个区域,如下图所示,其中黄色区域包含Sprite。例如,我想让黄色区域的球在黄色区域的边界上弹跳和反射。如何在不使用sks文件的情况下以编程方式执行此操作? 最佳答案 您使用+bodyWithEdgeLoopFromRect:创建一个基于边的物理体overridefuncdidMoveToView(view:SKView){//Setupscene'sphysicsbody(setupthewalls)physicsBody=SKPhysicsBody(edgeLoopFromRect:frame)letyellowSpri

swift - 在 Swift 中使用 SKAction.animateWithTextures 开始和结束动画

我正在spritekit中做一个小项目,但无法完全弄清楚。我正在使用SKAction.animateWithTextures动画Sprite并在数组中移动。工作正常,就像它应该的那样。问题是我想要一个在动画开始时启动的函数和一个在动画结束时启动的函数。我看到有一个.animationDidStart(CAAnimation),但因为我正在做的不是CAAnimation,所以我不能真正使用它。我正在使用的方法是否有类似的东西?正如您可能会或可能不会告诉我的那样,我对swift还是很陌生。提前感谢您的帮助。 最佳答案 我会创建一系列操作

swift - Sprite Kit 从未检测到我的碰撞

当玩家body遇到怪物body时,永远不会调用函数funcdidBeginContact(contact:SKPhysicsContact)。我的类实现SKPhysicsContactDelegateclassGameScene:SKScene,SKPhysicsContactDelegate属性collisionBitMask我评论它是因为我读到如果我们不放置它,节点可以与所有节点碰撞我这样添加播放器:bear.position=CGPoint(x:self.frame.width/20,y:self.frame.height/5)bear.size=CGSize(width:sel

swift - 如何处理游戏中心的滞后峰值

我的游戏使用GameCenter作为计分板。在应用程序开始时,我要求GameCenter登录。问题是,在经过一段可变的时间后,GameCenter会弹出“欢迎回来......”的内容,这会在我的应用程序中造成巨大的延迟峰值,而该应用程序的资源已经很低了。我玩过完成处理程序,试图在横幅完成时找到某种回调……但什么也没有!我该如何处理?我有一个加载屏幕,我是否可以在它弹出之前完成加载?这是我现在使用的代码funcauthenticateLocalPlayer(){Holder.loggedIn=falseprint("StartAuthenticate")letlocalPlayer=GK

ios - 如何从我的 GameScene.swift 中关闭 ViewController?

问题如何从我的GameScene.swift中关闭ViewController?情况:我的SpriteKit游戏中有2个VC,如下所示:ViewController.swift----按播放----->GameViewController当玩家失败时,我想关闭GameViewController,以便玩家可以再次按下播放键。我在我的GameScene.swift中检查玩家是否丢失,并想从那里关闭GameVC。N.B.:用谷歌搜索没有成功。我尝试了什么:1)在我的GameScene.swift中创建一个gameVC实例并像这样关闭它:letgameVC=GameViewControlle

ios - SKAction.removeFromParent 不要用 SKAction.repeatActionForever 删除 Sprite

方法.removeFromParent()不会移除Sprite。怎么了?overridefunctouchesBegan(touches:Set,withEventevent:UIEvent?){guardtouches.first!=nilelse{return}letmyShot=SKSpriteNode()letmyShotAnimation=SKAction.repeatActionForever(SKAction.animateWithTextures(myShotTexture,timePerFrame:0.01))myShot.size=CGSizeMake(200,20

swift - 为 SKSpriteNode 设置名称?

我正在使用以下代码为游戏中的玩家生成随机图像。varplayerTexture=[SKTexture]()playerTexture.append(SKTexture(imageNamed:“red”))playerTexture.append(SKTexture(imageNamed:“blue”))playerTexture.append(SKTexture(imageNamed:“green”))letrand=Int(arc4random_uniform(UInt32(playerTexture.count)))letchosenColor=playerTexture[rand

swift - 改变受重力影响时物体下落的速度。(SpriteKit)

我有一个物体需要在游戏开始时从场景中掉落​​。当玩家点击屏幕时,对象会移回场景顶部。为了使物体下落,我将其设置为受重力影响。这工作正常,但问题是物体从屏幕上掉下来的速度太快了。我可以将物体下落的速度设置为不同的速度吗?如果是这样,我该怎么做。 最佳答案 您可以降低物理世界的重力。另一种选择是对每个对象施加相反方向的力。如果重力在y轴上为-9.8,您可以在y轴上施加+0-9.8的力来减慢物体的速度。编辑:改变质量不会影响速度。 关于swift-改变受重力影响时物体下落的速度。(Sprite