登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入 新註冊 | 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / EMS,時效:出貨後2-3日

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

2023年08月出版新書

2023年07月出版新書

2023年06月出版新書

2023年05月出版新書

2023年04月出版新書

2023年03月出版新書

2023年02月出版新書

『簡體書』Cocos2d-x之Lua核心编程(第2版)

書城自編碼: 3030856
分類: 簡體書→大陸圖書→計算機/網絡程序設計
作者: 刘克男
國際書號(ISBN): 9787302473145
出版社: 清华大学出版社
出版日期: 2017-08-01
版次: 2 印次: 1

書度/開本: 32开 釘裝: 平装

售價:NT$ 353

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
世界银行营商环境成熟度方法论手册
《 世界银行营商环境成熟度方法论手册 》

售價:NT$ 1501.0
变革时代的公司契约:法律能否与时俱进?
《 变革时代的公司契约:法律能否与时俱进? 》

售價:NT$ 437.0
我国城乡融合发展基本格局及典型形态研究
《 我国城乡融合发展基本格局及典型形态研究 》

售價:NT$ 386.0
写意兰竹树石课徒稿
《 写意兰竹树石课徒稿 》

售價:NT$ 515.0
不较真的心理智慧
《 不较真的心理智慧 》

售價:NT$ 279.0
漫画算法与数据结构(大规模数据集)
《 漫画算法与数据结构(大规模数据集) 》

售價:NT$ 447.0
欧洲的扩张1415—1789:现代世界的奠基
《 欧洲的扩张1415—1789:现代世界的奠基 》

售價:NT$ 829.0
引导的秘诀:通过团队合作获得结果的SMART指南(最新修订版)(白金版)
《 引导的秘诀:通过团队合作获得结果的SMART指南(最新修订版)(白金版) 》

售價:NT$ 554.0

建議一齊購買:

+

NT$ 579
《 Lua程序设计(第4版) 》
+

NT$ 719
《 精通Cocos2d-x游戏开发(进阶卷) 》
+

NT$ 641
《 Cocos2d-x实战:Lua卷(第2版) 》
+

NT$ 497
《 Lua游戏AI开发指南 》
+

NT$ 801
《 Cocos2d-x实战:Lua卷 》
+

NT$ 711
《 我所理解的Cocos2d-x 》
編輯推薦:
作为使用Lua进行Cocos开发的专业图书,本书非常重要!它不但在Lua语言和引擎方面有详细的讲解,更在引擎的诸多细节上花费了大量心思,包括缓存、内存管理与监控、数据加密等,是不可多得的Cocos2d-x开发进阶*教材!卞安(网名:红孩儿,国内*游戏开发技术专家)本书详尽地讲述了Cocos2d引擎的起源与发展,不仅让初学者深入了解到该引擎的来龙去脉,更对Cocos2d众多版本的选择上给予了重要的剖析与建议。 作者还通过由浅入深的教学方式来讲解项目实战开发的过程,介绍了许多实战经验,避免初学者在学习过程中走弯路。全书重点讲解Cocos2dx-Lua,其跨平台性和热更新机制已是当今游戏开发中的刚性需求!因此我极力建议学习Cocos2d引擎的读者把此书列为必读入门经典! 李华明(网名:Himi,国内*游戏开发技术专家,网易《功夫熊猫》游戏团队CTO)本书市面上*本由 Cocos 官方编写的 Cocos2d-x Lua 实战书籍。本书内容由浅及深,从 Cocos2d-x Lua 的基本概念、Lua 编程基础,到完整的游戏设计和实现都有详细论述。 除了基础知识和游戏开发实践,本书还包含了 Coc
內容簡介:
本书在《Cocos2dx 之Lua 核心编程》第1版的基础上进行了内容扩充,增加了Spine骨骼动画、拆剪节点、渲染纹理、Lua Binding实战、OpenGL ES 2.0与shader编程和SDK接入等内容,全面而又系统地论述了Cocos2dx Lua游戏开发的核心技术。本书从 Lua 语言基础开始,全面介绍Cocos2dx Lua 的基础知识、进阶应用和高级编程技术,并以一款三消游戏开发实战贯穿全书。第1~3章为基础知识,是使用Cocos2dx Lua开发游戏的必备知识集合; 第4章和第6章以实际作品Fruit Fest展示了完整的游戏开发流程; 第5章为游戏开发进阶知识,其中介绍的功能是绝大多数游戏都需要的,熟知这些知识可以在开发游戏功能模块的时候更加得心应手; 第7~8章为高级编程技术,为游戏产品发布阶段提供有力支撑。全书采用理论结合实践的*编程学习方式,各个章节都提供了相应的实例。
本书适合Cocos2dx Lua游戏开发初学者,亦可作为经验丰富的Cocos2dx Lua游戏前端开发工程师的参考读物。
關於作者:
刘克男 (@刘克男_u0u0):毕业于电子科技大学计算机科学与技术专业。2006年起在电子科技大学嵌入式国家实验室从事跨平台应用引擎研究。在跨平台引擎项目中担任引擎1.x开发部负责人,拥有4年技术团队管理经验。CC功底深厚,跨平台经验丰富,先后开发过的平台有Windows Mobile、Brew、iOS、Android、Window Phone 8。2013年加入触控,负责Cocos2d-x引擎的推广。编写了大量优质教程,涉及OpenGL ES、Chipmunk、Cocos2d-x等技术。2015年调任触控教育创新中心教学总监,负责Cocos2d-x课程设计与实施,同年被四川大学聘为校外创新与创业指导教师。
目錄
目录
第1章Cocos2dLua

