<分区>
因此,作为一个有趣的小游戏的想法的一部分,我需要一个位于中间(纵向 View )的对象,当我触摸屏幕左侧时向左旋转,当我触摸屏幕右侧时向右旋转屏幕。
就是这样。
但我想使用 swift 而不是 objective-C...我找到的所有教程都是针对 obj-c 的,因此我不明白如何将编码实现到 GameScene.swift 文件中。
提前致谢!
<分区>
因此,作为一个有趣的小游戏的想法的一部分,我需要一个位于中间(纵向 View )的对象,当我触摸屏幕左侧时向左旋转,当我触摸屏幕右侧时向右旋转屏幕。
就是这样。
但我想使用 swift 而不是 objective-C...我找到的所有教程都是针对 obj-c 的,因此我不明白如何将编码实现到 GameScene.swift 文件中。
提前致谢!
最佳答案
Wm.p1us 说的是对的,这里是他建议的代码。
var myImage: SKSpriteNode!
class GameScene: SKScene {
override func didMoveToView(view: SKView) {
anchorPoint = CGPointMake(0.5, 0.5)
myImage = SKSpriteNode(imageNamed: "myImage")
addChild(myImage)
}
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
let touch = touches.first as UITouch!
let location = touch.locationInView(self.view)
myImage.removeAllActions()
if location.x < frame.size.width/2 {
// left hand side touched, rotate left
let rotateLeft = SKAction.rotateByAngle(CGFloat(M_PI)*2, duration: 1)
myImage.runAction(SKAction.repeatActionForever(rotateLeft))
} else {
// right hand side touched, rotate right
let rotateRight = SKAction.rotateByAngle(-CGFloat(M_PI)*2, duration: 1)
myImage.runAction(SKAction.repeatActionForever(rotateRight))
}
}
}
关于ios - 根据触摸事件旋转对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32954065/
相关文章:
ios - 如何在 Swift 中更改视频 View 的大小
ios - 使用 UIBezierPath 自定义 UIButton
SwiftUI:如何更改警报按钮和 NavigationLink 后退按钮的颜色?
ios - 关于 iOS 10 后台运行 Timer 的问题
swift - 如何在 OS X Today 扩展中使用 CLLocationManager?
objective-c - NSMutableArray 排序和分组内存优化
ios - 从一个 UIImage 问题中添加 Tabbar 项目图像