使用Cocos Code Ide開發之:lua繼承的理解,cocoslua

來源:互聯網
上載者:User

使用Cocos Code Ide開發之:lua繼承的理解,cocoslua

邊寫邊錯,邊錯邊改,邊改變搜,再改,改出了些心得。可能會有錯誤,多包涵,接受批評。

 1 ---Base.lua 2  3 Base = {}                               4  5 Base.__index = Base 6 Base.value = nil 7  8 function Base:new(_value) 9     local _t = {}10     setmetatable(_t, Base)11     _t.value = _value12     return _t13 end
 1 ---Children.lua 2 require("Base") 3 Children = {} 4  5 setmetatable(Children, Base) 6 Children.__index = Children 7 Children.type = nil 8  9 function Childeren:new(_value,_type)10     local _c = Base:new(_value)11     setmetatable(_c, Children)12     _c.type = _type13     return _c14 end

Base.lua 是基類,Children.lua 是繼承Base.lua的子類,可能大家習慣了C++,我轉下

 1 --- .h 2  3 class Base 4 { 5      public: 6           void setValue(_value) 7           int value;                       8 } 9 10 --- .cpp11 Base::setValue(_value)12 {13      value = _value;14 }15 16 main()17 {18     Base* b = new Base();19     cout << b.value << endl;20 }

這裡的 b 和 上面的 _t,我認為是一樣的,都是一個對象,_t 是 table 類型的,

_t.value 就像 b.value.

setmetatable(Children,Base): 將 Childeren 的元表設定為 Base ,

setmetatable(_c, Children) : 將 _c 的元表設定為 Children,

舉個例子吧:

_c : 兒子   Children :爸爸  Base : 爺爺

兒子 想買一個玩具,若 : 1. 自己有錢,直接買,獲得到玩具

            2. 自己沒錢,去搜尋 爸爸 的褲兜,若有錢,獲得到錢,買玩具

            3. 自己沒錢,去搜尋 爸爸 的褲兜,若沒有錢,去搜尋 爺爺 的褲兜,若有錢,獲得到錢,買玩具, 若沒錢, 兩手空空,只能是 nil

類方法也是如此。

 


Cocos Studio與Cocos2d-js、Cocos Code IDE它們之間的不同與聯絡

cocos studio是用來設定動畫,圖片的。
cocos2d-js是急於js語言的cocos2d架構,主要用於網頁端的開發。
cocos code ide是cocos官方出的cocos2d開發環境,之前沒出官方ide的時候,都是用eclipse和vs等其他開發環境來開發的。
 
Cocos2d-x、Quick-Cocos2d-x、Cocos Studio、Cocos2d-js、Cocos Code IDE的不同

Cocos2d-x是跨平台的架構,用C++,包括windows、ios、android、linux等都可以移植。
Quick-Cocos2d-x是在Cocos2d-x上加了一些功能,具體我也沒用過,我只用過Cocos2d-x。
而Cocos2d-js是用JS語言,主要是用於網頁端遊戲的開發。
Cocos Studio主要是遊戲介面和動畫的設計。
Cocos Code IDE是cocos官方發布的編程開發環境。如果不用官方的,我們可以用eclipse和vs等其他IDE,配置好之後進行開發。

Cocos2d-x的2.X版本和3.X差別還挺大的,兩邊的代碼不太能相容,需要一些小修改才能運行。

純手打。。。
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.