Swift 游戏编程中的继承与多态应用
1. 游戏对象的相似性
在游戏开发中,我们常常会发现不同类型的游戏对象存在很多相似之处。以 Painter 游戏为例,球、大炮和油漆罐这些游戏对象有诸多共同点:
- 都使用三个代表红、绿、蓝三种不同颜色的精灵。
- 大多数对象都有速度属性。
- 部分对象有处理输入的方法、更新方法和重置方法。
下面是 Cannon、Ball 和 PaintCan 类中都有的一个计算属性 color 的代码:
var color: UIColor {
get {
if (!red.hidden) {
return UIColor.redColor()
} else if (!green.hidden) {
return UIColor.greenColor()
} else {
return UIColor.blueColor()
}
}
set(col) {
if col != UIColor.redColor() && col != UIColor.greenColor()
&& col != UIColor.blueColor() {
return
}
red.hidden = col != UIColor.redColor()
超级会员免费看
订阅专栏 解锁全文
39

被折叠的 条评论
为什么被折叠?



