在建立遊戲物件時,需要對一些共通的部分做點管理,這邊在協議中使用了這個語法,typedef enum。
typedef是說,為了給類別一些更清楚的名稱,讓讀程式的人更好理解,比方說有一個code裡面是處理金額,那金額是整數,一般來說會使用int去靜態定義類別,但你也可以用更直覺得做法,將這個變數定義成金額(price):
int money;
變成:
typedef int price;
這表示之後你寫price時,就代表類別是int了。於是:
price money;
這表示你宣告一個變數類別是int(就是price)。
enum {
one,
two,
three
}
若沒有設定值,那就會從零開始,像上面的結果就是:one = 0, two = 1, three = 2。
再看一個例子:
enum {
one = 1,
two,
three,
five = 5
}
這樣的話就是:one = 1, two = 2, three = 3, five = 5。
直接舉例子吧:
typedef enum{
kDirectionLeft,
kDirectionRight
} PhaserDirection;
這就表示列舉的kDirectionLeft = 0, kDirectionRight = 1和PhaseDirection同義。
typdef
typedef是說,為了給類別一些更清楚的名稱,讓讀程式的人更好理解,比方說有一個code裡面是處理金額,那金額是整數,一般來說會使用int去靜態定義類別,但你也可以用更直覺得做法,將這個變數定義成金額(price):
int money;
變成:
typedef int price;
這表示之後你寫price時,就代表類別是int了。於是:
price money;
這表示你宣告一個變數類別是int(就是price)。
enum
英文好一點的人會知道這是列舉的意思。現在直接介紹用法。enum {
one,
two,
three
}
若沒有設定值,那就會從零開始,像上面的結果就是:one = 0, two = 1, three = 2。
再看一個例子:
enum {
one = 1,
two,
three,
five = 5
}
這樣的話就是:one = 1, two = 2, three = 3, five = 5。
typedef enum
直接舉例子吧:
typedef enum{
kDirectionLeft,
kDirectionRight
} PhaserDirection;
這就表示列舉的kDirectionLeft = 0, kDirectionRight = 1和PhaseDirection同義。
留言
張貼留言