在 Swift 中每秒在随机 CGPoint 生成 UIView
Spawning UIView every second at random CGPoint in Swift
我正在尝试 "spawn" 一个带有随机 UIColor 作为背景的 UIView 在随机 CGPoint 上。我正在使用下面的代码,它编译得很好,没有错误或任何东西,但是当它在模拟器中运行时,我单击开始(第一个 ViewController 上的按钮),然后转到 ViewTwo 但没有任何反应(没有 "enemies" 产生)。感谢您的帮助。
import UIKit
var randomPoint: CGPoint = CGPoint(x: Int(arc4random()%1000), y: Int(arc4random()%1000))
class ViewController: UIViewController {
@IBOutlet weak var startGameButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
class ViewTwo : UIViewController {
var timer = NSTimer()
func randomColor() -> UIColor {
let red = CGFloat(drand48())
let green = CGFloat(drand48())
let blue = CGFloat(drand48())
return UIColor(red: red, green: green, blue: blue, alpha: 1.0)
}
func spawnEnemy() {
let enemy: UIView = UIView(frame: CGRect(x: 0, y: 0, width: 50, height: 50))
enemy.backgroundColor = randomColor()
enemy.center = randomPoint
self.view.addSubview(enemy)
}
override func viewDidLoad() {
super.viewDidLoad()
timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("spawnEnemy"), userInfo: nil, repeats: true)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
你的 randomPoint 需要在 spawnEnemy 中重新计算,并且正在生成一个从 0 到 1000 的随机 x y(也应该是一个浮点数)它可能会离开屏幕。
我正在尝试 "spawn" 一个带有随机 UIColor 作为背景的 UIView 在随机 CGPoint 上。我正在使用下面的代码,它编译得很好,没有错误或任何东西,但是当它在模拟器中运行时,我单击开始(第一个 ViewController 上的按钮),然后转到 ViewTwo 但没有任何反应(没有 "enemies" 产生)。感谢您的帮助。
import UIKit
var randomPoint: CGPoint = CGPoint(x: Int(arc4random()%1000), y: Int(arc4random()%1000))
class ViewController: UIViewController {
@IBOutlet weak var startGameButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
class ViewTwo : UIViewController {
var timer = NSTimer()
func randomColor() -> UIColor {
let red = CGFloat(drand48())
let green = CGFloat(drand48())
let blue = CGFloat(drand48())
return UIColor(red: red, green: green, blue: blue, alpha: 1.0)
}
func spawnEnemy() {
let enemy: UIView = UIView(frame: CGRect(x: 0, y: 0, width: 50, height: 50))
enemy.backgroundColor = randomColor()
enemy.center = randomPoint
self.view.addSubview(enemy)
}
override func viewDidLoad() {
super.viewDidLoad()
timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("spawnEnemy"), userInfo: nil, repeats: true)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
你的 randomPoint 需要在 spawnEnemy 中重新计算,并且正在生成一个从 0 到 1000 的随机 x y(也应该是一个浮点数)它可能会离开屏幕。