1.1概述

1.1.1Cocos2d的起源

1.1.2Cocos2dx的诞生

1.1.3Cocos2dLua的发展

1.2版本介绍

1.2.1Cocos2dx版本介绍(C)

1.2.2Cocos2dLua版本介绍

第2章Lua编程

2.1Lua在Windows下的运行环境搭建

2.1.1安装

2.1.2运行

2.2Lua基础

2.2.1Lua介绍

2.2.2Lua语法

2.3Lua进阶

2.3.1Metatable(元表)

2.3.2重要元方法介绍

2.3.3封装

2.3.4继承

2.3.5多态

第3章Cocos2dLua基础

3.1Cocos2dLua开发环境配置

3.1.1安装Cocos2dLua

3.1.2安装Sublime与QuickXDev

3.1.3测试开发环境

3.2引擎架构与目录结构

3.2.1引擎架构

3.2.2引擎文件结构

3.2.3项目文件结构

3.3MVC框架

3.3.1什么是MVC

3.3.2Cocos2dLua中的类实现

3.3.3Cocos2dLua的MVC实现

3.4基础概念

3.4.1导演

3.4.2节点

3.4.3场景

3.4.4层

3.4.5精灵

3.5坐标系

3.5.1笛卡儿坐标系

3.5.2屏幕坐标系和Cocos2dLua坐标系

3.5.3世界坐标系VS本地坐标系

3.5.4锚点

3.5.5忽略锚点

3.5.6ZOrder与渲染顺序

3.6文本标签

3.6.1TTF文本标签

3.6.2BMFont文本标签

3.6.3UILabel控件

3.6.4Mac下使用GlyphDesigner制作字体

3.6.5Windows下使用BMFont制作字体

3.7按钮

3.7.1UIButton按钮

3.7.2UIPushButton按钮

3.7.3UICheckBoxButton按钮

3.7.4UICheckBoxButtonGroup按钮

3.8场景转换

3.8.1概念

3.8.2带转场特效的场景

3.8.3场景转换示例

3.9动作

3.9.1瞬时动作

3.9.2有限时间动作

3.9.3复合动作

3.9.4变速动作

3.9.5节点与动作相关的接口

3.10序列帧动画

3.10.1精灵表单

3.10.2播放序列帧动画

3.10.3动画缓存

3.11调度器

3.11.1全局调度器

3.11.2节点调度器

3.12事件分发机制

3.12.1节点事件

3.12.2帧事件

3.12.3键盘事件

3.12.4加速计事件

3.12.5触摸事件

3.13多分辨率适配

3.13.1Cocos2dx中的多分辨率适配

3.13.2Cocos2dLua中的多分辨率适配

第4章消除游戏实战(一)

4.1Fruit Fest(1): 主场景

4.1.1游戏玩法

4.1.2美术设计

4.1.3分辨率适配策略

4.1.4主场景

4.2Fruit Fest(2): 创建PlayScene

4.2.1准备BMFont

4.2.2创建PlayScene

4.2.3添加转场代码

4.2.4添加UI

4.3Fruit Fest(3): 初始化水果矩阵

4.3.1水果类

4.3.2矩阵算法

4.3.3掉落算法

4.3.4矩阵初始化的代码实现

4.4Fruit Fest(4): 选中水果

4.4.1绑定触摸事件

4.4.2清除已高亮区域

4.4.3高亮算法

4.4.4分数算法

4.5Fruit Fest(5): 消除与掉落

4.5.1消除高亮水果

