草庐IT

Sprite-kit

全部标签

swift - SpriteKit - 如何检查 SKNode 之间的交叉点?

我正在测试一个非常基础的项目,我似乎无法让intersectsNode函数正常工作。在我的GameScene.swift文件中,我创建了一个名为world的SKShapeNode,并在其中创建了另一个名为player的SKShapeNode和一个旋转的SKShapeNode称为spinningGreenSquare。在我的GameViewController.swift文件中,我设置了一个touchesMoved函数来查找触摸的位置,location,并移动player给它。现在,正如您将在下图中看到的,我然后测试2是否相交,如果返回值为真,则执行一些操作。但是,当我运行我的项目时,p

ios - Sprite-kit:检测左右触摸

在我尝试构建的新游戏中,我想知道用户何时触摸了屏幕的左右两侧BOTH以执行某些逻辑操作。我的代码:overridefunctouchesBegan(touches:Set,withEventevent:UIEvent){/*Calledwhenatouchbegins*/fortouchin(touchesas!Set){letlocation=touch.locationInNode(self)varisRight:Bool=falsevarisLeft:Bool=falseif(location.xself.size.width/2){//isRight=trueprintln("

ios - 如何使用 Swift 制作椭圆 SKPhysicsBody

我创建了一个椭圆SKShapeNode并且我希望该形状具有实体,但是我找不到椭圆的SKPhysicsBody初始值设定项。这是椭圆形的代码attackCircle=SKShapeNode(ellipseOfSize:CGSize(width:1000,height:400))如果我没有正确提出问题,请提前道歉。这是我在网上提出的第一个问题。 最佳答案 您想使用CGPath将其设置为椭圆。有一个适用于iOS7+的构造函数,它允许您调用:attackCircle=SKShapeNode(ellipseOfSize:CGSize(widt

ios - 无法将自定义字体添加到 Xcode

我正在尝试将下载的字体添加到Xcode,并且我已经根据此链接执行了每一步:http://codewithchris.com/common-mistakes-with-adding-custom-fonts-to-your-ios-app/我将字体添加到我的Xcode项目中,将其包含在复制捆绑资源(构建阶段)中,并在应用程序提供的字体中键入它(在Info.plist中)。然后我在didMoveToView的GameScene.swift中输入了这个它适用于其他字体,但不适用于此字体。这真的让我很沮丧,我不知道问题出在哪里,谢谢。 最佳答案

ios - 节点未在 Swift 2 和 SpriteKit 中加载纹理

所以我正在制作一款落沙益智游戏,您必须让沙粒进入目标。在Swift2、iOS9、xCode7更新之前,我的节点运行良好。但是现在,当我加载游戏时,它并没有正确加载所有节点。以此为例:(我注释掉了大部分我知道不是问题的细节,例如标签的定位和颜色)overridefuncdidMoveToView(view:SKView){self.physicsWorld.gravity=CGVectorMake(0.0,-4.8)//RateofGravityissethere//Backgroundbg=SKSpriteNode(texture:SKTexture(imageNamed:"setti

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