我正在构建一个游戏,其中有很多方块漂浮在屏幕上,相互反弹,墙壁等,直到它们被摧毁。目前,我有一个主人UIGravityBehavior
,我在创建每个正方形(一个UIView
名为 SquareView 的类)时添加它,然后在它被销毁时将其删除。但我认为我应该在 SquareView 对象中执行此操作。以下是相关代码:
class ViewController: UIViewController, UICollisionBehaviorDelegate {
var gravity: UIGravityBehavior!
...
// next sequence adds a square
let newSquare = SquareView()
newSquare.createSquare(touch.locationInView(view).x, y: touch.locationInView(view).y)
view.addSubview(newSquare)
gravity.addItem(newSquare)
...
// this removes a square
gravity.removeItem(currentSquare)
所以我相信我应该把这段代码ViewController
移到我对 SquareView 类的定义中:
func createSquare(x: CGFloat, y: CGFloat){
self.backgroundColor = color[touchCount]
self.frame = CGRect(x: x, y: y, width: size[touchCount], height: size[touchCount])
}
顺便说一句,我做同样的事情UICollisionBehavior
并假设这也不是最佳的。
任何帮助都会很棒!