• 正版现货新书 Cocos2d-x实战(第2版)(Lua卷) 9787302457305 关东升
21年品牌 40万+商家 超1.5亿件商品

正版现货新书 Cocos2d-x实战(第2版)(Lua卷) 9787302457305 关东升

全新正版现货,以书名为准,放心购买,购书咨询18931383650朱老师

67.85 7.6折 89 全新

库存6件

北京丰台
认证卖家担保交易快速发货售后保障

作者关东升

出版社清华大学出版社

ISBN9787302457305

出版时间2017-02

装帧平装

开本32开

定价89元

货号24173202

上书时间2024-10-14

黎明书店

十五年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
前言

前言“Cocos2dx实战”系列图书第1版出版后,得到业界一致好评,随着Cocos2dx版本的变化,很多API有了较大变化,很多读者希望升级Cocos2dx实战系列图书。经过几个月努力,我们终于在2016年7月完成初稿,几个月来我们智捷iOS课堂团队夜以继日,我几乎推掉一切社交活动,推掉很多企业邀请讲课的机会,每天工作12小时,不敢有任何松懈和徘徊,只做一件事情——编写此书。书中每一个文字、每一幅图片、每一个实例都是精心制作。这次“Cocos2dx实战”系列图书升级版包括如下4本书: (1) 《Cocos2dx实战: C  卷》(第2版)。(2) 《Cocos2dx实战: JS卷——Cocos2dJS开发》(第2版)。(3) 《Cocos2dx实战: Lua卷》(第2版)。(4) 《Cocos2dx实战: 工具卷》(第2版)。本书是Cocos2dx游戏引擎Lua卷,就是使用Cocos2dx的Lua语言API。关于本系列图书的具体进展请读者关注智捷课堂官方网站http://www.51work6.com。关于源代码为了更好地为广大读者提供服务,专门为本书建立了一个网站,具体网址是www.51work6.com/book/cocos23.php,读者可以对书中内容发表评论,提出宝贵意见。勘误与支持我们在网站www.51work6.com/book/cocos23.php中建立了一个勘误专区,及时地把书中的问题、失误和纠正反馈给广大读者,您如果发现有什么问题,可以在网上留言,也可以发送电子邮件到: eorient@sina.com,我们会在时间回复您; 也可以在新浪微博中与我们联系: @tony_关东升。本书主要由关东升撰写,智捷课堂团队的赵大羽、赵志荣、关锦华参与了部分内容的编写。感谢赵大羽老师手绘了书中全部草图,并从专业的角度修改书中图片,力求更加真实完美地奉献给广大读者。在此感谢清华大学出版社的盛东亮编辑给我们提供了宝贵的意见。后感谢家人对我的宽容以及对我的关心和照顾,使我能抽出这么多时间,投入全部精力专心地编写此书。由于时间仓促,书中难免存在不妥之处,请读者原谅,并提出宝贵意见。关东升2017年1月于北京

导语摘要
本书是介绍Cocos2dx Lua游戏编程和开发技术的书籍。书中介绍了使用Cocos2dx Lua中的核心类、瓦片地图、物理引擎、音乐音效、Cocos2dx GUI控件、Cocos2dx中的3D特性、数据持久化、网络通信、性能优化、多平台移植、程序代码管理、两大应用商店发布产品。全书分为6篇: 基础篇、进阶篇、数据与网络篇、优化篇、多平台移植篇和实战篇。基础篇包括第1~9章,内容涵盖了Lua语言基础、Cocos2dx Lua介绍、环境搭建、标签、菜单、精灵、场景、层、动作、特效、动画和用户事件。进阶篇包括第10~15章,内容涵盖了游戏音乐与音效、粒子系统、瓦片地图、物理引擎、Cocos2dx GUI控件和Cocos2dx中的3D特性。数据与网络篇包括第16~18章,内容涵盖了数据持久化、基于HTTP网络通信和Node.js与WebSocket网络通信。优化篇包括第19章性能优化。多平台移植篇包括第20和第21章,分别是移植到Android平台和移植到iOS平台。实战篇包括第22~25章,分别是使用Git管理程序代码、项目实战: 迷失航线