4.5.2掉落与补全

第5章Cocos2dLua进阶

5.1UI控件

5.1.1输入控件

5.1.2进度条控件

5.1.3滑动条控件

5.1.4滚动视图控件

5.1.5列表视图控件

5.1.6分页视图控件

5.2瓦片地图

5.2.1用Tiled制作瓦片地图

5.2.2地图视角

5.2.3在Cocos2dLua中使用TMX

5.3精灵批处理

5.3.1手动批处理

5.3.2自动批处理

5.3.3手动批处理VS自动批处理

5.4碰撞检测

5.4.1点与点的碰撞

5.4.2点与矩形的碰撞

5.4.3圆与圆之间的碰撞

5.4.4轴对齐矩形之间的碰撞

5.4.5非轴对齐矩形之间的碰撞

5.5内存管理

5.5.1Lua内存管理

5.5.2Cocos2dLua内存管理

5.5.3纹理缓存

5.5.4精灵帧缓存

5.6数据与存储

5.6.1JSON数据

5.6.2crypto数据编码

5.6.3UserDefault数据存储

5.6.4GameState数据存储

5.6.5文件读写

5.7背景音乐与音效

5.8粒子系统

5.8.1什么是粒子系统

5.8.2Cocos2dLua中的粒子系统

5.8.3粒子系统批处理节点

5.8.4粒子属性

5.8.5粒子编辑器介绍

5.8.6使用粒子系统

5.9Spine骨骼动画

5.9.1Spine运行库

5.9.2用法示例

5.10裁剪节点

5.11渲染纹理

第6章消除游戏实战(二)

6.1Fruit Fest6: 过关与信息存储

6.1.1添加进度条

6.1.2过关与数据持久化

6.2Fruit Fest(7): 爆炸特效与声音

6.2.1爆炸特效

6.2.2游戏音乐

6.2.3后记

第7章Cocos2dLua高级

7.1网络通信

7.1.1network

7.1.2SocketTCP

7.1.3WebSocket

7.2物理引擎

7.2.1创建带物理世界的场景

7.2.2创建物理边界

7.2.3创建受重力作用的精灵

7.2.4碰撞检测

7.2.5完整示例

7.3摄像机

7.3.1OpenGL视口

7.3.2cc.Camera

7.3.3场景的默认摄像机

7.3.4自定义摄像机

7.4自定义事件

7.4.1加载EventProtocol组件

7.4.2主要接口

7.4.3完整示例

7.5有限状态机

7.5.1基本用法

7.5.2完整示例

7.6扩展Lua接口

7.6.1Lua C API

7.6.2Lua栈

7.6.3Lua Binding实战(1): tolua手动绑定

7.6.4Lua Binding实战(2): 扩展Spine接口

7.7OpenGL ES 2.0与shader编程

7.7.1OpenGL ES概述

7.7.2OpenGL ES绘制几何图形

7.7.3矩阵变换

7.7.4纹理贴图

7.7.5Cocos2dLua中使用自定义shader

第8章打包与发布

8.1Android项目的编译与打包

8.1.1安装JDK

8.1.2Build Native

8.1.3Android Studio打包

8.2Mac下编译iOS版本

8.2.1先决条件

8.2.2Debug真机调试

8.2.3Release打包

8.3发布时加密Lua源文件

8.3.1compile_scripts脚本

8.3.2去掉源代码引用

8.3.3修改Lua启动入口

8.4发布时加密图片资源文件

8.4.1encrypt_res脚本

8.4.2资源加密示例

8.5SDK接入

8.5.1使用luaj接入Android SDK

