2011年9月22日 星期四

UNITY3D - Javascript繼承

善用繼承可以讓遊戲有更多的變化且減少無意義的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時用繼承的方式會輕鬆很多,底層先寫好每隻怪都會做的動作(移動、攻擊等等),繼承後就可以按不同需求附加個別處理如(特殊攻擊)。

沒有留言:

張貼留言