作者简介
关东升:国内知名iOS技术作家,iOS技术顾问,高级培训讲师,移动开发专家。担任51CTO社区iOS技术顾问,精通iOS、Android、Windows Phone及HTML5等移动开发技术。曾先后主持开发大型网络游戏《神农诀》的iOS和Android客户端开发,国家农产品追溯系统的iPad客户端开发,酒店预订系统的iOS客户端开发,金融系统的iOS、Windows Phone 及Android客户端开发。在App Store上发布数款游戏和应用软件,擅长移动平台的应用和游戏类项目开发。长期为中国移动研究院、云南移动、东软、方正科技、大唐电信、中石油、深圳康拓普、上海财富168、天津港务局等企事业单位授课。著有《iOS实战:入门与提高卷(Swift版)》《iOS实战:传感器卷(Swift版)》《iOS实战:图形图像、动画和多媒体卷(Swift版)》《iOS开发指南——从零基础到App Store上架》《交互设计的艺术——iOS 7拟物化到扁平化革命》《Cocos2d-x实战:C  卷(第2版)》《Cocos2d-x实战:Lua卷(第2版)》《Cocos2d-x实战:JS卷——Cocos2d-JS开发(第2版)》《Cocos2d-x实战:工具卷(第2版)》等专业图书。

目录
第1章  准备开始
  1.1  本书学习路线图
  1.2  使用实例代码
第一篇  基础篇
第2章  Lua语言基础
  2.1  Lua开发环境搭建
    2.1.1  安装LDT工具
    2.1.2  HelloLua实例测试
  2.2  标识符和保留字
    2.2.1  标识符
    2.2.2  保留字
  2.3  常量和变量
    2.3.1  常量
    2.3.2  变量
    2.3.3  命名规范
  2.4  注释
  2.5  Lua数据类型
    2.5.1  数据类型
    2.5.2  type函数
    2.5.3  数据类型转换
  2.6  运算符
    2.6.1  算术运算符
    2.6.2  关系运算符
    2.6.3  逻辑运算符
    2.6.4  运算优先级
  2.7  控制语句
    2.7.1  分支语句
    2.7.2  循环语句
    2.7.3  跳转语句
  2.8  table类型
    2.8.1  字典
    2.8.2  数组
  2.9  字符串类型
    2.9.1  字符串截取
    2.9.2  字符串转换
    2.9.3  字符串查询
    2.9.4  字符串格式化
  2.10  函数
    2.10.1  使用函数
    2.10.2  变量作用域
    2.10.3  多重返回值
  2.11  闭包函数
    2.11.1  嵌套函数
    2.11.2  返回函数
    2.11.3  使用闭包表达式
  2.12  Lua中的面向对象
    2.12.1  Lua中的对象
    2.12.2  类的实现
  本章小结
第3章  Cocos2d x Lua API与环境搭建
  3.1  移动平台游戏引擎介绍
  3.2  Cocos2d家谱
  3.3  Cocos2d x设计目标
  3.4  搭建Cocos2d x Lua API开发环境
    3.4.1  安装Visual Studio开发工具
    3.4.2  下载和使用Cocos2d x Lua API官方案例
    3.4.3  配置Cocos2d x环境
    3.4.4  使用API文档
  本章小结
……
第二篇  进阶篇
第三篇  数据与网络篇
第四篇  优化篇
第五篇  多平台移植篇
第六篇  实战篇

内容摘要
本书是介绍Cocos2dx Lua游戏编程和开发技术的书籍。书中介绍了使用Cocos2dx Lua中的核心类、瓦片地图、物理引擎、音乐音效、Cocos2dx GUI控件、Cocos2dx中的3D特性、数据持久化、网络通信、性能优化、多平台移植、程序代码管理、两大应用商店发布产品。
全书分为6篇: 基础篇、进阶篇、数据与网络篇、优化篇、多平台移植篇和实战篇。
基础篇包括第1~9章,内容涵盖了Lua语言基础、Cocos2dx Lua介绍、环境搭建、标签、菜单、精灵、场景、层、动作、特效、动画和用户事件。
进阶篇包括第10~15章,内容涵盖了游戏音乐与音效、粒子系统、瓦片地图、物理引擎、Cocos2dx GUI控件和Cocos2dx中的3D特性。
数据与网络篇包括第16~18章,内容涵盖了数据持久化、基于HTTP网络通信和Node.js与WebSocket网络通信。
优化篇包括第19章性能优化。
多平台移植篇包括第20和第21章,分别是移植到Android平台和移植到iOS平台。
实战篇包括第22~25章,分别是使用Git管理程序代码、项目实战: 迷失航线