8.5.2使用luaoc接入iOS SDK
內容試閱
前言
本书分8章,知识由浅入深、步步推进,建议按照顺序阅读。第1章介绍Cocos2dLua背景,Cocos2d各版本之间的关系。第2章旨在引导读者快速入门,已有Lua编程基础的读者,可跳过这一部分。第3章介绍Cocos2dLua基础,本章是开发游戏必须掌握的知识结构。第4章介绍Fruit Fest消除游戏的第一部分,实现了游戏的核心玩法。本章应用Cocos2dLua基础知识,展示了游戏开发的主要流程。第5章介绍Cocos2dLua进阶,涵盖UI控件、瓦片地图、内存管理以及数据存储等内容。第6章介绍Fruit Fest游戏的第二部分,为游戏添加了音乐与粒子特效。第7章介绍Cocos2dLua高级内容,虽然其中的网络通信和物理引擎不是每个游戏都会用到,但它们是引擎必不可少的一部分。自定义事件和状态机为游戏系统架构提供基础支撑,而Lua Binding要求熟练掌握C语言开发,它们都是为高级工程师准备的。第8章介绍打包与发布。之所以把该部分放在最后,是因为Cocos2dLua提供的Player模拟器已足够应对游戏的前期开发,通过Player测试游戏将为开发者节省大量时间。适用版本本书基于QuickCocos2dxCommunity 3.6.4版本撰写,由于Quick框架对接口稳定性所做的贡献,本书与引擎功能模块相关的章节适用于Cocos2dLua v3.3 Final之后的所有版本。可以在http:cocos2dlua.orgdownloadindex.md下载到最新的Cocos2dLua引擎。
注: 本书不适用于Cocos2dLua 2.x分支版本。
书中实例本书以理论结合实践,各章均配备了测试用例。其中第4章和第6章以Fruit Fest展示了完整游戏的开发流程,每一节各介绍一个独立的功能并配备实例代码,让初学者充分体验到游戏开发的细节。读者可以从本书的主页http:cocos2dlua.orgbookindex.md免费获取所有章节配套的最新实例代码。读者对象本书作为Cocos2dLua的权威书籍,从Lua语言基础开始,全面覆盖Cocos2dLua基础、进阶和高级编程,并指导读者逐步完成一款消除游戏的开发。对于Cocos2d新手而言,本书可以作为手机游戏开发的入门书籍。对于有经验的手游开发者而言,本书依然是进行Cocos2dLua开发必不可少的参考手册,大量的实例代码可以帮助读者节省宝贵的时间。对于院校师生而言,本书的编排完全按照学习顺序系统展开,是教材的不二之选。由于笔者水平有限,书中内容难免会有不妥或者疏漏,欢迎读者批评指正。作者2017年5月


第5章
Cocos2dLua进阶
5.1UI控件在Cocos2dLua基础章节,我们已经接触了两个最基础的UI控件: 文本标签和按钮。它们是编写游戏所需的最基础的控件,提前介绍能帮助我们进行第4章的游戏实战。经过游戏实战的练习,相信读者已经对游戏开发有了直观的认识体验,但是可能依然无法完成某些界面布局,因此现在本书将介绍Cocos2dLua提供的其他控件。5.1.1输入控件游戏中,有时需要让玩家输入用户名、密码或聊天消息等,这时需要输入控件来完成这些功能。输入控件内部调用手机系统提供的输入法接口,获取系统输入控件返回值,再传递给游戏引擎中对应的界面。Cocos2dLua封装的输入控件类是UIInput,源码位于quickframeworkccuiUIInput.lua。控件显示效果如图51所示。
图51UIInput
1. 创建输入控件通过cc.ui.UIInput.newoptions新建一个输入控件。其中参数options是table类型,可选值如下:1 image:输入框的图像,可以是图像名或是display.newScale9Sprite创建的Sprite9Scale对象。2 imagePressed:输入状态时输入框显示的图像可选。3 imageDisabled:禁止状态时输入框显示的图像可选。4 listener:回调函数,监听输入事件可选。5 size:输入框的尺寸,用cc.size宽度,高度创建。6 x,y:坐标可选。我们来看看如何简单地创建一个输入控件,在MainScene的ctor中加入下面代码:
local editbox = cc.ui.UIInput.new{
image ="editbox.png",-- 输入控件的背景
x =200,
y =300,
size = cc.size200,40
}
self:addChildeditbox
2. 获取文本可以使用getText方法获取输入控件的文本内容。
local text = editbox:getText
3. 设置提示信息可以设置输入字段预期值的提示信息,该提示会在输入字段为空时显示,并会在字段获得焦点时消失。假如输入框期望输入的是密码,设置代码如下:
editbox:setPlaceHolder"请输入密码"
4. 设置显示文本也可以给输入控件设置默认值。例如想让玩家给游戏角色起名称,在输入框中可以预留一个默认名字,用户可以偷懒不输入新名字,直接单击确认开始游戏。
editbox:setText"路人甲"
5. 监听输入事件在新建输入控件的时候,可以通过参数传递一个输入事件监听器给该控件,监听系统输入法在整个输入过程中的状态变化情况。示例代码如下:
localfunction onEditevent, editbox
if event =="began"then
-- 开始输入
print"开始输入"
elseif event =="changed"then
-- 输入框内容发生变化
print"输入框内容发生变化"
local text = editbox:getText
printtext
elseif event =="ended"then
-- 输入结束
print"输入结束"
elseif event =="return"then
--从输入框返回
print"从输入框返回"
end
end

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.