gpt4 book ai didi

ios - Sprite Kit - Objective c,同时移动多个SKNode

转载 作者:行者123 更新时间:2023-11-29 11:54:37 25 4
gpt4 key购买 nike

我有这个制作线条的方法

    lineaGuida_Img = [SKTexture textureWithImageNamed:@"LineaGuida copia.jpeg"];  
_Linea = [SKNode node];
_Linea.position = CGPointMake((self.frame.size.width / 7 ) * 2, self.frame.size.height / 2 );
_Linea.zPosition = -10;

SKSpriteNode * linea = [SKSpriteNode spriteNodeWithTexture:lineaGuida_Img];
linea.position = CGPointMake(0,0);
linea.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:linea.size];
linea.physicsBody.dynamic = FALSE;
linea.physicsBody.collisionBitMask = 0;
linea.physicsBody.categoryBitMask = CollisionEnemy;
[_Linea addChild:linea];

[self addChild:_Linea];

在 touchesBegan 方法中,当我触摸屏幕时,玩家总是在屏幕的中心,他后面的那些线必须移动 -x。

  [_Linea runAction:[SKAction moveByX: -(self.size.width/8) y:0 duration:0.1]];
[self spawn_Lines];

但是这个action只被最后一个SKNode执行。我需要同时将其应用于所有线路。之后,当线的位置小于玩家的位置时,线必须被删除。

最佳答案

SpriteKit 使用基于树的模型,因此无论父节点做什么,子节点都会效仿。创建一个 SKNode 来容纳所有线路,将所有线路添加到此 SKNode,然后将操作应用于 SKNode,而不是线路。

关于ios - Sprite Kit - Objective c,同时移动多个SKNode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39685336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com