Articles of swift

SCKTransaction在Scene Kit中的问题

我试图将对象从y坐标0到y坐标10十秒的时间内移动。该对象是在y坐标0处创建的。问题是当animation开始时,对象popup到像一个结束位置第二个左右然后弹回到起始位置并正确开始animation。 为什么对象即刻结束移动到最终位置,我怎样才能防止这种情况发生? //create box bottom func createGrabBox() { grabbottom = grabBox.rootNode.childNodeWithName("grabbottom", recursively: true)! grabbottom.position.y = 0 grabbottom.geometry!.firstMaterial!.transparency = 0.5 grabbottom.physicsBody = SCNPhysicsBody(type: SCNPhysicsBodyType.Dynamic, shape: nil) grabbottom.physicsBody!.restitution = 0.0 grabbottom.physicsBody!.friction = 1.0 grabbottom.physicsBody!.categoryBitMask = ColliderType.grabBottomCatagory.rawValue grabbottom.physicsBody!.collisionBitMask = ColliderType.diceCatagory.rawValue scene.rootNode.addChildNode(grabbottom) //animation snippet SCNTransaction.begin() SCNTransaction.setAnimationDuration(10.0) SCNTransaction.setCompletionBlock() { } grabbottom.position.y = 10 SCNTransaction.commit() //physics field for this object let […]

自定义健康栏/加载栏

我正在尝试创建一个自定义加载栏/健康栏。 有没有什么办法来创建这样的东西? 你能为我指出正确的方向吗? 我将使用哪些function等 另外,我可以在SingleViewApplication中执行此操作,还是建议在SpriteKit上完成此操作。

不知道如何处理XML文件和Spritesheet(Swift 3)

一般来说,我是新来的spritesheets和游戏开发。 我有两个文件:1)一个包含大量精灵的.png spritesheet,以及2)带有坐标,定位点,图像名称和animation信息的伴随XML文件。 spritesheet似乎没有顺序,我不能理解XML文件的组织(它似乎不包含看起来不同大小的精灵图像的尺寸) 我的问题是:我如何使用这些来制作精灵animation? 看来这项工作已经完成了,但我不知道如何使用它。 特别是,我想用Swift 3 SpriteKit。 我会满意的导出所有的精灵到适当的名字单独的图像。 那可能吗? 感谢您的帮助!!

有效地创建和管理一个非常大的tileMap

我正在做一个二维JRPG建立在一个鸟瞰tileMap上,我不能完全包围我的脑子,我将如何有效地做到这一点 我想使用50X50块,在玩家所在的邻近4个邻近点中的玩家周围呈现。当玩家从块移动到块时,与其相邻的所有块都被渲染,并且只有这些块其余的以前渲染的块被删除 我也需要一种方法来有效地处理由用户修改的块 如果你的答案可以提供必要的材料,所以我可以做这两件事的研究,我将不胜感激 方法,将允许有效的块加载和存储 一种方法来保持由玩家修改的块“保存”以备后用 如果你能列出所有必要的事情,我需要做到这一点,我真的很感激

swiftkit spritekit如何旋转一个节点,使其始终处于垂直或水平位置

我正在写一个简单的tvOS游戏,使用swift 4和sprite工具包。 我想要一些关于如何旋转一个节点的帮助,既可以垂直站立,节点的顶部始终位于顶部,也可以水平放置,顶部始终位于最右边。 有人可以告诉我如何做到这一点? 现在节点似乎只是随机旋转。 // // GameScene.swift // //由1/20/18上的gregoryew1创建。 //版权所有©2018 gregsiosapps。 版权所有。 // 导入SpriteKit导入GameplayKit 类GameScene:SKScene { let player = SKSpriteNode(imageNamed: "player-rocket.png") override func didMove(to view: SKView) { // this method is called when your game scene is ready to run let background = SKSpriteNode(imageNamed: "space.jpg") background.zPosition = -1 addChild(background) if let particles = SKEmitterNode(fileNamed: […]

我的Boids实现中的Sprites是否应该由模型对象支持?

这个问题是关于构建Craig Reynolds Boidsalgorithm实现的正确方法。 我有一个像这样的Agent对象: struct Agent: Equatable { let identifier = NSProcessInfo.processInfo().globallyUniqueString var position: CGPoint var velocity: CGVector init(position: CGPoint = .zero, velocity: CGVector = .zero) { self.position = position self.velocity = velocity } } 还有一个包含代理数组的Simulation对象。 Simulation对象的每次迭代都会更新Agent中的每个Agent的position和velocity 。 像这样的东西: class Simulation { private var agents: [Agent] = [] init(agents: [Agent]) { self.agents = agents } […]

SpriteKit和Swift或Objective-C

作为iOS编程的新手,我想知道哪一个更适合我想编程的游戏types。 我一直负责为我的公司编写iOS游戏。 他们在学习我自己学习Swift的时候,让我做这个。 游戏将是一个基于回合的战略游戏,包括一个不规则区域/多边形的地图和可以在地图上移动的玩家作品。 我需要能够检测一块棋子何时进入不同的区域,并限制棋子只能移动一定数量的区域。 这可以直接在Swift / Spritekit中完成吗?

基于平铺的移动与SKAction(Xcode 8,Tile Map)

我正在尝试制作一个英雄可以像神奇宝贝一样在SKActions中移动的游戏。 但是这个运动看起来不专业,有延误。 我们如何处理移动英雄顺利与SKActions从瓷砖瓷砖没有检查每一帧,如果触摸? (如果方向被按下并释放,操纵杆只发送一个信号) 编辑:我正在使用Xcode 8和新的瓷砖地图function

Swift gamedev选项为linux

我最近试过了Swift。 我发现它很棒。 但是我无法在Linux上find任何游戏开发库。 一切似乎都是为了MacOS和iOS开发的。 Github上有一个或两个SDL绑定。 但是他们还没有准备好像他们的网页上列出的“公共消费”。 一个选项是使用Glfw。 但是,我将不得不使用OpenGL的一切。 有什么游戏开发库你知道吗? 即使使用简单的graphics库也会对我有所帮助。 如果可能的话,请列出你在Swift中知道的有用的gamedev相关库。 谢谢! 编辑:请不要列出仅MacOS库。 正如我之前所说的,我是一个Linux用户,正在寻找可以在Linux上使用的库。

Swift Spritekit:创建逼真的驾驶精灵

我将如何去创造一个真实的驾驶体验? 我正在使用iOS Swift 3和SpriteKit,使用applyForce函数来加速,当我点击燃气button,刹车的时候给摩擦力添加摩擦力,我似乎​​也无法右转,不知道该怎么做。 现在转弯,我用左右分开屏幕,但是我使用的是applyForce,但是它非常糟糕,因为当车停下来并且以一种非常不切实际的方式转向时, 当我施加力量时,它只能上升,所以如果我创造了一个转向机构,而我做了一个跳转的话,车子还是会上升的。 另外注意:多点触控不起作用? 任何帮助? 谢谢 override func didMove(to view: SKView) { // Multi Touch self.view?.isMultipleTouchEnabled = true car.carNode.position = CGPoint(x: 0, y: 0) car.carNode.physicsBody = SKPhysicsBody(rectangleOf: car.carNode.size) car.carNode.physicsBody?.affectedByGravity = false car.carNode.physicsBody?.angularDamping = 0.1 car.carNode.physicsBody?.linearDamping = 0.1 car.carNode.physicsBody?.friction = 0.1 car.carNode.physicsBody?.mass = 1 self.addChild(car.carNode) // HUD Display gas.gasButton.position = CGPoint(x: 300, y: […]