草庐IT

SkSpriteNode

全部标签

ios - 为什么 Sprite 套件中的 touchesBegan 不允许我访问 Sprite 名称?

当我使用断点检查我的触摸事件时,我注意到我使用以下代码检测到的触摸节点没有.name。有什么帮助吗?任何其他方式我都可以检查我接触过的节点。我希望我的节点代表body的各个部分,并且相信为每个body部分创建物理体可能会降低应用程序的速度。以下是我的代码。不是很复杂:-(void)touchesBegan:(NSSet*)toucheswithEvent:(UIEvent*)event{[supertouchesBegan:toucheswithEvent:event];UITouch*touch=[touchesanyObject];CGPointpositionInScene=[t

ios - 暂停 Sprite Kit 物理游戏在 iOS 9 上无法正常工作

我在使用物理暂停sprite套件游戏时遇到问题。游戏包含一个在SpriteScene中移动并具有以下参数的球:self.ball.physicsBody.friction=0;self.ball.physicsBody.linearDamping=0;self.ball.physicsBody.restitution=1.0f;self.ball.physicsBody.affectedByGravity=NO;self.ball.physicsBody.usesPreciseCollisionDetection=YES;问题是当我暂停游戏时,我调用了这些方法:self.scene.p

ios - SpriteKit : how to make SKEmitterNode particles twinkle?

SpriteKit中的SKEmitterNode可让您更改粒子属性,但您如何为粒子设置动画,使它们像该视频的0:12标记一样闪烁?https://www.youtube.com/watch?v=wYy2G0lVTAM这可能吗?我们尝试快速将颜色从黄色变为白色(Sprite原本是白色的),但这并没有达到预期的闪烁效果:letcolorizeYellow=SKAction.colorize(with:UIColor.yellow,colorBlendFactor:1.0,duration:0.2)letcolorizeReset=SKAction.colorize(withColorBle

ios - Tilemap 不在 spritekit 中滚动

我正在IOS中开发一款涉及滚动图blockmap的小游戏。我已经让我的背景图片像这样滚动-(void)moveBg{[selfenumerateChildNodesWithName:@"scroll"usingBlock:^(SKNode*node,BOOL*stop){SKSpriteNode*bg=(SKSpriteNode*)node;CGPointbgVelocity=CGPointMake(-BG_POINTS_PER_SEC,0.0);CGPointamtToMove=CGPointMultiplyScalar(bgVelocity,_dt);bg.position=CGP

ios - 如何一起为多个 SKSpriteNode 设置动画?

我是SpriteKit的新手。我有一组节点需要一起移动到每个节点的不同点,并且在所有节点的动画完成后我想做其他事情。我以前用UIView组件做这个。[UIViewanimateWithDuration:completion:]block提供了我需要的东西。但在SpriteKit中,每个节点都有自己的Action并自行设置动画。我找不到Sprite节点的任何block动画。所以我无法控制动画完成。希望,我清楚。提前致谢。 最佳答案 有几个SKAction类方法可能很有趣。第一个是runBlock:,第二个是group:(这允许并行运行

ios - 如何在SKShapeNode中添加灯光效果

我正在使用SpriteKit,SKLightNode是否只能与SKSpriteNode一起使用?因为SKShapeNode上没有shadowCastBitMask属性,所以我无法让SKLightNode与SKShapeNode一起工作。有没有办法可以让他们一起工作?谢谢! 最佳答案 SKShapeNode没有SKSpriteNode那样的光照属性。如果您创建一个SKShapeNode,您可以让它消失在阴影中,但您不能让它转换阴影或设置任何其他光照属性。 关于ios-如何在SKShapeN

ios - Sprite Kit - 在滑动手势的情况下为 SKSpriteNode 创建拱形路径

我正在制作一个简单的游戏,其中用户在对象(SKSpriteNode)上向上滑动,以拱形运动向上和向下发送它(我假设使用SKAction)。这是我希望完成的视觉效果(请原谅我的基本Pixelmator技能):我创建了一个SKAction,它向上发送对象并根据速度等计算滑动的最终点。但是,我无法弄清楚一旦到达最终点如何使拱形运动发生,也不能回落到屏幕底部。我希望我可以为对象添加重力,并且SpriteKit将处理对象的移动,但从我最初的发现来看情况似乎并非如此。我在这里发布了我当前的代码:https://github.com/mikeberlin/Swipe-Arch-PoC该应用基于本教程

ios - 向 SKSpriteNode 施加脉冲以赋予其随机方向

我有一个在屏幕周围弹跳的球。根据用户达到的水平,我让球走得更快。所以,我做了以下事情:[ball.physicsBodyapplyImpulse:[selfvectorForLevel:self.level]];构建CGVector的方法。-(CGVector)vectorForLevel:(int)level{CGFloatthrust=level+3;returnCGVectorMake(thrust*cosf(4),thrust*sinf(-4));}虽然这非常有效并且可以像我想要的那样在每个关卡中加快速度,但我也想随机化球的起始角度,但我不确定该怎么做。我对CGVector了解

iOS spriteNode 背景图片 ios 7 和 ios 8 的区别

我在iOS上遇到这个问题(objective-c,不是swift)。我从images.xcassets加载背景图像,它在iOS8上正确显示,但在iOS7上显示不正确。以前有人遇到过这个问题吗?这是我正在使用的代码:SKSpriteNode*background=[SKSpriteNodespriteNodeWithImageNamed:@"xxx"];background.position=CGPointMake(CGRectGetMidX(self.frame),CGRectGetMidY(self.frame));[selfaddChild:background];布局上也有差异(

ios - 如何使两个 SKSpriteNode 的交集透明

我添加了一个背景SKSpriteNode作为我的SKScene的child。这个节点本身有一些子节点。每个child都有一些彩色像素以及完全透明的像素。子节点在屏幕上移动,有时会相互交叉。我想让children移动时的相交彩色区域完全透明,以便背景Sprite显示出来。对于每个child的非交叉区域,节点应该显示为正常。我尝试使用混合模式,但无法获得预期的效果。任何想法如何做到这一点?或者,有没有办法在SpriteKit之外执行此操作?谢谢 最佳答案 我不认为有命令可以实现你想要的。您可以更改Sprite的整个纹理/图像,可以使用滤