草庐IT

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

ios - 理解 Cocos2d 中的 CCBatchNode

我听说在Cocos2d中使用CCBatchNode的性能更好。我很难理解它是如何工作的。我有几个CCSprite子类代表我游戏中的对象。到目前为止,我使用spriteWithFile:方法初始化它们。我现在有一个spritesheet包含我所有的Sprite(连同它的plist文件)。我应该如何使用它才能受益于“单个openGL绘制调用”?如果我通过取回CCBatchNode中的帧来初始化我的Sprite,它会起作用吗?无论如何,我对CCBatchNode的理解很差,如果有帮助会很棒!问候 最佳答案 这是一个使用CCSpriteFr

iphone - 如何在 Cocos2D 中显示抛物线运动以及如何找到 Sprite 的最终位置

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭9年前。我想用滑动手势移动Sprite,任何角度和速度都取决于用户的滑动,并以轨迹结束。根据滑动角度和力度,如何找到Sprite到达的最终位置?以及如何显示抛物线运动?请检查此图片以获得更多说明

iOS7 Sprite Kit如何在SKSpriteNode上获得长按或其他手势?

我正在构建一个基于sprite工具包的游戏,缺少“右键单击”真的很难向我的用户传达一些重要信息。作为解决方案,我正在考虑长按、两指点击等手势。如何在SKSpriteNode上实现手势?这是我目前在触摸SKSpriteNode时用来获得类似按钮的行为的方法。-(void)touchesBegan:(NSSet*)toucheswithEvent:(UIEvent*)event{[selfselectSkill:YES];} 最佳答案 在UIGestureRecognizer之前,您保留了状态变量来跟踪触摸开始的位置和时间。这是一个快速

ios - 在 SpriteKit 中使用加速度计移动和旋转 Sprite

我正在尝试使用Spritekit制作我的第一款游戏,所以我有一个Sprite需要使用我的加速度计四处移动。好吧,这样做没问题;运动非常流畅且react灵敏,问题是当我尝试旋转我的Sprite以使其面对自己的运动时,我经常让它“颤抖”,就像他患有帕金森病一样。(:D)我确实意识到,当加速度计数据在x、y轴之一上太接近0时会发生这种情况。那么问题来了:我的宠物帕金森症有治疗方法吗??:D这是一些代码:-(void)update:(NSTimeInterval)currentTime{staticCGPointoldVelocity;//staticCGFloatoldAngle;if(_l

ios - Sprite-Kit colorizeWithColor 没有将 Sprite 与正确的颜色混合

我的场景中有一个sprite(healthbar),我希望在玩家被击中时为其着色。我可以使用greenColor和blueColor为Sprite着色。但是,redColor、brownColor、yellowColor、cyanColor和whiteColor似乎都不起作用。Sprite:_健康栏代码:SKAction*pulseRed=[SKActionsequence:@[[SKActioncolorizeWithColor:[SKColorredColor]colorBlendFactor:1.0duration:0.15],[SKActionwaitForDuration:0

ios - 存储 Sprite Kit 关卡数据

我正在做一个项目,其中一组目标出现在屏幕上。目标应该同时出现一定数量,并且在每次出现之间有一定的延迟。我的问题是如何正确存储该游戏的关卡数据。我正在考虑使用csv文件来存储关卡数据(目标类型、位置、延迟等),但我想知道是否有更好的方法来做到这一点。我也考虑过制作一个级别对象来存储级别信息,但我不确定。Apple说要使用“Sprite节点文件”,但我似乎无法找出那是什么意思。有什么想法吗? 最佳答案 您是否考虑过改用plist文件?那将是最容易解析的。您可以拥有一组目标(字典),然后定义位置、绝对延迟以及您想要的任何其他内容。然后把它

ios - 移动父 SKNode 后,Sprite 套件找不到 nodeAtPoint

你好。我在SpriteKit中遇到了这个奇怪的问题。我正在使用nodeAtPoint和categoryBitMask在调用跳跃方法时检测玩家是否接触地面。一切正常。但是然后-为了在抽屉中显示一些可选按钮-当我用SKActionmoveTo:CGPoint移动父节点时(我有地面和玩家作为SKNode的child),玩家不要跳。我NSLogpointBelowPlayer,它和以前一样,但是blockNode.physicsBody一片空白!这可能是SpriteKit中的错误,还是我遗漏了一些关于继承和位置的基本知识?跳跃的方法:-(void)playerJump{//Playerjump

ios - 如何以可变速度沿 CGPath 移动 Sprite

我正在编写一个游戏,并希望沿着固定路径(直线和曲线-想想铁路引擎)移动Sprite,但我希望能够根据Sprite速度来驱动动画-并根据响应改变该速度游戏事件。followPath:duration:在SKAction中很接近,但似乎没有办法“即时”调整速度-我绝对关心Sprite速度-而不是“跟随路径的持续时间”。CGPath似乎是定义Sprite路径的正确构造,但似乎没有足够的功能来沿路径抓取点并进行我自己的计算。谁能推荐合适的方法? 最佳答案 您可以使用speed属性调整任何SKAction的执行速度。例如,如果您设置actio

ios - Sprite Kit 中允许的 categoryBitMask 的最大数量是多少?

我听说每个SpriteKit游戏只允许使用32个不同的类别位掩码。有没有办法解决?我绝对需要更多(因为游戏是开放世界游戏,所以大约多3-4倍)。我将我的类别位掩码设置如下:staticconstuint64_tboundaryCategory=0x1我什至将uint32_t更改为uint64_t,希望这将使我可以使用的类别位掩码数量翻倍。不幸的是,事实并非如此。如果有人知道绕过此限制的任何技术,我将不胜感激。 最佳答案 关于这个问题,您可以通过多种方式发挥创意。例如,您可以使用节点的名称属性。将你所有的敌人归为一个类别BitMask