草庐IT

Sprite-kit

全部标签

ios - 带图像的 SKSpriteNode 不会着色

我像这样创建了一个SKSpriteNode://EasyButtonImage_easyImage=[[SKSpriteNodealloc]initWithImageNamed:@"smiley.png"];_easyImage.position=CGPointMake(-20,screenHeight/2);_easyImage.name=easyBtnName;_easyImage.physicsBody.affectedByGravity=NO;_easyImage.zPosition=10;[selfaddChild:_easyImage];在触摸开始方法中单击后,我正在尝试为

ios - 呈现 SKScene 后取消隐藏 UIButtons 时延迟?

我遇到了意想不到的延迟/暂停,到目前为止的原因让我摸不着头脑。我有一个简单的游戏设置,其中UIViewController显示许多UIButtons[PLAYGAME][VIEWSCORES]等,它们依次呈现不同的SKScene我的问题是,当我尝试从UIViewController将这些按钮的可见性设置为可见(之前在viewDidLoad中设置为隐藏)时,它们需要大约5秒才能实际显示。@implementationViewController-(void)presentTitleScene{//SHOWBUTTONS[[selflogoLabel]setHidden:NO];[[sel

ios - SKShapeNode 框架包含点 (0, 0) 即使 CGPath 不

我正在实现一个根据当前可见区域动态加载背景图形的游戏。背景是使用SKShapeNode绘制的。为了节省内存,我只绘制了CGPath的一小部分。问题是无论我使用什么CGPath坐标,SKShapeNode的结果帧将始终包含(0,0)点。这是一个例子:SKShapeNode*shapeNodePos=[SKShapeNodenode];CGMutablePathRefpathPos=CGPathCreateMutable();CGPathAddRect(pathPos,NULL,CGRectMake(50,50,50,50));shapeNodePos.path=pathPos;CGPat

ios - 如何重新激活两个 physicsBody 之间的联系

我正在尝试获取两个已经相互接触的physicsBody(实际上它们重叠,因为physicBody.collisionCategory=0;对于两个physicsBody),以重新启动/重新注册/重新触发它们的接触,根据命令。即使我试图让body1在body2内移动一个像素以重新触发接触,我也无法做到这一点。我还删除了一个physicsBody并在几秒钟后重新实例化它以重新触发接触。但没有任何效果。当两个物体已经接触时,是否有某种方法或技术可以重新启动接触过程?所以,为了让事情更清楚一点:1)SpriteHuman走到SpritePanel上。2)-(void)didBeginConta

ios - cocos2d 中 Sprite 的触摸 Action

我想在我的Sprite被触摸时做一个Action,这是Action方法:-(void)spriteEffect{CCSprite*actionEffect=avatar;idjump=[CCJumpByactionWithDuration:1position:ccp(0,0)height:50jumps:1];idsequence=[CCSequenceactions:jump,nil];[actionEffectrunAction:sequence];}现在,我的问题是,我不知道如何让触摸Action与Sprite连接;我应该用这个吗?-(void)ccTouchesBegan:(N

ios - 在 SpriteKit 中使用 touchesMoved 旋转奖轮

是否可以使用applyAngularImpulse但不以指数方式增加轮子的速度?理想情况下,我想让轮子跟随我的手指,但设置node.zRotation+=atan2f(y2-y1,x2-x1)会使我的轮子失去控制。这是我的决定,但感觉很不稳定:-(void)touchesMoved:(NSSet*)toucheswithEvent:(UIEvent*)event{UITouch*touch=[touchesanyObject];SKNode*node=[selfnodeAtPoint:location];CGPointpositionInScene=[touchlocationInNo

ios - 移动物理体 - didSimulatePhysics 与更新

在Spritekit游戏中使用物理体移动Sprite的最佳位置在哪里?我知道这两种方法每帧调用一次,首先更新然后didSimulatePhysics就在渲染View之前...当我们谈论Spritekit游戏时,在更新方法中应该做什么以及在didSimulatePhysics中做什么? 最佳答案 如果您正在寻找物理逻辑,例如在每次更新时检查碰撞和接触,例如单向平台无尽运行游戏,在这种情况下您必须检查碰撞并与每个正在运行的物理体接触,如果您是,请选择didSimulatePhysics如果只寻找移动的物理体而不接触和碰撞掩码,那么这两种

ios - 在 SKScene 的子节点上运行一个简单的操作会导致 iOS 7.1 中的 EXC_BAD_ACCESS

在对我一直在开发的SpriteKit游戏进行最后润色时遇到了这个运行时错误。在iOS8上运行良好,但在iOS7.1(模拟器和设备)上崩溃。我创建了一个小项目,它重现了我正在处理的问题。它通过解压缩在Xcode6中提供的编辑器中创建的sks文件来创建一个GameScene(就像创建新的SpriteKit项目时生成的示例项目一样)。使用childNodeWithName:在生成的场景中获取对sprite的引用后,尝试对其运行简单操作会使程序崩溃并引发EXC_BAD_ACCESS。直接修改Sprite的属性似乎工作正常(见代码)。-(void)touchesBegan:(NSSet*)tou

ios - SpriteKit linearDamping - 最大?

注意Apple的doco断言https://developer.apple.com/documentation/spritekit/skphysicsbody/1519796-lineardampingThispropertyisusedtosimulatefluidorairfrictionforcesonthebody.Thepropertymustbeavaluebetween0.0and1.0.Thedefaultvalueis0.1.Ifthevalueis0.0,nolineardampingisappliedtotheobject.事实上:您可以设置大于1的值-因此,“1

ios - SpriteKit : sprite looks blurry (with ghosting) at high velocity but fine at low velocity

在SpriteKit中使用高速(线性或角度)时,Sprite看起来很模糊,好像有“幽灵”尾随Sprite。Sprite在低速时看起来很好。下面是一个屏幕截图和GIF,说明了高线速度的模糊/重影问题,但该问题也出现在angularVelocity属性上。Ball代码(使用下面的SKScene重现模糊):letradius=CGFloat(8)letbody=SKPhysicsBody(circleOfRadius:radius)body.isDynamic=truebody.affectedByGravity=falsebody.allowsRotation=truebody.frict