我正在创建一个角色,其中一项功能是能够调整面部特征的位置。可以使鼻子向上或向下移动 (通过箭头按钮,例如:1单击向上按钮,将鼻子稍微向上移动。)
但是很明显,我不希望眼睛,鼻子或嘴唇漂浮在脸外,也不希望鼻子最后出现在额头上,这很奇怪。
那么我该如何编码,以使用户只能在所选方向上移动动画片段一定次数?
答案 0 :(得分:0)
如果仅使用箭头按钮移动对象,则非常简单。单击按钮后,检查对象的位置并根据需要移动它。基本示例:
class FeedCell: UITableViewCell {
@IBOutlet weak var postText: UILabel!
}
class FeedTableViewController: UITableViewController {
var postInfo = FeedCell()
override func viewDidLoad() {
super.viewDidLoad()
// Uncomment the following line to preserve selection between presentations
// self.clearsSelectionOnViewWillAppear = false
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
// self.navigationItem.rightBarButtonItem = self.editButtonItem
self.tableView.rowHeight = 100.0
// postText = UILabel()
//
var ref: DatabaseReference!
ref = Database.database().reference()
let cellRef = ref.child("post/body")
cellRef.observeSingleEvent(of: .value) { (snapshot) in
if let body = snapshot.value as? String {
self.postInfo.postText.text = body
print(body)
}
}
}
x轴是相同的,显然,数字100和140可以是您想要的任何东西。这意味着在这些点之间移动对象。
答案 1 :(得分:0)
用户987答案是正确的,但是如果您的按钮以更快的速度移动对象,例如+ -5,则将+ -2设置为偏移量可能不会将其放回边界。此后,它将在每帧之前以+ -2进行校正,而不考虑用户是否继续按住按钮以尝试进一步超出边界。鼻子将继续向远处滑动。
实现此目的的更好方法是立即将鼻子重新设置到边界的边缘。
if (nose.y > 140) {
nose.y = 140;
}