草庐IT

ios - 如何在 Sprite-kit 中画一条线

如何在Sprite-kit中画一条线?例如,如果我想在cocos2d中画一条线,我可以很容易地使用ccDrawLine();sprite-kit中是否有等效项? 最佳答案 使用SKShapeNode你可以画线或任何形状。SKShapeNode*yourline=[SKShapeNodenode];CGMutablePathRefpathToDraw=CGPathCreateMutable();CGPathMoveToPoint(pathToDraw,NULL,100.0,100.0);CGPathAddLineToPoint(pat

swift - 如何在 Swift 3.0 中拖放 Sprite ?

我想要做的就是能够在屏幕上拖放Sprite。我尝试了以下代码:overridefunctouchesBegan(touches:Set,withEventevent:UIEvent?){}overridefunctouchesMoved(touches:Set,withEventevent:UIEvent?){fortouchin(touches){letlocation=touch.locationInNode(self)ifball.containsPoint(location){ball.position=location}}}这段代码确实有效,但是,当我非常快地拖动球时,我猜它

sprite-kit - SKShapeNode(circleOfRadius) 在 OSX 的 Playground 中产生 "unrecognized selector sent to class"

以下playground导致时间轴错误“无法识别的选择器发送到类...”importSpriteKitletnode=SKShapeNode(circleOfRadius:10)Screenshot当平台是iOS时似乎工作正常。运行10.9.3 最佳答案 这是因为您在比您尝试使用的API更旧的OSX版本上运行它。您使用的代码需要OSX10.10或iOS8及更高版本。OSX10.10APIDifferences确认所有SKShapeNodes自定义初始化器都刚刚添加到10.10中。以前,我们对SKShapeNode所能做的就是初始化一

swift - 我如何确定一个正方形是否可以在不与其他 Sprite 接触的情况下到达位置?

从上图中,给定初始位置b0(x,y)、结束位置b1(x,y)以及位置a(x,y)和c(x,y)。如何预先确定正方形B0是否会从b0(x,y)移动到b1(x,y)而不接触矩形A和C?我相信会需要这个角度。 最佳答案 一些观察...如果盒子B的初始位置在结束位置的右边(空隙中),那么只有当θ为逆时针角度时,盒子才能成功移动到结束位置而不会与其他盒子发生碰撞(见图以下)。对于此测试,使用框B的右上角和C的左下角。同理,如果方blockB的初始位置在结束位置的左边,那么只要θ为逆时针角度(见下图),它就可以成功移动到结束位置而不会与其他方b

sprite-kit - Swift 和 Spritekit 无法在运行 iOS 7.1 的设备上运行

当我尝试使用Xcode6在我的设备上运行我的Swift项目时,我收到了一个非常奇怪的警告。设备运行的是iOS7.1,我的mac运行的是Mavericks。我用Swift和SpriteKit编写了一个小游戏,它可以在模拟器中运行,但是当我尝试在我的设备上运行它时,我收到警告,并且我的设备只显示黑色背景。尝试运行新的SpriteKit项目时,我得到了相同的结果。但是,如果我使用Swift运行一个新的单页应用程序,它会正常运行。这是我收到的警告:有什么建议吗? 最佳答案 我也遇到了这个崩溃,与7.1.1SDKSpriteKit游戏模板相比

ios - 节点上的 Sprite Kit 相机

我做了一个平台游戏,把摄像头对准了主节点Player。我已经阅读了可以在这里找到的Apple文档:Apple大约有6个平台,它们之间有self.frame.size.height/4.5空间,它们应该在每次低于dy=-15时重生再次在屏幕顶部,使其无限循环。我有一个Player节点,每次触摸屏幕时它都会产生一个脉冲(Player跳上跳下)。整个游戏只在y轴上移动。我创建的相机聚焦在玩家身上,每次玩家跳跃时平台都会向下移动,而玩家会向上移动。然而,这只是View,而不是真实世界的位置。这意味着,SpawnPlatforms中的给定位置始终相同,因为它们不会移动,只有粘附在Player上的

sprite-kit - 如何在 Swift 中转换场景

在Objective-C中,使用Sprite-Kit,我会成功在Objective-C中使用类似于以下代码的东西来调出一个新场景if([touchedNode.nameisEqual:@"GameButton"]){SKTransition*reveal=[SKTransitionrevealWithDirection:SKTransitionDirectionDownduration:1.0];GameScene*newGameScene=[[GameScenealloc]initWithSize:self.size];//Optionally,insertcodetoconfigu

iOS9 Sprite 套件问题

一切都很顺利,直到我升级到xCode7和iOS9....我目前的项目是一个2D平台游戏,自从升级后,我就遇到了我们许多人似乎都面临的sprite工具包错误/错误。我的问题是每次游戏在模拟器或设备上运行时,所有Sprite都会根据其zPosition位置随机出现。到目前为止,我一直在寻找没有运气的答案。将所有图像移动到.xcassetsLikedescribedhere在build设置下将iOS开发目标更改为iOS9.0更改代码中的所有图像以包含其扩展名,即“background.png”我仍然遇到同样的问题,图像显然是随机分层的,任何人都可以推荐修复方法或我可能错过的其他一些可能的解决

swift - 在 Sprite Kit 中复制粒子发射器效果

我需要让粒子发射器效果在2个点重复显示(用于分屏目的),我想知道是否有人遇到过这样做的方法。我的目标是让它在iOS10上运行。这是我目前所做的尝试。将targetNode分配给SKNode,然后每帧复制SKNode:targetNode在iOS10中不起作用为了我。将粒子发射器分配给SKNode,并使用view.textureFromNode制作纹理以复制每一帧:占用1/120帧,太慢了我。将自定义Action分配给粒子节点,将节点复制到另一个SKNode:Action将不会在iOS10上运行Copyingtheexistingparticlenodeinhopesthatthesee

ios Sprite Kit 截图?

我正在尝试获取其中包含SKScene的View的屏幕截图。我使用的技术是:UIGraphicsBeginImageContextWithOptions(self.view.bounds.size,NO,scale);[self.view.layerrenderInContext:UIGraphicsGetCurrentContext()];UIImage*viewImage=UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();这对于普通的UIViews效果很好,但无论出于何种原因,它都会忽略SK