中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Cocos2dx面向對象編程介紹

發布時間:2020-06-28 21:28:16 來源:網絡 閱讀:873 作者:藍鷗劉輝 欄目:移動開發

藍鷗iOS培訓講師推薦:利用空閑時間和大家分享一Cocos2dx的有關內容,Cocos2d是一款非常好用的手游引擎,也是現在最火的引擎,有款游戲都是利用Cocos2dx引擎開發完成的。

一、對象的方法函數

今天的介紹內容是有關lua面向對象編程,首先要介紹是對象的方法函數,舉例說明:

Cocos2dx面向對象編程介紹

從上面程序中可以看出,是先創建了一個函數,同時調用該函數。而且在調用函數時用了全局Hero,Lua盡量減少全局變量的使用。那么這時就要注意了,如果不故意的改動了Hero,那么就很有可能不能正常工作了。

有人可能會將localtemA=A中的函數修改為:

Cocos2dx面向對象編程介紹

不過讓人麻煩的是,每次的selr都需要自己傳,事實上lua也可隱性調用self,再修改:

Cocos2dx面向對象編程介紹

:的使用,冒號可以在方法中添加一個額外的隱藏參數。上面其實也看到了Hero.skill()和Hero:skill()的

區別。

二、類,將table作為自己的元素

在上面的Hero程序中,再作修改:

Cocos2dx面向對象編程介紹

創建一個新英雄的時候,oneHero將Hero設置為自己的元表,當oneHero:skill(10)的時候,在tableoneHero中查找skill,沒有找到后,會進一步搜索元表的__index。

所以等價于:getmetatable(oneHero).__index.skill(oneHero,10)

而getmetatable(oneHero)是Hero,Hero.__index還是Hero

所以等價于Hero.skill(oneHero,10)

三、繼承

舉例說明:

Cocos2dx面向對象編程介紹

小結:每個對象沒有的方法都會去父類中尋找,所以某個對象需要一些新的屬性方法,就在該對象中實現就ok了,也沒有那么麻煩。

基本上就是這樣,理解起來簡單又明了,希望能夠對你有所幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

江永县| 海丰县| 黄梅县| 罗田县| 宜黄县| 烟台市| 康定县| 海兴县| 南部县| 湘潭县| 台中市| 永川市| 乌鲁木齐县| 都兰县| 环江| 怀远县| 通许县| 三穗县| 肃南| 分宜县| 余干县| 浦北县| 七台河市| 蓬莱市| 双牌县| 厦门市| 通化县| 桂东县| 获嘉县| 嵊泗县| 恩施市| 永清县| 师宗县| 阿拉善左旗| 成安县| 崇信县| 长葛市| 定兴县| 固始县| 安塞县| 通化县|