我正在尝试制作一个游戏,如果我按下一个按钮,它可以在另一个区域中产生另一个按钮,因此您可以单击并继续执行此操作,每次按下该按钮都应该得到一个分数。我不知道按下一个按钮时如何生成另一个按钮。
//这是代码
var monkeyPosition:Int = 1
ViewController类:UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = UIColor(white: 0.25, alpha: 1.0)
view.backgroundColor = UIColor(white: 0.25, alpha: 1.0)
view.addSubview(makeButtonSpawn())
view.addSubview(makeButtonSpawn2())
}
@IBAction func monkeyPlayer(_ sender: UIButton) {
if sender.tag == 1 && (monkeyPosition == 1) {
makeButtonSpawn2().isHidden = false
}
}
func makeButtonSpawn() -> UIButton {
let monkey = UIButton(type: UIButton.ButtonType.system)
//Set a frame for the button. Ignored in AutoLayout/ Stack Views
monkey.frame = CGRect(x: 30, y: 30, width: 90, height: 90)
monkey.backgroundColor = UIColor.blue
makeButtonSpawn().isHidden = true
return monkey
}
func makeButtonSpawn2() -> UIButton {
let monkey = UIButton(type: UIButton.ButtonType.system)
//Set a frame for the button. Ignored in AutoLayout/ Stack Views
monkey.frame = CGRect(x: 80, y: 80, width: 90, height: 90)
monkey.backgroundColor = UIColor.blue
makeButtonSpawn2().isHidden = true
return monkey
}
答案 0 :(得分:1)
为按钮创建实例变量,然后就可以从类中的位置访问它们。您也可以在变量闭包内设置其属性,而不用声明方法
stream
下一步,您需要将按钮作为子视图添加到主fields
中,并且需要为其添加目标
rules
最后,您可以在按下第一个按钮时取消隐藏第二个按钮
class ViewController: UIViewController {
var button1: UIButton = {
let button = UIButton()
button.frame = CGRect(x: 30, y: 30, width: 90, height: 90)
button.backgroundColor = .blue
return button
}()
var button2: UIButton = {
let button = UIButton()
button.frame = CGRect(x: 80, y: 80, width: 90, height: 90)
button.backgroundColor = .blue
button.isHidden = true
return button
}()
}
答案 1 :(得分:0)
使选择器转到另一个函数,该函数创建一个函数并添加一个点。使用de选择器方法,不要忘记将@objc放在该函数的前面