草庐IT

spritekit

全部标签

ios - SpriteKit crossFadeWithDuration : between scenes not working as expected

我正在尝试使用以下代码在我的sprite套件项目中的场景之间执行一个简单的交叉淡入淡出过渡:SKTransition*crossFade=[SKTransitioncrossFadeWithDuration:1.0f];[self.viewpresentScene:gametransition:crossFade];来self主场景的一个方法。这是发生了什么:游戏场景立即出现在当前场景之上。游戏场景在1秒内淡出,显示底层当前场景。游戏场景立即出现在当前场景之上。这是我期望发生的事情:游戏场景淡入当前场景我也在其他项目(如thisone)中对此进行了测试,我获得了相同的行为。过渡是否按预

iOS7 SpriteKit 如何实现文字密集的HUD 元素?

我正在构建一个基于SpriteKit的游戏,并希望有一个平视显示器来显示各种单位统计信息(下面左侧的示例)。用户点击一个单元,可以调出一个悬停在屏幕上并与当前单元相关的面板。用户可以随时关闭面板并返回游戏。我查看了spritekit编程指南,发现它仅限于在SpriteKit中构建的一行标签节点。我也知道thisansweronaddingaUITextFieldwithindidMoveToView:但是,阅读文档似乎会在场景加载后调用didMoveToView:。我还看到场景转换是可能的,但我正在考虑的面板不需要全屏转换。我如何在iOS中使用UIView和SpriteKit元素实现如

ios - 使用 SpriteKit 手势同时分别拖动、旋转和缩放多个 Sprite

我创建了一个iOS应用程序,我需要能够在其中同时移动、旋转和缩放Sprite(我使用的是Apple的SpriteKit)。在大多数情况下,我有这个工作。我目前可以用一根手指触摸并移动Sprite,如果我用两根手指,我可以缩放和旋转Sprite。为此,我使用了UIPanGestureRecognizer、UIPinchGestureRecognizer和UIRotateGestureRecognizer。那很好用。我想要的是,当我用右手拖动、旋转和缩放一个Sprite时,我可以用我的左手独立于另一个Sprite拖动、旋转和缩放一个不同的Sprite。目前我正在使用iOS手势来移动、旋转和

ios - SpriteKit - 停止对象堆积

我想知道我应该添加什么代码来阻止岩石堆积在屏幕底部并在休息(不移动)时将它们移除。这是创建岩石的代码。如果您需要任何其他代码,请告诉我:)-(void)addRock{SKSpriteNode*rock=[SKSpriteNodespriteNodeWithImageNamed:@"asteroid"];rock.position=CGPointMake([selfmakeRandomXWBetween:0and:self.size.width],self.size.height);rock.name=@"rock";rock.physicsBody=[SKPhysicsBodybod

ios - 如何完全卸载 SpriteKit Scene

当我在游戏中点击重试按钮时,我希望它重新加载MainScene。我正在这样做:-(void)retry{SKTransition*transition=[SKTransitionfadeWithDuration:.4];MainScene*gameOver=[[MainScenealloc]initWithSize:self.size];[gameOverdidMoveToView:self.view];[self.scene.viewpresentScene:gameOvertransition:transition];}但是,这会导致每次我点击重试时内存/CPU使用率增加(增加很多

ios - SpriteKit Pinball Flipper 行为

我正在尝试使用spritekit构建弹球游戏。球受重力影响并做出正确react,但我想不出一种方法来移动脚蹼以影响球的物理特性。现在我正在使用像这样的SKAction围绕anchor旋转鳍状肢//setanchorpointtoleftedgeforrotationtheLeftFlipper.anchorPoint=CGPointMake(0,0.5);//rotate(doneintouchesBegan)SKAction*rotateLeft=[SKActionrotateByAngle:-1.5fduration:0.1];[leftFlipperrunAction:rotat

ios - 在 SpriteKit 中使用 CAGradientLayer?

我创建了一个CAGradientLayer,效果非常好。但我的问题是,我想在SpriteKit中使用它作为背景...有实现的可能吗?也许把它放在SKSpriteNode中?提前致谢编辑:不幸的是有一条错误信息:5月28日19:08:19amirs-mbp梯度[2845]:CGContextSaveGState:无效上下文0x0。这是一个严重的错误。此应用程序或其使用的库正在使用无效的上下文,从而导致系统稳定性和可靠性的整体下降。此通知是礼貌的:请解决此问题。它将成为即将到来的更新中的fatalerror。5月28日19:08:19amirs-mbp梯度[2845]:CGContextS

ios - 在 SpriteKit 中创建带有动画的 cometd 需要认真的帮助

我目前正在处理一个SpriteKit项目,需要创建一个带有渐变尾部的cometd,该cometd在屏幕上呈现动画效果。在这方面,我遇到了SpriteKit的严重问题。尝试1。它:绘制CGPath并根据路径创建SKShapeNode创建一个带渐变的正方形SKShapeNode创建一个SKCropNode并将其maskNode指定为线,并添加正方形作为子节点在屏幕上动画正方形,同时被线/SKCropNode裁剪funcmakeCometInPosition(from:CGPoint,to:CGPoint,color:UIColor,timeInterval:NSTimeInterval){

ios - SpriteKit - 为什么我的游戏在发布新的 iOS 版本时出现错误?

spritekit是如何工作的?框架代码是编译到应用程序中还是iOS本身的一部分。我注意到每次iOS有重大更新时,我都会发现自己不得不重写一堆代码并修复我的spritekit游戏中的错误。这是为什么? 最佳答案 SpriteKit运行时环境在手机上,而不是应用程序的一部分。这样可以节省空间(否则每个应用程序都会包含他们使用的所有运行时库的副本,从而导致大量重复)但可能会导致您遇到的问题,运行时的更新可能会“破坏”应用程序以前工作过。发生这种情况是因为当您调用iOS函数(在SpriteKit、UIKit等中)时,您的代码分支到存储在手

ios - SpriteKit 是否支持 sprite/texture/shape 的密集镶嵌,以便可以自由变形?

例如,如果您有一张蹦床的图片,以及一个在上面跳跃的角色。然后,您想制作蹦床如何在中心向下弯曲的动画。为此,我必须获取位图并将其应用于密集镶嵌的OpenGLES网格。然后对其应用纹理。然后对网格进行变形。SpriteKit支持这个还是只能按原样显示纹理? 最佳答案 在iOS10中,添加了SKWarpGeometry允许您对Sprite进行变形。使用包含八个控制点的源和目标网格定义扭曲,这些点定义扭曲变换;SpriteKit将负责曲面分割和其他底层细节。您可以直接为Sprite设置包裹几何形状,或使用SKActions设置动画变形。SK