jjzjj

ios - Sprite kit - 处理快速序列中的重叠动画

我正在构建一个应用程序,当按下Sprite时,它会执行一个非常简单的动画,其中初始图像被替换为新图像,然后在短暂的暂停后再次应用初始图像。有2个这样的Sprite。除非以极快的顺序按下按钮,否则一切正常。例如,假设用户按下按钮1,然后很快按下按钮2(在此之前有时间恢复到初始图像):在这种情况下,按钮1仍然停留在新图像上!即使我禁用了与sprite的交互(例如通过在动画进行时重命名它或插入不同的标志),仍然注册了一个touchesBegan事件,我相信这足以让sprite1卡在新的图像而不是恢复到初始图像!我已经没有想法了...请问有什么建议吗?干杯。-(void)SwitchButto

ios - 如何让一个自由下落的 Sprite 节点坐在另一个水平移动的 Sprite 身上

如何让一个自由落体的Sprite节点坐在另一个水平移动的Sprite体上?现在两个body都发生了碰撞。但是水平运动的物体偏离了它的路径,自由落体撞击水平物体后下降。如何修复Sprite节点的这种不断变化的设置。我已经为正确发生碰撞设置了给定的碰撞和类别位掩码。自由落体属性:affectedbygravity=YESdynamic=YESallowsrotation=NOusesprecisecollisiondetection=YESrestitution=1摩擦力=1.0角度阻尼=0.0线性阻尼=0.0水平移动体属性动态=是受重力影响=否摩擦力=1.0在这个body上进行振荡Act

ios - 如何确定节点在 sprite kit 中出现的顺序

有什么方法可以完全控制sprite套件场景中节点的出现顺序。我正在尝试制作一个非常简单的游戏,但我的节点出现的顺序似乎是随机的。非常感谢任何帮助 最佳答案 您可以阅读SKView类的ignoresSiblingOrder方法以及节点的zPosition属性。完整的文档已经在这个链接上给出了一个例子-https://developer.apple.com/library/prerelease/ios/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/Nodes/Nodes.

android - Libgdx - 渲染许多小 Sprite VS 几个大 Sprite

我正在为我的游戏制作一种效果,我有几颗(200)颗星星从屏幕边缘出现,在逐渐消失的同时向中间移动。我想单独渲染每颗星星(因为它是自己的对象),这样星星就可以具有随机速度、淡入淡出时间、大小和位置。但是我担心它可能会极大地影响旧手机的性能,更改alpha并每帧渲染200个Sprite最多20秒(我在它们淡出时重新创建它们)。作为替代方案,我可以使用更大块的星星作为同一个Sprite(一张图片),这意味着我将不得不牺牲随机效果,星星会同时淡出,obv看起来不会那么好.我无法在旧手机上进行测试,所以我想问一下,每帧循环200个Sprite是否太多了(我在每一帧和位置改变alpha的小图像)?

ios - Sprite Kit 中的简单碰撞

我有两个节点。玩家和敌人。我希望Enemy节点在足够近时跟随Player节点,并且Enemy节点在与Player节点碰撞时会停止。我得到的是Enemy节点位于Player之上并且两个节点都被推送。我想过以某种方式阻止Enemy节点在与Player发生碰撞时移动,但在我看来这应该是一种更清洁的方式。(我通过在更新时改变它的位置来移动敌人节点)。这是我的GameScene.sks:-(void)didMoveToView:(SKView*)view{player=[selfchildNodeWithName:@"character"];enemy=[selfchildNodeWithNam

ios - 如何在用户与场景交互后改变 Sprite 的方向?

我有一个SKSpriteNode对象,它有一系列要永远运行的Action。这些Action很简单,可以先移到最右边,然后再回到最左边。当用户在应用中输入一些值时,我需要反转方向,即。e.如果Sprite向右移动,我需要让它向左移动,反之亦然。我怎样才能做到这一点? 最佳答案 我会这样做:(在swift中)funcmovament(){ifisMovingRight==true{runAction(SKAction.sequence([SKAction.moveByX(10,y:0,duration:0.05),SKAction.pe

ios - 如何在每增加 50 点后加速 Sprite Kit 游戏

我正在使用SpriteKit制作2D游戏,我需要添加一种方法来在每50点后加速游戏。我想出了一个方法,可以根据需要增加速度,但是我必须在更新方法中每增加50点复制、粘贴和调整一个if语句。我的解决方案的另一个问题是我必须在加速后立即增加我的分数,因为如果不是这样游戏就会完全加速,尽管我不知道为什么。到目前为止,这是我的解决方案://insidetheupdatemethod//pointsareaddedwhenanenemyisdestroyed//pointSpeedisthefloatvariablethatisusedtochangepositionsif(points==4)

ios - 如何在Sprite kit和objective c中检测两个节点的碰撞点

我有两个SKSpriteNode,我知道如何检测它们是否在同一位置,但我不知道如何检测它们在节点的哪个位置发生了碰撞。我特别想知道其中一个节点碰撞的地方,因为我想在节点高度结束时添加不同的applyImpulse,这样另一个节点就会改变方向。 最佳答案 didBeginContact在2个物体碰撞时传递给SKPhysicsContact。SKPhysocsContact有一个属性contactPoint,它是一个CGPoint,是场景坐标中两个物理体之间的接触点。从这个和你的两个body碰撞时的位置,你可以计算出碰撞发生在body上

ios - 如何围绕屏幕中心旋转 Sprite 节点?

我正在更新我当前的应用程序,我想知道是否有办法围绕中心旋转Sprite节点?例如,地球绕着太阳转。我也在使用sks文件。这是我的:importSpriteKitimportGameplayKitclassStartScene:SKScene{varsingleTap=SKSpriteNode()varpath=UIBezierPath()vargameStarted=Bool()overridefuncdidMove(toview:SKView){singleTap=self.childNode(withName:"single")as!SKSpriteNodesingleTap.an

iOS:图像绘制性能

我有几个基本的问题要弄清楚,希望你能帮忙...我正在开发游戏应用程序。它有游戏循环,每次迭代我都会绘制大约200个Sprite。绘制位图最快的方法是什么?目前我使用[UIImagedrawAtPoint]方法来绘制Sprite(Sprite大小可以是16x16...64x64),但有些事情告诉我,这不是最好的方法。据我了解,UIImage是基于Quartz技术的?cocos2d能提供更好的性能吗?我还考虑过使用OpenGLES通过纹理对象重现绘图机制。 最佳答案 如果您正在制作游戏,您可能希望避免使用Quartz/UIKit/Cor