善用繼承可以讓遊戲有更多的變化且減少無意義的COPY&PASTE(?)
U3D的JS繼承用法如下
class Parent {
function Start () {
print("parent's Start");
A();
}
function A () {
print("parent's A");
B();
}
function B () {
print("parent's B");
C();
}
function C () {
print("parent's C");
}
}
class Children extends Parent {
function A () {
print("Children's A");
B();
}
function C () {
super.C();
print("Children's C");
}
}
如果在GameObject上附加Children時會發現此GameObject的執行結果為
parent's Start
Children's A
parent's B
parent's C
Children's C
在寫怪物AI時用繼承的方式會輕鬆很多,底層先寫好每隻怪都會做的動作(移動、攻擊等等),繼承後就可以按不同需求附加個別處理如(特殊攻擊)。
沒有留言:
張貼留言