主编推荐
关东升:国内知名iOS技术作家,iOS技术顾问,高级培训讲师,移动开发专家。担任51CTO社区iOS技术顾问,精通iOS、Android、Windows Phone及HTML5等移动开发技术。曾先后主持开发大型网络游戏《神农诀》的iOS和Android客户端开发,国家农产品追溯系统的iPad客户端开发,酒店预订系统的iOS客户端开发,金融系统的iOS、Windows Phone 及Android客户端开发。在App Store上发布数款游戏和应用软件,擅长移动平台的应用和游戏类项目开发。长期为中国移动研究院、云南移动、东软、方正科技、大唐电信、中石油、深圳康拓普、上海财富168、天津港务局等企事业单位授课。著有《iOS实战:入门与提高卷(Swift版)》《iOS实战:传感器卷(Swift版)》《iOS实战:图形图像、动画和多媒体卷(Swift版)》《iOS开发指南——从零基础到App Store上架》《交互设计的艺术——iOS 7拟物化到扁平化革命》《Cocos2d-x实战:C  卷(第2版)》《Cocos2d-x实战:Lua卷(第2版)》《Cocos2d-x实战:JS卷——Cocos2d-JS开发(第2版)》《Cocos2d-x实战:工具卷(第2版)》等专业图书。

精彩内容
第5章

标签和菜单

第5章标签和菜单游戏中文字与菜单很常用,字符串、标签和菜单经常结合在一起使用,因此本章主要介绍Cocos2dx Lua API中的标签与菜单。5.1游戏中的文字游戏场景中的文字包括静态文字和动态文字。静态文字如图51所示游戏场景中①号文字“COCOS2DX”,动态文字如图51所示游戏场景中的②号文字“Hello World”。

图51场景中的文字

静态文字一般是由美工使用Photoshop绘制在背景图片上,这种方式的优点是表现力很丰富,例如,①号文字“COCOS2DX”中的“COCOS”、“2D”和“X”设计的风格不同,而动态文字则不能,但是静态文字无法通过程序访问,无法动态修改内容。动态文字一般是需要通过程序访问,需要动态修改内容。Cocos2dx Lua API可以通过标签类实现。5.2使用标签要想在游戏场景中显示动态文字,可以通过Cocos2dx Lua API提供的标签类Label和LabelAtlas实现,也可通过Cocos2dx GUI标签控件实现。本章介绍标签类Label和LabelAtlas实现方式。5.2.1Label类Label类是Cocos2dx 3.x后推出的新的标签类,这种标签通过使用FreeTypeFreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件。——引自百度百科http://baike.baidu.com/view/4579855.htm来使它在不同的平台上有相同的视觉效果。由于使用更快的缓存代理,它的渲染也将更加快速。Label提供了描边和阴影等特性。Label类可以创建系统字体标签、

图52Label类图

TTF字体标签和位图字体标签。

提示系统字体标签就是当前平台系统中安装的字体,我们要确保所用字体在系统中是存在的。TTF字体TTF(TrueTypeFont)是Apple公司和Microsoft公司共同推出的字体文件格式,随着Windows的流行,已经变成常用的一种字体文件表示方式。——引自百度百科http://baike.baidu.com/view/1003637.htm标签是加载TTF字体文件显示文字的标签。位图字体标签加载两个文件: 一个纹理图集(.png)和一个字体坐标文件(.fnt)。

Label类的类图如图52所示。创建Label类静态create函数常用的有如下几个: 
Label:createWithSystemFont(text,-- 是要显示的文字
font,-- 系统字体名
fontSize,-- 字体的大小
dimensions= size(0,0),  -- 可省略,参考LabelTTF定义
vAlignment= TEXT_ALIGNMENT_LEFT,-- 可省略,参考LabelTTF定义
vAlignment= VERTICAL_TEXT_ALIGNMENT_TOP -- 可省略,参考LabelTTF定义
)

