《Cocos2d-x游戏开发 手把手教你Lua语言的编程方法》

Cocos2d-x游戏开发 手把手教你Lua语言的编程方法

Cocos2d-x 游戏开发

内容简介

《Cocos2d-x游戏开发 手把手教你Lua语言的编程方法》是基于社区3.7.x引擎编写的入门开发指南,也是一本参考手册。在发布社区版3.7以来,引擎进行了大刀阔斧的裁剪和改进。尤其是UI部分的变化,让老开发和新收都无从下手,本书对ccui框架进行了全方位的介绍,并结合CocosStudio进行说明。

本地配套录制了10个讲解视频,和书上的内容相辅相成,新手可以更快的上手游戏开发,老手也可以从中得到新的体会。

除了对全书进行更新,还新增了UI控件、DragonBones、Protobuf、PushCenter等类容,部分章节更新了个人积累的Lua封装实现。

网购通道

章节概括

第1~3章为基础知识,是使用Cocos2d-x Lua开发游戏的必备知识集合;

第4章和第6章以实际作品“FruitFest”展示了完整的游戏开发流程;

第5章包行OpenGL ES等游戏开发进阶知识,其中介绍的功能是绝大多数游戏都需要的,熟知这些知识可以在开发游戏功能模块的时候更加得心应手

;第7~8章为高级编程技术,为游戏产品发布阶段提供有力支撑。

UI章节目录

  • 5.1 UI控件
  • 5.1.1 输入控件
  • 5.1.2 图片控件
  • 5.1.3 进度条控件
  • 5.1.4 滑动条控件
  • 5.1.5 富文本控件
  • 5.1.6 面板容器
  • 5.1.7 滚动容器
  • 5.1.8 列表容器
  • 5.1.9 分页视图控件
  • 5.1.10 视频播放控件
  • 5.1.11 网页视图控件
  • 5.2 Cocos Studio编辑器
  • 5.2.1 UI编辑基础
  • 5.2.2 分辨率适配
  • 5.2.3 加载csb文件

章节预览

3.7.1 ccui.Button

ccui.Button与Cocos Studio编辑器中的Button控件对应。它的工作原理类似于键盘,每点击一次就触发一次事件,松手之后复原。
按钮创建函数ccui.Button:create(normalImage, selectedImage, disableImage, texType)。
参数说明如下:
*(1)normalImage: 普通状态下显示的图片(可选)。
*(2)selectedImage: 按下状态下显示的图片(可选)。
*(3)disableImage: 禁用状态下显示的图片(可选)。
*(4)texType: 图片来源,0从文件,1从精灵帧缓存(可选)。
如果要创建文本按钮,接口的4个参数均不传值。

创建文本按钮示例。

local btn = ccui.Button:create()
btn:setTitleText('文本按钮')
btn:setTitleFontSize(24)
btn:setTitleColor(cc.c3b(0, 255, 0))
btn:addTo(self)
btn:pos(display.cx, display.cy + 400)
btn:addTouchEventListener(function(ref, eventType)
    if cc.EventCode.BEGAN == eventType then – 0
        print("began")
    elseif cc.EventCode.MOVED == eventType then – 1
        print("move")
    elseif cc.EventCode.ENDED == eventType then – 2
        print("end")
    elseif cc.EventCode.CANCELLED == eventType then – 3
        print("cancel")
    end
end)

Button内部封装有一个Label,通过成员函数setTitleText、setTitleFontSize和setTitleColor来设置按钮上文本标签的内容、字体大小和颜色。
所有ccui控件都有派生自基类ccui.Widget,他们都有共同的触摸事件监听注册函数addTouchEventListener。通常监听函数是个匿名函数,参数ref是触发事件对象,eventType是触摸事件类型。

创建图片按钮示例。

-- 图片按钮
local btn = ccui.Button:create("button/btn_n.png", "button/btn_p.png", "button/btn_d.png", 0)
btn:addTo(self)
btn:pos(display.cx, display.cy + 300)
-- btn:setEnabled(false)
btn:addTouchEventListener(function(ref, eventType)
    if cc.EventCode.BEGAN == eventType then – 0
        print("began")
    elseif cc.EventCode.MOVED == eventType then – 1
        print("move")
    elseif cc.EventCode.ENDED == eventType then – 2
        print("end")
    elseif cc.EventCode.CANCELLED == eventType then – 3
        print("cancel")
    end
end)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值