gpt4 book ai didi

ios - 动画 Sprite 由玩家 Swift 控制左右移动

转载 作者:行者123 更新时间:2023-11-30 13:28:00 25 4
gpt4 key购买 nike

我有一个太空射击游戏。我一直在尝试通过添加动画来使其看起来更好。我目前在游戏中有一场 Boss 战,我添加了大约 17 个循环的图像。

我设法循环非玩家 Controller 的纹理,但如何将纹理添加到玩家 Sprite 中?

玩家在 x 轴上左右控制一艘太空战斗机。我总共有 5 张图像要使用(左 2、左 1、中、右 1、右 2)

毫无疑问,我必须使用 switch case 或 if 语句来执行此操作,但是我需要输入什么才能让 xcode 知道我希望 Sprite 仅在移动时切换并切换回不向左或向右移动的状态?

我之前尝试过一些东西,我放置 NSLogs 只是为了看看如果我向左或向右移动它它是否输出“左”或“右”,但由于某种原因它只是输出右

这是我为播放器提供的代码

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
/* Called when a touch begins */

for touch: AnyObject in touches {
let location = touch.locationInNode(self)

Player.position.x = location.x

}
}

override func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?) {

for touch: AnyObject in touches {
let location = touch.locationInNode(self)
var previousPosition: CGFloat = 0

Player.position.x = location.x

if Player.position.x > previousPosition
{
NSLog("Right")
// add textures here
}
else if Player.position.x < previousPosition
{
NSLog("Left")
// add textures here
}
previousPosition = Player.position.x

最佳答案

我很确定这会成功。您所要做的只是将 Player 的纹理更改为所需的纹理。

for touch: AnyObject in touches {
let location = touch.locationInNode(self)
var previousPosition: CGFloat = 0

Player.position.x = location.x

if Player.position.x > previousPosition
{
NSLog("Right")
// add textures here
Player.texture = SKTexture(imageNamed: "RightImage")
}
else if Player.position.x < previousPosition
{
NSLog("Left")
// add textures here
Player.texture = SKTexture(imageNamed: "LeftImage")
}

关于ios - 动画 Sprite 由玩家 Swift 控制左右移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36905153/

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