Tag: 精灵套件

简单的GIF像Spritekit一样的animation

我无法真正find一个简单的解决scheme,我看到的每个例子都只显示了非常复杂的解决scheme,但我所需要的只是2-3个图像,因此看上去好像是animation一样。 和animationGif一样的效果。 现在我有这个来创build一个图像 MonsterNode = SKSpriteNode(imageNamed: "MonsterNode_GameScene") 但如何将MonsterNodevariables设置为这种animation? 我真的正在寻找实现这个所需的最less量的代码。

我是否需要为每个新的.swift文件创build一个新的SpriteKit级编辑器文件?

我正在尝试使用Sprite Kit级别的编辑器。 默认情况下,有一个“gamescene.sks”文件附加到“gamescene.swift”。 例如,如果我正在制作“游戏后台”或“游戏场景”,如果我想在关卡编辑器中使用我的游戏,是否需要创build它们(.swift和.sks)? 另外,我对尺寸pipe理感兴趣。 我正在制作一个通用设备游戏。 我应该改变它的默认大小(1024×768)还是不要打扰? 此外,那个场景的canvas看上去是水平的,如果我的游戏只是肖像模式,我应该改变它吗?

使用Core Animation完成自定义animation – 性能

文章 https://www.objc.io/issues/12-animations/animating-custom-layer-properties/ 对于使用Core Animation完成自定义animation有这个说法: 假设我们不是使用单独的图层来实现我们的钟面,而是使用Core Graphics绘制时钟。 (一般情况下 ,这将会有较差的性能 ,但是可以想象,我们可能想要实现的复杂绘图操作难以使用普通图层属性和变换进行复制。)我们将如何实现这一点? 换句话说,我们使用CG手动绘制CA的每一帧,因为我们的animation太复杂,只能使用内置的CALayerfunction。 问题是关于劣质的performance 。 由于CG在CPU上运行,这是否会阻塞主线程? 这可能是使用SpriteKit而不是CA的原因(因为SpriteKit在GPU上运行,不会阻塞主线程)?

在精灵套装游戏中可以有Twitter / Facebook分享button吗?

我完全失去了,我发现的所有教程都是iOS 6应用程序与故事板。 我的问题是,如果你可以在精灵套件游戏中有一个Twitter或Facebook的分享function? 如果是的话,添加它的最好方法是什么? 我读过的很多教程使用视图控制器,但精灵套件使用场景,所以我有点困惑。 谢谢。

JSTileMap如何处理视网膜和ipad / iphone瓷砖地图?

我已经使用Tiled创build了一个基本的地图。 我正在使用JSpileMap和SpriteKit来获取场景中的地图。 据我所知,JSTileMap(而不是SKTexture)自动处理视网膜和不同的设备。 到目前为止,我还没有取得好成绩,这是我的设置: 我有一个.tmx文件,使用map.png在基本分辨率下创build,因为它是瓦片集。 .tmx出现在项目中,但我故意没有添加map.png(我不想支持非视网膜iPhone)。 在这个项目中,我只添加了以下的png:map@2x~iphone.png(视网膜iPhone,使用48×48的贴图)map〜ipad.png(非视网膜的iPad,使用48×48的贴图)map@2x~ipad.png(视网膜iPad,使用96×96瓷砖) 这里是我得到的结果(清理版本和重置模拟器上的内容和设置后): 视网膜iPhone – 瓷砖是错误的地方 iPad – 没有显示地图,JSTileMapparsing错误 视网膜iPad – 瓷砖在错误的地方 如果我只用一个普通的香草map.png(用48×48的方块): 视网膜iPhone – 瓷砖地图显示,但太大,当然 iPad – 瓷砖地图显示完美 视网膜iPad – 瓷砖地图显示完美,并缩放。 我知道我可以使用一个24×24的tile.png,显然它会扩展一切。 我宁愿不使用缩放的瓷砖集,因为质量会受到影响。 提前致谢。 Ë

检测Swift中两个对象之间的碰撞