Label:createWithTTF(const std∷string & text,
fontFile, -- 字体文件
fontSize,
dimensions= size(0,0),
hAlignment= TEXT_ALIGNMENT_LEFT, 
vAlignment= VERTICAL_TEXT_ALIGNMENT_TOP


Label:createWithTTF(ttfConfig,-- 字体配置信息
text,
hAlignment= TEXT_ALIGNMENT_LEFT,
int maxLineWidth = 0-- 可省略,标签的宽度
)

Label:createWithBMFont(const std∷string& bmfontFilePath, -- 位图字体文件
text, 
hAlignment= TEXT_ALIGNMENT_LEFT, 
int maxLineWidth = 0, 
imageOffset = p(0,0)-- 可省略,在位图中的偏移量
)
其中createWithSystemFont是创建系统字体标签对象,createWithTTF是创建TTF字体标签对象,createWithBMFont是创建位图字体标签对象。5.2.2实例: 使用系统字体和TTF字体下面用实例说明通过Label类使用系统字体和TTF字体,如图53所示。

图53使用系统字体和TTF字体

GameScene.lua的GameScene:createLayer()函数如下: 
--创建层
function GameScene:createLayer()
cclog("GameScene init")
local layer = cc.Layer:create()

--上下两个控件的距离
local gap = 120

local label1 = cc.Label:createWithSystemFont("世界你好1", "Arial", 36)①
label1:setPosition(cc.p(size.width/2, size.height - gap))
layer:addChild(label1, 1)

local label2 = cc.Label:createWithTTF("世界你好2", "fonts/STLITI.ttf", 36)②
label2:setPosition(cc.p(size.width/2, size.height - 2 * gap))
layer:addChild(label2, 1)

local ttfConfig  = {}③
ttfConfig.fontFilePath="fonts/Marker Felt.ttf"
ttfConfig.fontSize = 32

local label3 = cc.Label:createWithTTF(ttfConfig, "Hello World1")④
label3:setPosition(cc.p(size.width/2, size.height - 3 * gap))
layer:addChild(label3 , 1)

ttfConfig.outlineSize = 4⑤
local label4 = cc.Label:createWithTTF(ttfConfig, "Hello World2")⑥
label4:setPosition(cc.p(size.width/2, size.height - 4 * gap))
label5:enableShadow(cc.c4b(255,255,255,128), cc.size(4, -4)) ⑦
label5:setColor(cc.c3b(255, 0, 0)) ⑧
layer:addChild(label4, 1) 

return layer
end
上述第①行代码是通过createWithSystemFont函数创建系统字体标签对象。第②行代码是通过createWithTTF创建TTF字体标签对象。第③行代码local ttfConfig = {}是声明一个ttfConfig变量,ttfConfig的属性如下: 
fontFilePath-- 字体文件路径
fontSize,-- 字体大小
glyphs = GLYPHCOLLECTION_DYNAMIC,-- 字体库类型
customGlyphs-- 自定义字体库
outlineSize-- 字体描边
distanceFieldEnabled-- 开启距离字段字体开关
第④行代码cc.Label:createWithTTF(ttfConfig, "Hello World1")是通过指定ttfConfig创建TTF字体标签。

图54图片集文件
第⑤行代码ttfConfig.outlineSize = 4设置ttfConfig的描边字段。第⑥行代码cc.Label:createWithTTF(ttfConfig, "Hello World2")是重新创建TTF字体标签。第⑦行代码label5:enableShadow(cc.c4b(255,255,255,128),cc.size(4, -4))是设置标签的阴影效果。第⑧行代码label5:setColor(cc.c3b(255, 0, 0))是设置标签的颜色。5.2.3实例: 使用位图字体位图字体标签加载两个文件: 一个图片集(.png)和一个字体坐标文件(.fnt)。图54展示了图片集文件BMFont.png的内容,对应还有一个字体坐标文件BMFont.fnt。字体坐标文件BMFont.fnt代码如下: 
info face="AmericanTypewriter" size=64 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=2,2

common lineHeight=73 base=58 scaleW=512 scaleH=512 pages=1 packed=0
page id=0 file="BMFont.png"
chars count=95
char id=124 x=2 y=2 width=9 height=68 xoffset=14 yoffset=9 xadvance=32 page=0 chnl=0 letter="|"
char id=41 x=13 y=2 width=28 height=63 xoffset=1 yoffset=11 xadvance=29 page=0 chnl=0 letter=")"
char id=40 x=43 y=2 width=28 height=63 xoffset=4 yoffset=11 xadvance=29 page=0 chnl=0 letter="("
... ...
char id=32 x=200 y=366 width=0 height=0 xoffset=16 yoffset=78 xadvance=16 page=0 chnl=0 
letter="space"
使用LabelBMFont需要注意的是图片集文件和坐标文件需要放置在相同的资源目录下,文件命名相同。图片集合和坐标文件是可以通过位图字体工具制作而成的,位图字体工具的使用请参考本系列丛书的工具卷(《Cocos2dx实战: 工具卷》)。下面用实例说明通过Label类使用位图字体,如图55所示。

图55使用位图字体

下面看一下GameScene.lua的GameScene:createLayer()函数如下: 
--创建层
function GameScene:createLayer()
cclog("GameScene init")
local layer = cc.Layer:cre

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP