草庐IT

gameplay-kit

全部标签

swift - 如何在 Swift 中删除 Sprite Kit 中的所有节点?

我有一个游戏,与敌人的接触结束了游戏,但是当我在敌人节点上使用removeFromParent时,它只会删除最近的一个。敌人是使用switch语句生成的,以确定他们从哪一侧进入,一旦发生接触并且游戏结束,节点仍然存在会导致更多接触,从而使游戏变得困惑。如果用户没有按下任何东西,并且敌人在游戏结束屏幕期间完成了他们的轨迹,那么问题就不会发生。我可以在游戏结束后以任何方式从屏幕上杀死所有节点吗?我可以在结束屏幕中暂停输入大约3秒钟让操作完成吗?我是否需要在敌人生成时枚举它们以便在游戏结束后将它们一一杀死?我已经坚持了大约3天,希望得到一些帮助。我认为我解释得相当好,但如果我需要显示任何代码

ios - 重启 Sprite - Kit Game Swift

我使用SpriteKit创建了一个简单的2D街机游戏,我正在尝试添加一个计分系统。游戏基本上是一个方形Sprite,它必须跳过各种障碍。所以我想要的是当玩家接触到整个游戏重新开始的对象时。游戏检测到接触(我之前测试过)但是当我移除我所有的child然后运行我的游戏的基本主要功能时,我注意到旧对象不断产生并相互困惑。funcdidBegin(_contact:SKPhysicsContact){if(contact.bodyA.categoryBitMask==PhysicsCategory.Player&&contact.bodyB.categoryBitMask==PhysicsCa

swift - Scene Kit Swift 节点多次旋转

在带有Swift的SceneKit中,我只能进行一次旋转。我想在每次用户点击屏幕时沿z轴旋转相机。funchandleTap(){println("start")SCNTransaction.begin()SCNTransaction.setAnimationDuration(1.0)SCNTransaction.setCompletionBlock(){println("done")}_cameraNode.rotation=SCNVector4Make(0,0,1,CFloat(-M_PI_4)*0.5)SCNTransaction.commit()}但是,我想在每次触摸时保持旋转

ios - OBD2Kit Swift 示例无法进行类型转换,一直为零

由于没有使用OBD2Kit和Swift的示例代码,我将其fork到https://github.com/YannisDC/OBD2Kit中并将其用作pod。我翻译了一些OBJ-C示例代码,但似乎无法将FLWiFiScanTool向下转换为ELM327类型。为什么我总是得到零?importUIKitimportOBD2KitclassViewController:UIViewController,FLScanToolDelegate{@IBOutletweakvarhostIpAddress:UITextField!varscanTool:ELM327!@IBOutletweakvars

swift - 角落里的 Sprite Kit 标签

在场景的右上角或左上角添加标签的最佳方法是什么?它应该是跨设备的。letheight=self.frame.size.heightletwidth=self.frame.size.widthlabel.fontSize=50label.verticalAlignmentMode=.Toplabel.horizontalAlignmentMode=.Leftlabel.position=CGPoint(x:2,y:height-2)但它不会在角落里。怎么了? 最佳答案 在SpriteKit中,场景坐标的默认原点在屏幕的左下角。因此,如

Qt创建控制台程序选择构建套件问题“No suitable kits found”

一,问题现象QT选择构建套件时出现问题:二,问题原因“Nosuitablekitsfound”=没有找到合适的kits套件,在安装QtCreator时没有安装MinGW,所以只需要进行安装即可。三,解决方法3.1选择安装目录下的“MaintenanceTool.exe”,双击计入组件安装界面。3.2点击“下一步”3.3选择“添加或移除组件”:3.4根据自己安装的版本选择MinGW组件,点击下一步,如下图所示:3.5等待安装完成即可。3.6再次打开时,就可以选择刚才安装的MinGW四,总结本文主要介绍如何解决“Nosuitablekitsfound”问题,以及如何安装和卸载相应的组件。供参考,欢

ios - 如何在 Sprite Kit 场景外时删除节点

我试图在离开场景时删除节点,我尝试了这种方法来做到这一点if(CGRectIntersectsRect(node.frame,view.frame)){//Don'tdeleteyournode}else{//Deleteyournodeasitisnotinyourview}但它似乎不起作用任何帮助将不胜感激 最佳答案 从性能的角度来看,这不是最好的方法,但如果您在场景中重写update方法,您将能够编写每帧执行的代码。classGameScene:SKScene{vararrow:SKSpriteNode?overridefun

swift - 在 sprite kit 中创建高效的平铺背景

我在我的SpriteKit项目中创建的是由大约160个Sprite节点组成的大型二维平铺背景。但对我来说,这似乎非常低效。将这些节点置于单个父节点下是否会使它们更有效率?我假设不会,在那种情况下,他们是否有一种在运行时将纹理本身组合到单个节点中的方法?我会简单地使用图像编辑器来平铺这些图像,但由于我项目中的其他因素,所述背景的大小会因设备而异。 最佳答案 你可以做什么,在你的加载阶段,创建160个Sprite节点,使你的背景在1个父节点下,然后调用lettexture=scene.view.textureFromNode(paren

swift - GameplayKit + SceneKit, GKAgent 旋转转换

我在Scenekit(和ARKit,尽管这对这个问题并不重要)应用程序中使用GameplayKit一直很有趣。具体来说,我一直在为行为使用实体、组件和代理,除了一件事外,它们都运行良好。我已经设法在组件内使用GKAgent在场景中四处移动,并避开其他对象。这一切似乎都在起作用。但是,我只能让GKAgent位置工作,而不是“旋转”属性。importFoundationimportSceneKitimportGameplayKitclassMoveComponent:GKScnComponent,GKAgentDelegate{//thisclassisabbreviatedforperf

ios - 键盘未被关闭 : Facebook Account Kit iOS 11

我已经集成了FacebookAccountKitSDKv.4.26.0。以下是我遇到困难的场景:当用户单击登录时,会显示使用电话号码登录Controller,并且该屏幕上会立即出现键盘以输入电话号码。现在我点击屏幕上文本字段和键盘之外的任何地方来触发键盘关闭事件。但是从iOS11.*开始,键盘不会被关闭,如果我通过单击后退按钮导航回来,在这种情况下键盘也会保持打开状态。键盘关闭操作在iOS11.0之前工作正常。以下是我尝试解决此问题的步骤:1.使用为身份验证提供的AKFViewController实例,我尝试执行view.endEditing(true)以从AKFViewControl