碰撞检测在Swift中非常简单 – 但是在这个特定的项目中,碰撞并没有像往常那样触发didBeginContact事件。 这是我的两个身体碰撞清单(使用士兵和子弹): 将SKPhysicsContactDelegate添加到类中。 正确设置physicsWorld,通常是: self.physicsWorld.contactDelegate = self 为每组节点创build类别。 例如let bulletCategory = 0x1 << 0 为每个子弹和士兵创buildSKNodes。 给每个子弹和士兵一个形状匹配的物理机构。 将每个子弹的categoryBitMask设置为bulletCategory (士兵被设置为士兵类别)。 将每个子弹的contactBitMask设置为士兵soldierCategory (士兵设置为bulletCategory)。 定义didBeginContact()处理程序。 以下是我的完整代码。 这是一个至less20行的“Hello World”碰撞。 如果你创build一个新的“游戏”并将其粘贴到GameScene.swift中,它将运行,只是不会触发碰撞事件。 // // GameScene.swift // Thesoldier // // Created by Donald Pinkus on 12/19/14. // Copyright (c) 2014 Don Pinkus. All rights reserved. // import SpriteKit class GameScene: SKScene, […]

SpriteKit – 制作一个不受重力影响的精灵(就像一个气球)

有没有人有任何想法,我可以让我的SKSpriteNode反抗引力? 我想到了颠倒默认的重力,但意识到我也需要的东西掉下来! 这看起来应该很容易,但通过文档阅读我不明白我会怎么做! 谢谢

SpriteKit场景中意想不到的物理体

我正在用SpriteKit实现一个质量弹簧系统(许多小型物理实体与SKPhysicsJointSpring实例结合在一起)。 一些粒子在穿过场景中心时会受到阻碍。 在场景中间似乎有一个小小的,静止的身体,我不知道为什么它在那里。 这是一个简单的方法来看看我在说什么: 在XCode 8中,用“游戏”模板创build一个全新的项目。 在GameViewController.viewDidLoad() ,添加view.showsPhysics = true 如果你运行这个项目,你应该在中间看到一个小点,这是一个错误的身体: 任何人都知道如何摆脱它? 编辑:我试图手动创build场景对象: 在GameViewController.viewDidLoad() ,我replace了这个: // Load the SKScene from 'GameScene.sks' if let scene = SKScene(fileNamed: "GameScene") { view.presentScene(scene) } 有了这个: let scene = GameScene(size: view.frame.size) scene.anchorPoint = CGPoint(x: 0.5, y: 0.5) view.presentScene(scene) 但是这并没有解决它。

iOS – bodyWithPolygonFromPath:Body与path相同,但碰撞不能正常工作

首先,我要感谢这个网站上的每个用户,因为我总是在这里find解决scheme,而且非常有帮助! 我正在尝试使用SpriteKit制作像Xonix,Bix或Jezzball的游戏。 无论如何,我有一个弹跳在墙上的球,我试图阻止它不能走的障碍,这些障碍是由CGPathref(用户使它的运动) 我使用bodyWithPolygonFromPath创build了skspritenode的物理体,它正在工作,但并不总是如此。 我已经下载了YMCPhysicsDebugger来查看身体的内容,并且在任何情况下都是好的,但是我已经看到,当我在CGPath上有超过4分时,球不会与整个身体发生碰撞,它只碰撞一个较小的区域..我已经尝试过,没有任何结果search了很多..我试图使逆时针CGPath的点,它不工作,即使在另一边.. 我拷贝了你创buildSKSpriteNode的代码,但我怀疑它会有用,我认为问题是与我的观点,也许我需要更多的解释如何物理工作与多边形 SKSpriteNode *zone = [SKSpriteNode spriteNodeWithColor:[UIColor redColor] size:CGSizeMake(50, 50)]; zone.physicsBody = [SKPhysicsBody bodyWithPolygonFromPath:path.CGPath]; // 1 zone.physicsBody.friction = 0.0f; zone.physicsBody.restitution = 0.0f; zone.physicsBody.linearDamping = 0.0f; zone.physicsBody.allowsRotation = NO; zone.physicsBody.categoryBitMask = wallsCategory; zone.physicsBody.dynamic = NO; // 2 [self addChild:zone]; 这里有两张我的“游戏”的照片,第一张是作品,球反弹回来。 第二个是不应该的,只有上部被检测到碰撞。 http://hpics.li/86a69e2 http://hpics.li/e16d18e 我也尝试在更新函数中检测到球进入障碍时手动使其反弹,但当然,这不是真的工作。 加上我的math研究不是那么好大声笑 for(SKSpriteNode *zone in zonesTab) { UIBezierPath *path […]

enumerateBodiesAlongRayStart打印“机会”在Xcode 6控制台

我正在使用enumerateBodiesAlongRayStart和此方法不断打印单词“机会”到我的控制台。 有什么办法可以压制这个吗? 这是怎么回事? self.gameScene.physicsWorld.enumerateBodiesAlongRayStart(self.rayStart, end: self.rayEnd, usingBlock: { body, point, normal, stop in })