Cocos2d-lua(三)认识Cocos2d-lua

  简单了解下Cocos2d-lua,它的前世我记不清了,今生我还是了解,Cocos 的官网:http://www.cocos.com/,我第一次知道Cocos的时候是在2014年8月,当时cocos2d-x 3.0已经出来了,2 到3引擎修改了很多(具体的可以到官网看看)。在工作时经常有2版本的,现在很少用2版本开发了,如果有,多半工作是维护优化(改修改别的代码是比较恶心的,我也是拒绝的),添加新功能(还好),现在大部分都用3.0以上的。cocos2d可以3种语言来开发,分别有Cocos2d-x(c++)、Cocos2d-lua(lua)、Cocos2d-js (js)。


一、简单了解

  • Cocos2d-x:开发语言C++,运行快,开发慢,不能热更新,适合单机游戏,休闲游戏。
  • Cocos2d-lua:开发语言Lua(脚本语言),开发快,可以热更新,适合网络游戏,现在大部分游戏都会选择Cocos2d-lua开发。
  • Cocos2d-js:开发语言Js(脚本语言),开发快,可以热更新,支持浏览器,适合网页游戏。
注:1.热更新:不需要重新下载安装包,直接下载修改后的文件,具体的优势和添加热更新功能会单独来讲解。

       2.Cocos2d-js和Cocos2d-lua都是基于Cocos2d-x开发的,所以首先得了解Cocos2d-x的引擎框架。


二、认识Cocos2d-lua项目目录

Cocos2d-lua(三)认识Cocos2d-lua_第1张图片
  • frameworks:框架,cocos2d-x引擎框架库和各个平台工程。
  • obj,runtime,simulator:vs运行后所产生的文件夹(runtime:运行时的文件;simulator:模拟器运行的文件)。
  • res:资源目录,包含图片,音乐,音效,字体等。
  • src:lua代码目录,包含封装Cocos2d-x的lua库,自己开发的lua文件。
  • config.json:游戏配置文件。
  • lua.config,lua.luaproj:创建lua项目时产生的文件

三、程序入口

  • AppDelegate.cpp里会调用main.lua,所以,main.lua就是lua的程序入口。
if (engine->executeScriptFile("src/main.lua")) //main.lua,就是lua的程序入口
    {
        return false;
    }

 
  
  • main.lua
cc.FileUtils:getInstance():setPopupNotify(false)
--添加搜索路径
cc.FileUtils:getInstance():addSearchPath("src/") 
cc.FileUtils:getInstance():addSearchPath("res/")
--导入lua文件
require "config"      
require "cocos.init" 
local function main()
    require("app.MyApp"):create():run()  --create,创建主场景,run,运行主场景, MainScene主场景,
end
--调用main函数
local status, msg = xpcall(main, __G__TRACKBACK__)
if not status then
    print(msg)
end

 
  
  • MyApp.lua
--创建了MyApp类,继承了AppBase(packages/mvc/AppBase.lua)
local MyApp = class("MyApp", cc.load("mvc").AppBase)
function MyApp:onCreate()
    math.randomseed(os.time())  --随机数种子
end
return MyApp

  • MainScene.lua
--MainScene类,继承ViewBase
local MainScene = class("MainScene", cc.load("mvc").ViewBase)
function MainScene:onCreate()
    -- 添加背景
    display.newSprite("HelloWorld.png")
        :move(display.center)
        :addTo(self)
 -- 添加文本
    cc.Label:createWithSystemFont("Hello World", "Arial", 40)
        :move(display.cx, display.cy + 200)
        :addTo(self)
end
return MainScene


下面我们就在MainScene类的onCreate函数中添加CocosStudio导出的UI界面,对于CocosStudio制作UI界面可以看CocosStudio分类下的教程,写得不好,大家多给建议,共勉。








你可能感兴趣的:(Cocos2d-lua)