一个较完整的LUA COCOS2DX 操作“类”
来源:互联网 发布:星宇记账软件 编辑:程序博客网 时间:2024/05/21 06:31
包含
1 音效 2 “类” 3 粒子效果 4 读取COCOSTUDIO的UI文件 5 类方法 6 内方法 7 全局变量和局部变量 。 LUA“类"的使用方法请参考上篇文章。
1 音效 2 “类” 3 粒子效果 4 读取COCOSTUDIO的UI文件 5 类方法 6 内方法 7 全局变量和局部变量 。 LUA“类"的使用方法请参考上篇文章。
特别说明 local moveTo = cc.MoveTo:create(2.0,cc.vertex2F(900,500)) ,在3.1.1时的LUA API没有VEC2和POINT的概念,而是改成了cc.vertex2F(float,float)。
这里顺便提一下为什么不用cocos2dx-quick的LUA框架。
首先笔者没有真正研究过QUICK,只是看过一些功能介绍,但基于一些QUCIK技术朋友的反馈,QUICK更适用于做单机小游戏,笔者的项目是ARPG大型网游。
另外COCOS2DX已经有较成熟的CODE IDE,可以帮助我们快速开发LUA项目,不依赖LUA框架对提高LUA写作也有一定帮助,当然,也能降低一些框架的资源开销。
require "Cocos2d"require "Cocos2dConstants"require "GuiConstants"local LoginScene = class("LoginScene",function() return cc.Scene:create()end)local visibleSize = cc.Director:getInstance():getVisibleSize()local origin = cc.Director:getInstance():getVisibleOrigin()local layerFarm = cc.Layer:create()function LoginScene.create() local scene = LoginScene.new() scene:addChild(scene:createLayerFarm()) local bgMusicPath = cc.FileUtils:getInstance():fullPathForFilename("res/music/xinshoucun.mp3") cc.SimpleAudioEngine:getInstance():playMusic(bgMusicPath, true) return sceneendfunction LoginScene:changeLayer(layerOne,layerTwo) cclog("change func") local moveTo = cc.MoveTo:create(2.0,cc.vertex2F(900,500)) layerOne:runAction(moveTo)end-- create farmfunction LoginScene:createLayerFarm() local uiLayout = ccs.GUIReader:shareReader():widgetFromJsonFile("res/Scene_login_register_1/Scene_login_register_1.json") local loginPanel = uiLayout:getChildByName("Panel_login") local registerPanel = uiLayout:getChildByName("Panel_register") local loginButton = loginPanel:getChildByName("btn_login") local btn_register = loginPanel:getChildByName("btn_register") local bt_back_login = registerPanel:getChildByName("bt_back_login") --loginbutton func local function touchEvent(sender,eventType) cclog("in the touchevent") if eventType == ccui.TouchEventType.ended then if sender:getTag() == 37 then --loginPanel register bt loginPanel:setVisible(false) registerPanel:setVisible(true) LoginScene:changeLayer(registerPanel,loginPanel) elseif sender:getTag() == 36 then --loginPanel login bt cclog("I wanner login") elseif sender:getTag() == 58 then -- registerPanel back login bt loginPanel:setVisible(true) registerPanel:setVisible(false) end end end loginButton:addTouchEventListener(touchEvent) btn_register:addTouchEventListener(touchEvent) bt_back_login:addTouchEventListener(touchEvent) layerFarm:addChild(uiLayout) LoginScene.createFire() return layerFarmendfunction LoginScene:createFire() local fire = cc.Director:getInstance():getTextureCache():addImage("particlefire.png") local fireParticle = cc.ParticleFire:create() fireParticle:setScale(0.85) fireParticle:setTexture(fire) layerFarm:addChild(fireParticle) fireParticle:setPosition(origin.x + 50, origin.y + 0) local fireParticle2 = cc.ParticleFire:create() fireParticle2:setScale(0.30) fireParticle2:setTexture(fire) layerFarm:addChild(fireParticle2) fireParticle2:setPosition(origin.x + 730, origin.y - 10)endreturn LoginScene
原创自博主的同名技术博客 http://5.quanpao.com/?p=973
转载请注明出处 0 0
- 一个较完整的LUA COCOS2DX 操作“类”
- 一个关于TableViewer较完整的例子
- 一个较完整的IPhone秒表程序
- 一个较完整的Qt登录界面设计
- 一个较完整的SpringMVC工程的配置
- 一个较完整的连接数据库写法!(请大家参考)
- 一个较完整的关键字过滤解决方案(上)
- 一个较完整的关键字过滤解决方案(中)
- 一个较完整的关键字过滤解决方案(下)
- 谁能提供一个较完整的系统巡检脚本?
- django实战(二)一个较完整的博客系统
- C#一个完整的电子邮件操作类
- C#一个完整的电子邮件操作类
- 一个完整的数据库操作
- 一个完整的数据库操作
- 请教一个 quick Cocos2dx Lua扩展 protobuf的问题
- cocos2dx 3.4 lua学习一个简单的小例子
- 用Cocos2dx-Lua制作一个圆形的头像框
- Android Trick: 改变一个apk的packagename的简单流程,就2个步骤
- [HDU1158]DP 工厂雇佣决策
- linux 库编译和使用笔记
- linux基础知识之shell(2)
- 提高win7电脑速度
- 一个较完整的LUA COCOS2DX 操作“类”
- 作死的逆向分析
- hdu 4632 子字符串统计的区间dp
- You must supply a layout_width attr
- jQuery 遍历 - 过滤
- Menu
- java面向对象相关——聊聊多态
- linux c 文件打开并创建代码分析
- iOS 为移动动画中的View添加touch事件