jjzjj

kobold-kit

全部标签

swift - 使用 Swift 在 Sprite Kit 中进行碰撞检测

下面的代码来self目前正在做的一个项目,过去几天我一直在尝试自学Swift语言和SpriteKit,这是我第一次尝试游戏,它是一个FlappyBird类型的游戏.今天我在尝试编写碰撞检测代码时遇到了一个问题。当小鸟接触其中一根管道时,游戏应该暂停。但是,当我运行代码并且小鸟接触到管道时,什么也没有发生,小鸟只是从管道上弹开。我已经阅读了很多教程并观看了很多关于这个主题的视频来尝试解决我的问题并且没有任何运气。我已经在下面的代码中编写了我从上次观看的视频中学到的所有碰撞检测代码。谁能告诉我我做错了什么。任何建议将不胜感激,谢谢。////GameScene.swift//BirdFlap

ios - 如何获取 Sprite Kit 中 UI 触摸的位置?

我想获取触摸在UI中的位置,并使用该位置来确定Sprite运行的方向。例如,如果触摸在屏幕左侧,则用户向左跑,如果触摸在屏幕右侧,则用户向右跑。 最佳答案 尝试这样的事情overridefunctouchesBegan(touches:Set,withEventevent:UIEvent?){iflettouch=touches.first{letposition=touch.locationInView(view)print(position)}} 关于ios-如何获取SpriteKi

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