gpt4 book ai didi

ios - Spritekit - 剪断绳索,魔术帽效果。计算 Sprite 的速度并以相同的速度和物体的方向射出物体

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

<分区>

我有两个门户。当球击中第一个入口时,我希望球重新出现在第二个入口处。

  1. 球重新出现时的速度必须与穿过它时的速度相同
  2. 球必须朝与传送门相同的方向射出。 (如果门户是 45 度,球必须以该角度射出

目前,我正在使用 SKAction 只是将球移动到下一个入口。

-(void)collisionBallPortal1ToPortal2{

SKAction *moveToNextPortal = [SKAction runBlock:^{
ballNode.position = portal2.position;

}];

SKAction *ballNodePortalMove = [SKAction sequence:@[moveToNextPortal]];
[ballNode runAction:[SKAction repeatAction:ballNodePortalMove count:1]];
}

显然这段代码并没有做到这一点。但是,当它到达第二个门户时,速度会保持不变。它只需要朝同一个方向发射。

  1. 我想我需要先计算球的速度
  2. 算出入口的角度
  3. 使用计算出的速度向第二个传送门的方向施加脉冲。

有人可以帮忙吗?我需要整个代码。我不知道如何计算 PORTALDIRECTION 和使用 BALLLAUNCHIMPULSE。

 ballNode.physicsBody.velocity = self.physicsBody.velocity;
[ballNode.physicsBody applyImpulse:CGVectorMake(ballLaunchImpulse*cosf(portalDirection),ballLaunchImpulse*sinf(portalDirection))];

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