3

我正在构建一个游戏,其中有很多方块漂浮在屏幕上,相互反弹,墙壁等,直到它们被摧毁。目前,我有一个主人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并假设这也不是最佳的。

任何帮助都会很棒!

4

0 回答 0