【发布时间】:2021-03-12 17:46:20
【问题描述】:
我目前正在使用 IOS swift,我无法将屏幕上的图像视图旋转到我触摸屏幕的位置,因此,如果直接在图像下方点击,它会旋转 180 度以指向接触点。
这是我到目前为止的代码,我想将 playerCharacter 旋转到我触摸屏幕的任何位置
import UIKit
import SpriteKit
class ViewController: UIViewController {
@IBOutlet weak var playerCharacter: UIImageView!
var enemyspeed: Timer?
let imageName = "yourImage.png"
let image = UIImage(named: "")
let imageView = UIImageView(image: nil)
override func viewDidLoad() {
super.viewDidLoad()
imageView.frame = CGRect(x: 1000, y: 700, width: 100, height: 100)
view.addSubview(imageView)
imageView.backgroundColor = .gray
}
@IBAction func beginGame(_ sender: UIButton) {
enemyspeed = Timer.scheduledTimer(timeInterval: 0.1, target: self, selector: #selector(astroid), userInfo: nil, repeats: true)
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
if let touch = touches.first {
let position = touch.location(in: view)
print(position)
UIView.animate(withDuration: 1, animations: {
self.playerCharacter.frame.origin.x = position.x
self.playerCharacter.frame.origin.y = position.y
})
}
}
@objc func astroid(){
let enemyPositionX = playerCharacter.frame.origin.x
let enemyPositionY = playerCharacter.frame.origin.y
UIView.animate(withDuration: 5, animations:{
self.imageView.frame.origin.x = enemyPositionX
self.imageView.frame.origin.y = enemyPositionY
})
}
}
【问题讨论】:
标签: ios swift uiimageview