初学Lua

一:cocos2d lua开发的优点

实现游戏资源的动态更新,而不用从新下载安装包。很多网游选择Lua开发。

Lua的语法:

注释不是//而是--

二:通过cocos code ide(根据eclipse改编的)创建Lua的方法

1新建cocos new -p com.lol.game -l lua -d ~/Desktop/ testLua

2通过cocos code ide来编写Lua 启动

3配置环境 点击右上角cocos code ide->Prefences->Cocos->Lua->Lua Framework指向cocos源码目录

4File->New Cocos Project (屏幕大小 横竖屏幕 项目名称 add native codes是否添加runtime源码-不选择)->下一步完成

5自动生成res src-(main.lua GameScene.lua)点击右键runas 运行

三:设计一个简单的lua 设计一个场景

1删除GameScene.lua 新建一个myScene.lua

--定义场景类 local表示为局部变量 
local MyScene=class("myScene",function()
return cc.Scene:create()
end)
--create函数
function MyScene:create()
    local scene=MyScene.new()
    --初始化之后 在添加下面一句
    scene:addChild(scene:init())
    return scene
end
--构造
function MyScene:ctor()
    self.winsize=cc.Director:getInstance():getWinSize()
end
--初始化
function MyScene:init()
    local layer=cc.Layer:create()
    local sp=cc.Sprite:create("farm.jpg")
    layer:addChild(sp)
    sp:setPosition(self.winsize.width/2,self.winsize.height/2)
    --当创建完后 为了显示随时改变 可以看到变化 添加一句 直接点击保存就行
    sp:runAction(cc.RotateBy:create(5,720))
    --添加返回
    local itemback=cc.MenuItemFont:create("返回吧")
    local menu=cc.Menu:create()
    menu:addChild(itemback)
    layer:addChild(menu)
    --添加返回的侦听
    local function menucallback(obj)
        local gs=require("MenuScene")
        local menugs=gs:create()
        cc.Director:getInstance():replaceScene(cc.TransitionFade:create(1,menugs))	
    end
    --注册
    itemback:registerScriptTapHandler(menucallback)
    
	return layer
end
--然后在main.lua 1更改create scene 一下入口 
--2把scene.create()改为scene:create()
--3并删除背景音乐
return MyScene

四:实现从一个场景跳转到另一个场景

再新建一个menuScene 来实现和myScene相互跳转

--创建菜单场景
local MenuScene=class("MenuScene",function ()
   return cc.Scene:create()
end)
--创建create函数
function MenuScene:create()
    local scene=MenuScene.new()
    --在写完初始化函数后 在添加下面一句
    scene:addChild(scene:init())
    return scene	
end
--创建构造
function MenuScene:ctor()
    self.winsize=cc.Director:getInstance():getWinSize()
end
--初始化
function MenuScene:init()
    local layer=cc.Layer:create()
    local menuitem=cc.MenuItemFont:create("开始游戏了")
    --以下实现场景的跳转方法--
    local function menucallback(obj)
        local sc=require("myScene")
        local gs=sc:create()
        cc.Director:getInstance():replaceScene(gs)
    end
    --通过注册侦听 来实现按下跳转
    menuitem:registerScriptTapHandler(menucallback)
    --以上就是实现了场景的跳转方法--
    
    local menu=cc.Menu:create()
    menu:addChild(menuitem)
    layer:addChild(menu)
    return layer
end

return MenuScene
--最后 还是通过修改main里面的

五:把在ide写好的代码,然后放进xcode进行编译打包

把main.lua menuScene.lua 复制到xcode创建的src文件夹中替换 来打包

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值