Cocos2dx面向对象编程介绍-创新互联
蓝鸥iOS培训讲师推荐:利用空闲时间和大家分享一Cocos2dx的有关内容,Cocos2d是一款非常好用的手游引擎,也是现在最火的引擎,有款游戏都是利用Cocos2dx引擎开发完成的。
成都创新互联专注于日照网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供日照营销型网站建设,日照网站制作、日照网页设计、日照网站官网定制、微信小程序开发服务,打造日照网络公司原创品牌,更为您提供日照网站排名全网营销落地服务。一、对象的方法函数
今天的介绍内容是有关lua面向对象编程,首先要介绍是对象的方法函数,举例说明:
从上面程序中可以看出,是先创建了一个函数,同时调用该函数。而且在调用函数时用了全局Hero,Lua尽量减少全局变量的使用。那么这时就要注意了,如果不故意的改动了Hero,那么就很有可能不能正常工作了。
有人可能会将localtemA=A中的函数修改为:
不过让人麻烦的是,每次的selr都需要自己传,事实上lua也可隐性调用self,再修改:
:的使用,冒号可以在方法中添加一个额外的隐藏参数。上面其实也看到了Hero.skill()和Hero:skill()的
区别。
二、类,将table作为自己的元素
在上面的Hero程序中,再作修改:
创建一个新英雄的时候,oneHero将Hero设置为自己的元表,当oneHero:skill(10)的时候,在tableoneHero中查找skill,没有找到后,会进一步搜索元表的__index。
所以等价于:getmetatable(oneHero).__index.skill(oneHero,10)
而getmetatable(oneHero)是Hero,Hero.__index还是Hero
所以等价于Hero.skill(oneHero,10)
三、继承
举例说明:
小结:每个对象没有的方法都会去父类中寻找,所以某个对象需要一些新的属性方法,就在该对象中实现就ok了,也没有那么麻烦。
基本上就是这样,理解起来简单又明了,希望能够对你有所帮助。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前文章:Cocos2dx面向对象编程介绍-创新互联
分享网址:http://scjbc.cn/article/dscsdi.html