gpt4 book ai didi

ios - SpriteKit SKSpriteNode 移动

转载 作者:搜寻专家 更新时间:2023-10-31 22:45:40 38 4
gpt4 key购买 nike

我有一些纹理...

placeForJump = SKSpriteNode(imageNamed: "placeForJump")
placeForJump.position = CGPoint(x: 512.346, y: 98.88)
placeForJump.size = CGSize(width: 166.407, height: 197.762)
placeForJump.zPosition = 2
self.addChild(placeForJump)

和性格...

player = SKSPriteNode(imageNamed: "character")
player.position...
player.size...
player.zPozition = 3
self.addChild(player)

当我触摸我可以跳跃的纹理时,我想让我的角色跳到这个地方,但我不知道该怎么做。

当我用 placeForJump 触摸纹理时 - 我的角色跳到上面。

请帮忙。

最佳答案

您可以通过检测跳跃位置上的触摸来实现这一点,然后当用户触摸它时,您可以运行一个 Action 将角色移动到那里。

要检测用户是否触摸了要跳转的地方,您可以将此代码添加到 touchesBegan 或 touchesEnded 函数中:

for touch in touches {
let location = touch.locationInNode(self)
if placeForJump.containsPoint(location) {
print("It was touched")
}
}

然后在您想要使用 SKAction 的地方运行一个 Action :

player.runAction(SKAction.moveTo(placeForJump.position, duration: speed)

这将以尽可能短的方式将玩家节点移动到 placeForJump,所以如果你想让它走得更高,然后到达你可以这样做的地方:

let highPoint = CGPoint(x: player.position.x + 50, y: player.position.y + 100)

let moveUp = SKAction.moveTo(highPoint, duration: speed)
let moveDown = SKAction.moveTo(placeForJump.position, duration: speed)
player.runAction(SKAction.sequence([moveUp, moveDown])

希望对您有所帮助

关于ios - SpriteKit SKSpriteNode 移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38516327/

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