草庐IT

ios - Xcode 9.1(和 9.2)- 引用的 Sprite 不执行场景编辑器中添加的 Action

我在使用SpriteKit场景编辑器时遇到了一些意想不到的行为,想知道是否有其他人遇到同样的问题。我在场景中创建了一个Sprite,并添加了使用场景编辑器移动它的Action。当我单击编辑器上的动画按钮时,Action运行良好。我在场景编辑器中使用SKReferenceNode对象将对此场景的引用添加到主场景,并且Sprite出现在编辑器中预期的主场景中。但是,当我构建并运行该应用程序时,会出现Sprite,但不会运行任何操作。我已经在Xcode9.2beta上试过了,得到了相同的结果。如果我直接从主视图Controller加载Sprite场景,所有的Action都会按预期执行,所以这

ios - 在 Sprite Kit 中播放声音

我在myScene.h中有以下代码:#importtouchBegin方法中的这段代码:[selfrunAction:[SKActionplaySoundFileNamed:@"fire.m4a"waitForCompletion:NO]];音频文件位于主文件夹中。当我运行应用程序并触摸应用程序关闭时,出现以下错误:Terminatingappduetouncaughtexception'MissingResource',reason:'Resourcefire.m4acannontbefoundinthemainbundle'我认为这是在SpriteKit中播放音频的方式,但我一定是

ios - Sprite Kit iOS 中的慢动作

有没有人知道如何在SpriteKitforiOS中实现慢动作效果?这将使包括粒子节点在内的所有节点以1/2的速度移动,并使粒子以1/2的速度移动。我可以想到如何手动执行此操作,但我想在开始实现之前获得更多想法。 最佳答案 我相信你能做到:self.physicsWorld.speed=0.5;文档引用:speedTherateatwhichthesimulationexecutes.@property(nonatomic)CGFloatspeedDiscussionThedefaultvalueis1.0,whichmeansthe

ios - 如何在 Sprite Kit 中设置要平铺的纹理

我正在制作一个sprite套件游戏,拥有一个具有平铺纹理的大型SKSpriteNode显然比拥有多个具有平铺纹理的SKSpriteNode更有效。我的问题是,当我尝试使用制作5x5瓷砖时SKTexture*tex=[SKTexturetextureWithRect:CGRectMake(0,0,5,5)inTexture:[SKTexturetextureWithImageNamed:@"tile.png"]];SKSpriteNode*node=[SKSpriteNodespriteNodeWithTexture:texsize:CGSizeMake(100,100)];图像被适本地

ios - Sprite 套件 | swift 3 |将 SKWarpGeometry 应用于节点

我在互联网上搜索了一些关于在SKSpritenodes上实现SKWarpGeometry的教程,但没有找到。我有一个TrampolineSKSpritenode和一个球SKSpritenode。ballNode=childNode(withName:"ballNode")as?SKSpriteNodeballNode?.physicsBody=SKPhysicsBody(circleOfRadius:(ballNode?.frame.size.width)!/2)ballNode?.physicsBody?.isDynamic=trueballNode?.physicsBody?.us

ios - 简单的 Sprite Kit 场景设置出错

我正在尝试设置一个简单的SpriteKit设置。我所做的只是从“空应用程序”重新创建默认的xCode模板“SpriteKitGame”。它一直在skView.showsFPS=YES;行崩溃。我无法解释。你能?谢谢!部分代码:AppDelegate.m-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions{self.window=[[UIWindowalloc]initWithFrame:[[UIScreenmainScreen]bo

ios - 如何对 Sprite Action 应用不同的缓动效果?

我在Cocos2D中使用了很多CCEase*功能,描述here.iOS7SpriteKit也有SKActionTimingMode。但是只有简单的模式。如何使用SpriteKit获得类似CCEaseElasticIn或CCEaseBounceIn的效果? 最佳答案 SpriteKit有意限制缓动(或补间),期望开发人员能够控制Sprite运动的细节。基本上,您需要做的是在更改sprite的属性(旋转、位置、缩放等)之前,进行自定义操作并将缓动曲线应用于参数。这是一个例子。CGFloatinitialScale=mySprite.xS

ios - Spritekit 在 SKSpriteNode 子类中获取 Sprite 场景的最佳方法

我正在子类化SKSpritenode并且需要引用Sprite的场景。有没有办法检测Sprite何时被添加到场景中。letgameScene=self.sceneasGameScene在init中执行此操作会引发可选错误,因为我的Sprite已实例化但未添加到场景中。如何判断我的sprite何时已添加到场景中以便设置属性? 最佳答案 通常我创建addToNode:(SKNode*)parentNode方法来处理:-(void)addtoNode:(SKNode*)parentNode{[parentNodeaddChild:self]

iOS 如何检查三个 Sprite 是否接触

我知道两个如何检查两个Sprite是否在spritekit中接触(使用contact.bodyA和contact.bodyB)。有人可以解释我如何检查三个Sprite是否相互接触吗?(例如,三个正方形Sprite相互接触,因为它们堆叠在一起)谢谢编辑:我发现可以使用allContactedBodies来查找一个body的所有联系人。请参阅下面的代码。但是出于某种原因,for循环出现错误。错误:'[AnyObject]?'没有名为“Generator”的成员谁能解决这个问题?funcdidBeginContact(contact:SKPhysicsContact){varnode1:SK

ios - swift:未检测到 Sprite 套件碰撞和位掩码

我对以下sprite工具包代码有疑问。我正在尝试检测飞球何时与一条线发生碰撞。然而,当两者碰撞时什么也没有发生。但是,当球击中场景边缘时,会打印出以下内容:联系人1位掩码1:4294967295位掩码2:4294967295问题1:为什么没有检测到线和球的碰撞?问题2:为什么在边缘碰撞时两个位掩码相同?如果我不知道哪个是哪个,我就无法处理这些尸体。structPhysicsCategory{staticletNone:UInt32=0staticletAll:UInt32=UInt32.maxstaticletBall:UInt32=0b1//1staticletLine:UInt32