草庐IT

Sprite-kit

全部标签

ios - 使用移动触摸旋转 Sprite 节点

我是Swift和SpriteKit的新手,正在学习理解“Fish&Trip”游戏中的控件。sprite节点始终位于View的中心,它会根据您触摸的移动而旋转,无论您在哪里触摸和移动(按住)它都会相应地旋转。这里的困难在于它不同于我在图1和图2中注意到的平移手势和简单的触摸位置。对于第一张图片,触摸位置由atan2f处理,然后发送到SKAction.rotate完成,我可以让它工作。对于第二张图片,我可以通过设置一个UIPanGestureRecognizer来获得它并且它可以工作,但是您只能在围绕初始点(touchesBegan)移动手指时旋转节点。我的问题是第三张图,和Fish&Tr

ios - 尝试在循环中一次移动一个 SKShapeNodes

我想将节点从屏幕外的位置移开,并将它们沿X轴间隔排列。节点已创建并存储在数组中。我有以下代码来做到这一点。但是,所有节点同时移动。当先前的节点处于新位置时,我希望它们连续移动。我曾尝试更改等待操作的持续时间,但它不起作用。谢谢varshapeNodes:[SKShapeNode]=[SKShapeNode]()letw=(size.width+size.height)*0.05for_in1...5{lets=SKShapeNode(rectOf:CGSize(width:w,height:w),cornerRadius:w*0.3)s.position=CGPoint(x:frame

ios - Facebook Account kit 测试手机号码

Facebook帐户工具包是否有任何一个沙盒手机号码??用于测试Facebook帐户工具包??这是Facebook帐户工具包的链接https://developers.facebook.com/docs/accountkit/ios/因为AppleReview团队因手机号登录而拒绝申请 最佳答案 当您在Appstore上传应用时,在ItunesConnect的笔记中使用FacebookAccountKit写入Otp。 关于ios-FacebookAccountkit测试手机号码,我们在S

ios - 对于 SKSprite,customAction 实际上是 Update 调用吗?

由于一般性精神病,Apple在SKScene中调用了一个update(),但他们忘记在SKSpriteNode中调用了一个Update。现在,就我们所有的测试可以确定的而言,在SpriteKit中,仅在Sprite上使用“customAction”似乎与在场景中的update中运行某些东西完全相同.functeste(){leta=SKAction.customAction(withDuration:5.0){[weakself]node,elapsedTimeinprint("Honesttogoodness,thisistherunloop.Ithink.")print("\(se

ios - 当您在 Cocos2d 中加载纹理(使用 Sprite 表)时,内存使用量如何增加?

我正在构建一个应用程序,它使用Cocos2d创建内容map(技术上是图论意义上的大树)。每个节点都由一个具有自己纹理的Sprite表示,叶节点都有第二个“按下按钮”纹理。另外,有些节点是PNG动画。我有一个包含130个左右节点纹理的sprite表,以及3个用于动画的其他sprite表。所有这4个文件加起来只有大约18.4MB。如果我运行该应用程序但不运行cocos2d部分(即根本不启动框架,因此从不加载纹理),该应用程序的运行速度约为10MB。当我加载Cocos2d和那些Sprite表时,内存猛增超过90MB。我所有的研究似乎都表明我正在以尽可能最有效的方式做事,但由于内存使用率已经如

ios - cocos2d Sprite 表的大量内存消耗

根据cocos2dbestpractices,我已将游戏的关键Assets打包到4个单独的Sprite表中。FWIW,我用TexturePacker创建了这些表并用TinyPng压缩了生成的.pngs.4个中最大的Sprite表(包含我的对话框)是375KB大和2048x2048px-hd变体(又名@2x).我一直注意到游戏中存在内存问题,因此我启动了Instruments中的Allocations工具。果然,主场景在视网膜设备上使用了~250MB内存(在非视网膜设备上~95MB)。哇!巨大的!更糟糕的是,较旧的视网膜设备(例如iPhone4)存在相当大的延迟。我做的第一件事是移除其中

ios - Sprite 套件与子 Sprite 的碰撞检测

我正在尝试检测两个sprite之间的碰撞,但我无法对子sprite执行此操作。self.player=[[Playeralloc]initWithImageNamed:@"player"];self.player.position=CGPointMake(150,75);[selfaddChild:self.player];_object=[SKSpriteNodespriteNodeWithImageNamed:@"object"];_object.position=CGPointMake(-40,27);[self.playeraddChild:_object];然后我有这样的碰撞

ios - 如何在某个SKScene上显示iAd并在另一个SKScene上隐藏它

我正在制作一个简单的游戏,我想在游戏结束屏幕的顶部添加一个iAd。我可以将它添加到UIViewController,但它会在播放时显示,这是我不想要的。有没有办法让iAd只出现在某个SKScene上?感谢您的帮助! 最佳答案 最干净的解决方案是声明并实现一个协议(protocol),让UIViewController知道它应该隐藏广告。@protocolMySceneDelegate-(void)hideAd;-(void)showAd;@end@interfaceMyScene:SKScene@property(weak)idde

ios - SpriteKit 和 UIScrollView 以及 HUD

我正在尝试制作小型iOS游戏。将向用户呈现比设备屏幕尺寸更大的场景。我相信处理这个问题的正确方法是创建场景并将其放置在ScrollView中,这样用户就可以滚动查看整个场景(甚至可以滚动进出以查看更多细节)。但是我在这方面没有成功..这是代码:-(void)viewWillLayoutSubviews{//Configuretheview.SKView*skView=(SKView*)self.view;if(!skView.scene){skView.showsFPS=YES;skView.showsNodeCount=YES;//Createandconfigurethescene

ios - Spritekit touchesEnded 滞后

我正在使用spritekit制作游戏,触摸开始和触摸结束之间有明显的100-200毫秒延迟。有什么办法可以加快速度吗?我需要使用touchesended(计算用户触摸的起点和终点之间的矢量射线。-(void)touchesBegan:(NSSet*)toucheswithEvent:(UIEvent*)event{for(UITouch*touchintouches){CGPointlocation=[touchlocationInNode:self];touch_start_pt=location;}touching=true;}-(void)touchesEnded:(NSSet*