Tag: 精灵套件

SKSpriteNode – 创build一个圆angular节点?

有没有办法让一个SKSpriteNode圆angular? 我正在尝试用颜色填充的SKSpriteNode创build一个Tile likesqaure块: SKSpriteNode *tile = [SKSpriteNode spriteNodeWithColor:[UIColor colorWithRed:0.0/255.0 green:128.0/255.0 blue:255.0/255.0 alpha:1.0] size:CGSizeMake(30, 30)]; 我怎样才能使它圆滑? 谢谢!

从SKScene演示UIViewController

我试图从SKScene提出一个UIViewController,但是,应用程序崩溃,这里是我的代码: 1-: UIViewController *vc = self.view.window.rootViewController; helpVC = [[HelpViewController alloc]initWithNibName:@"HelpViewController" bundle:nil]; [vc presentViewController: helpVC animated: YES completion:nil]; 2- helpVC = [[HelpViewController alloc]initWithNibName:@"HelpViewController" bundle:nil]; SKScene *sks = (SKScene*)helpVC; [self.view presentScene:sks]; 在这两种方式我的应用程序崩溃,感谢您的任何帮助 由于: 2014-02-08 16:38:29.119 BrickRacer[13883:70b] -[UIView presentScene:]: unrecognized selector sent to instance 0x10bb7ea50 2014-02-08 16:38:29.122 BrickRacer[13883:70b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIView […]

为什么didBeginContact被多次调用?

在Sprite Kit的内置物理引擎中使用Sprite Kit和接触检测的iOS游戏中,每次与敌人接触时,我会将Hero的数字减less1。 这是从didBeginContact方法完成的。 然而,似乎这个方法不只是一次,当接触开始时调用,而是连续调用,只要英雄和敌人重叠:当我在该方法中设置断点时,我可以看到,它是完全相同的作为contact.bodyA和contact.bodyB存在的物理实体实例。 结果是英雄将会失去多重生命,尽pipe他只能通过一个单一的敌人。 如果英雄再次遇到同一个敌人,他应该seenEnemies一次,所以我不能只保留一个被seenEnemies哈希集来处理上面的问题。 现在的问题是:你如何确保每个英雄/敌人的联系人都只有一个生命被扣除?

截图显示空白 – 斯威夫特

嗨,我正在做一个游戏,我已经添加了一个分享button的游戏。 我希望用户能够在一条消息中共享消息,URL和屏幕截图。共享方面工作正常,除了屏幕截图本身显示空白以外,所有内容都显示出来。 这是我用来截图的代码: let layer = UIApplication.sharedApplication().keyWindow!.layer let scale = UIScreen.mainScreen().scale UIGraphicsBeginImageContextWithOptions(layer.frame.size, false, scale); layer.renderInContext(UIGraphicsGetCurrentContext()) let screenshot = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() UIImageWriteToSavedPhotosAlbum(screenshot, nil, nil, nil) println("screenshot") 请帮我解决这个问题,请确保在Swift语言中这样做。 此外,我使用SpriteKit技术,如果这有所作为。 我是新来的编码,所以请非常清楚。 非常感谢你!

如何通过代码从SKScene到UIViewController?

我想要的只是当用户触摸skscene中的skspritenode时,它会转到不同的视图,如performseguewithidentifier 。 谢谢你的帮助。 我可以发布代码,但它似乎是一个通用的问题,所以我觉得你不需要任何。 顺便说一下,我已经想出了如何检测敲击skspritenode。 我一直在看这个很长时间,我很难过。 请帮忙。

iOS通用设备应用与SpriteKit,如何缩放所有视图的节点?

我想创build一个横向应用程序是通用的 ,以便Sprite节点按比例缩放任何视图大小运行的应用程序。 我想要一个完全程序化的解决scheme,因为我不喜欢IB。 我的游戏非常简单,我不需要任何滚动或缩放,所以整个游戏将始终存在并占据整个视图。 我在寻找的可能是改变场景的大小,以适应视图? 如果是这样,你能解释一下,因为我试图改变我的视图控制器的这一部分 if let scene = GameScene(fileNamed:"GameScene") 成为构造函数的方法,把尺寸作为参数,但Xcode不喜欢这一点。 我试过的东西 使用self.view.bounds.width / height的分数。 这通常会使所有的iPhone看起来不错,但在iPad上延伸和扭曲节点以及周围的边框。 在所有四种types中改变scaleMode。 我想保持良好的实践和感觉.AspectFill(默认)是我应该使我的应用程序的工作,但开放的build议。 注意; 我不想在任何设备上出现黑边,只是按比例显示/缩放整个视图。 应用程序化约束。 现在我对这个还比较陌生,完全不了解约束条件,但是我从RayWenderlich那里看到的任何教程都没有提到关于节点约束的教程,所以我没有深入研究这个问题。 使用这样的方法来转换点之间的点。 这实际上对于节点的定位非常有效,如果可能的话,我希望这个方法能够解决,但是我仍然有节点大小的问题。 另外当我用这种方法为iPad构build视图似乎开始作为肖像和节点看起来不错,但我必须手动切换到风景和精灵和视图边界再次弄乱。 这里的方法是: func convert(point: CGPoint)->CGPoint { return self.view!.convertPoint(CGPoint(x: point.x, y:self.view!.frame.height-point.y), toScene:self) } 在RW和互联网上的其他地方无数的video教程。 提前致谢! 我感谢帮助。 我知道这个话题很奇怪,因为很多人对此提出质疑,但是每个人的情况似乎都不一样,以至于一个解决scheme并不适合所有人。

如何创build倒数计时器的循环进度指示器

我正在尝试为我的应用程序添加一个倒计时,并且在animation中遇到了问题。 我要去看的外观类似于下面显示的iPad倒计时,随着时钟倒数,红色条会增加。 最初,我创build了一个图像地图集,每倒计时半秒钟一个单独的图像,但这似乎需要大量的内存运行,因此崩溃的应用程序,所以我现在必须find一个替代scheme。 我一直在着色着色https://developer.apple.com/library/prerelease/ios/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/Sprites/Sprites.html#//apple_ref/doc/uid/TP40013043-CH9看不到一种将精灵的一部分着色的方式,似乎整个精灵都会被改变。 有没有人知道如果着色会是一个select,或者有没有一种方法来减less图像使用的地图集? 谢谢

Sprite Kit和播放声音导致应用程序终止

使用ARC 只是我碰到一个问题 – 我有一个SKScene,在其中使用SKAction类方法播放声音 [SKAction playSoundFileNamed:@"sound.wav" waitForCompletion:NO]; 现在,当我尝试去背景,无论声音结束,显然iOS终止我的应用程序,由于gpus_ReturnNotPermittedKillClient 。 现在,只有当我评论这行,而不是运行iOS的后台运行(当然,暂停,但没有终止)的行动。 我究竟做错了什么? 编辑 :iOS不会终止应用程序,如果行不运行 – 说,如果它是在一个if statement没有运行的if statement (soundOn == YES)或类似的东西,当布尔是false

什么是处理多个SKScenes的最好方法?

我使用默认的新游戏项目做了一个游戏,然后插入一个普通的UIView作为应用程序的介绍场景。 因为使用SKScene将intro“升级”了起来,使用button将原始的gameViewController放到堆栈上。 一旦游戏视图被加载,似乎有点迟缓,所以我假设这是与2完整的skscenes和视图控制器的开销。 我甚至设置了着陆场景暂停,但显然仍然使用内存! 我的问题是,如何使用SKScene作为着陆页(使用它自己的LandingViewController),然后有效地将GameViewController添加到堆栈中。 我试着合并2个视图控制器,但这似乎是一个愚蠢的做事方式。 当前设置: LandingViewController |-LandingScene GameViewController |- GameViewScene |- Other Game Classes 应用程序进入LandingScene(和着陆UI精灵)的LandingViewController。 LandingViewController处理触摸事件,如button等。当新游戏被轻敲时,GameViewController被推送(当前使用Segue)和GameViewController进入场景,游戏状态,UI,游戏板等。GameViewController处理触摸事件的场景。 当游戏结束时(点击结束游戏或游戏结束状态),GameViewControllerpopup。 LandingViewController和GameViewController控制他们的animation和点击stream等,所以GameViewController做游戏逻辑,像下一个转弯结束游戏等。任何帮助或指针将不胜感激,因为我想这样做的权利!

如何抛出SKSpriteNode?

所以基本上在我的游戏中我需要抛掷或抛出一个对象。 到目前为止,我有一个精灵,它可以被拖动,但不能被抛出。 游戏的想法是抛出一个精灵与另一个精灵发生冲突。 我想要我们将调用testNode的精灵,移动用户抛出它的位置 这意味着,当我释放精灵时,我希望它继续沿着我移动的方向前进。 我花了很多年努力工作,但我不能。 我正在使用SpriteKit for iOS 8+。 如果有人可以帮忙,请做。 这是一个我看到的video,但它是与GameSalad这是另一回事。 你可以看看 (如果您需要进一步的联系,请回复) import Foundation; import SpriteKit; class Level:SKScene { TestNode:Test? //Test is a class I made //Removed the update and touches began due to it being irrelevant to what I need help with. override func didMoveToView(view: SKView){ testNode = Fruit(imageNamed: "apple_idle") testNode?.position = […]