使用Cocos Code Ide开发之:lua继承的理解

边写边错,边错边改,边改变搜,再改,改出了些心得。可能会有错误,多包涵,接受批评。

 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 = _value
12     return _t
13 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 = _type
13     return _c
14 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 --- .cpp
11 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

类方法也是如此。

时间: 2024-10-11 03:16:21

使用Cocos Code Ide开发之:lua继承的理解的相关文章

在cocos code ide的基础上构建自己的lua开发调试环境

现在无论是端游还是手游(基于cocos2d)的开发, 基本模式都是c++内核 + lua逻辑的路线.对于c++的开发和调试, vs已经能很好的满足开发者的需求, 微软这方面真是值得称颂.不幸的是, lua的开发和调试,还没有一个统一的,方便的开发调试环境,这也给广大的luaer和项目造成了极大的困扰.目前通常的做法大致有如下几种: 1.纯粹意义上的lua编辑器, 如Sublime Text 2 + 插件的模式,解决了代码提示和补齐问题. 2.编辑器的基础上加入调试功能, 通常是直接在vs上开发一

学习cocos code ide 的lua编程

装上了cocos code ide,配了路径之后,建立一个默认lua工程,发现无法调试,报错. 问了别人,在cocos2dconstants.lua的613行插入cc.AsyncTaskPool  =  cc.AsyncTaskPool or {} 然后发现可以直接运行了,但还是不能调试.重启,一切正常. 接下来看默认lua工程的代码.这是一个杀虫游戏.目录结构如下: 其中: res是图片和声音的文件夹 app是游戏逻辑代码 cocos是cocos lua版代码 packages作用不明 con

Cocos Code IDE里xcode工程lua脚本更新

lua脚本修改后xcode需要clean重新编译才能更新,这个是xcode里的老毛病了,网上有一些脚本但不是针对Cocos Code IDE的工程目录的,这里列出 cocos2dx版本3.1 首先在 Xcode 里选中工程,右侧会显示工程的设置界面. 从设置界面选择 Build Phases 标签,然后点击右下角的 Add Build Phases 按钮,并选择"Add Run Script". 在新出现的 Run Script 栏中输入以下内容: _TARGET_BUILD_CONT

Cocos Code IDE + Lua 山寨像素地下城(一)

前言: 最近在研究Cocos2d-x,虽然之前用VS2012 + C++写过几个很小很无聊的游戏,但是Cocos Code IDE + Lua还是最近几天才开始学习的.我是第一次接触Lua语言,因为偷懒也没有专门去学习它的语法结构,直接看别人的源代码边学边用.Cocos Code IDE是基于Eclipse开发的,由于之前一直开发Android所以Eclipse用起来很顺手,个人觉得Eclipse比VS好用...但是由于Cocos Code IDE刚发布才几个月,还有很多不完善的地方,相信以后会

在cocos code IDE创建Lua项目

首先我们需要下载cocos code IDE,因为我们需要在这里用Lua实现我们的游戏效果 ,说好干就干,现在我们打开我们的集成开发环境 cocos code IDE,打开之后我们选择配置 在配置里面 我们选择我们的COCOS2D-x-3.2, 然后我们点击file新建一个lua的项目 记住在这里我们需要把cocos里面的东西加进来,就需要在ADD Native Codes里面打勾 ,然后我们点击Finish就新建一个Lua项目成功了

搭建Cocos Code IDE开发环境

搭建Cocos Code IDE开发环境 Cocos Code IDE是Cocos2d-x团队开发的,用于开发Cocos2d-JS和Cocos2d-x Lua绑定的游戏工具,它是基于Eclipse[ Eclipse 是一个开放源代码的.基于Java的可扩展开发平台.就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境.幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK).——引自于百度百科 http://bai

[Unity3D]Unity3D游戏开发之Lua与游戏的不解之缘(中)

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 喜欢我的博客请记住我的名字:秦元培,我的博客地址是blog.csdn.net/qinyuanpei. 转载请注明出处,本文作者:

Cocos2d-x游戏开发之lua工程创建

操作系统:OS X 10.85 Cocos2d-x 版本: 2.2.1 使用Cocos2d-x 可以创建lua工程,已经使用cpp创建的工程也可以继承lua进行开发,但是lua并不支持mac工程(因为一些框架的问题). 支持的工程文件如下: 所有使用创建工程create.py language 为cpp的工程,后集成lua及其工具的时候,要注意这一点. 撒 现在进入cocos2d-x 目录之下,通过cd 进入文件目录 进入之后,如果忘记了命令,可以直接运行 create_project.py 如

Quick cocos2dx-Lua(V3.3R1)学习笔记(十二)----使用Cocos Code IDE 配合自带的PrebuiltRuntimeLua.apk进行真机调试

cocos code ide出来很久,虽然用了各种问题,比如卡顿,比如打开库文件编码乱码什么的,但它的真机调试还是很不错的,比logcat少了很多不需要的信息,也少了调试的时候,还要打包的蛋疼东. 我们打开cocos code ide 确定,等待载入成功 出现一个让我们选择lua和quick路径, 我们填入路径 确定后,我们新建一个quick工程,写一个单点触摸,真机调试一下 我们在MainScene.lua一段代码 function MainScene:ctor() local sprite