新書推薦:
《
敦煌写本文献学(增订本)
》
售價:HK$
221.8
《
耕读史
》
售價:HK$
109.8
《
地理计算与R语言 [英] 罗宾·洛夫莱斯 [德]雅纳·蒙乔 [波兰] 雅库布·诺沃萨德
》
售價:HK$
121.0
《
沈括的知识世界:一种闻见主义的实践(中华学术译丛)
》
售價:HK$
87.4
《
大思维:哥伦比亚商学院六步创新思维模型
》
售價:HK$
72.8
《
宏观经济学(第三版)【2024诺贝尔经济学奖获奖者作品】
》
售價:HK$
155.7
《
UE5虚幻引擎必修课(视频教学版)
》
售價:HK$
110.9
《
真需求
》
售價:HK$
110.9
|
編輯推薦: |
内容全面深入,既深入阐述了Lua语言的核心要素,又全方位地讲解了利用Lua进行游戏开发和设计的各种技术细节、方法和最佳实践,
作者知名度高,麻省理工学院的工商管理学硕士,同时也是一位资深的IT人士,有超过20年的丰富从业经验。
|
內容簡介: |
《Lua实战:iOS游戏开发》程语言的相关知识,并着重展现了Lua在iOS平台开发过程中的编程方法。《Lua实战:iOS游戏开发》从Lua语言基础开始,详细地讲解了Lua中的变量、运算符、基础函数、数学函数、字符串函数、线程等基本知识,总结了Lua开发中的特殊之处。此外,还介绍了Corona SDK、Gideros Studio、Moai、L?VE和Codea这几个框架,为Lua语言在iOS游戏开发过程中的使用进行了极佳的铺垫。最后,书中介绍了一些与Lua有关的库和第三方应用程序,并通过一个复杂的实例全面地总结了书中的知识。
《Lua实战:iOS游戏开发》适合对使用Lua iOS下进行游戏开发感兴趣的读者,也适用于有一定编程基础,想要深入学习Lua的开发人员。
|
關於作者: |
Jayant Varma是OZ Apps的执行董事,一家提供移动产品增值策略和移动开发及培训方面专业服务的澳大利亚咨询公司。在Mac App Store上好几款应用都得益于他的功劳。他是麻省理工学院的工商管理学硕士,同时也是一位资深的IT人士,在多个国家的自动化和高等教育等领域有超过20年的丰富经验。他创办了AUC(苹果大学联合)的iOS开发学习班。他还在博客上发布相关技术话题来帮助其他的开发者。
|
目錄:
|
第1章 Lua入门
1.1 什么是Lua
1.2 Lua历史
1.3 Lua大事记
1.4 上手Lua
1.5 配置Lua
1.5.1 线上Lua Shell
1.5.2 Windows、Max OS X和*nix
1.5.3 iOS
1.6 Lua特性
1.6.1 变量
1.6.2 用变量实现Hello World
1.6.3 字符串
1.6.4 数字
1.6.5 值和类型
1.6.6 块和作用域
1.7 Lua运算符
1.7.1 算术运算符
1.7.2 关系运算符
1.7.3 逻辑运算符
1.7.4 其他运算符
1.8 总结
第2章 Lua库
2.1 基础函数
2.1.1 assertv[,message]
2.1.2 collectgarbage[opt[,arg]]
2.1.3 dofile[filename]
2.1.4 errormessage[,level]
2.1.5 _G
2.1.6 getfenv[f]
2.1.7 getmetatableobject
2.1.8 ipairst
2.1.9 loadfunc[,chunkname]
2.1.10 loadstringstring[,chunkname]
2.1.11 nexttable[,index]
2.1.12 pairst
2.1.13 pcallf,arg1,…
2.1.14 print…
2.1.15 rawequalv1,v2
2.1.16 rawgettable,index
2.1.17 rawesttable,index,value
2.1.18 selectindex,…
2.1.19 setfenvf,table
2.1.20 setmetatabletable,metatable
2.1.21 tonumbere[,base]
2.1.22 tostringe
2.1.23 typev
2.1.24 unpacklist[,i[,j]]
2.1.25 _VERSION
2.1.26 xpcallf,err
2.2 系统函数库
2.2.1 表函数
2.2.2 系统函数
2.3 表Tables概述
2.3.1 数组表
2.3.2 关联数组表
2.4 函数:进阶
2.4.1 对象表
2.4.2 .和:的区别
2.5 小结
第3章 文件操作
3.1 隐式函数
3.1.1 io.close[file]
3.1.2 io.flush
3.1.3 io.input[file]
3.1.4 io.lines[filename]
3.1.5 io.openfilename[,mode]
3.1.6 io.output[file]
3.1.7 io.read…
3.1.8 io.tmpfile
3.1.9 io.typeobj
3.1.10 io.write…
3.2 显式函数
3.2.1 file:close
3.2.2 file:flush
3.2.3 file:lines
3.2.4 file:read[format]
3.2.5 file:seek[whence][,offset]
3.2.6 file:setvbufmode[,size]
3.2.7 file:write…
3.3 在游戏中使用文件IO
3.4 保存变量
3.5 获取数据
3.5.1 代码分析
3.5.2 潜在问题
3.6 变量存储数据
3.6.1 代码分析
3.6.2 潜在问题
3.7 数据写入文件
3.8 存储表
3.9 动态变量
3.10 小结
第4章 Lua数学函数
4.1 Lua数学函数简介
4.1.1 math.absx
4.1.2 math.acosx
4.1.3 math.asinx
4.1.4 math.atanx
4.1.5 math.atan2y,x
4.1.6 math.ceilx
4.1.7 math.cosx
4.1.8 math.coshx
4.1.9 math.degx
4.1.10 math.expx
4.1.11 math.floorx
4.1.12 math.fmodx,y
4.1.13 math.frexpx
4.1.14 math.huge
4.1.15 math.ldexpm,e
4.1.16 math.logx
4.1.17 math.log10x
4.1.18 math.maxx,...
4.1.19 math.minx,...
4.1.20 math.modfx
4.1.21 math.pi
4.1.22 math.powx,y
4.1.23 math.radx
4.1.24 math.random[m[,n]]
4.1.25 math.randomseedx
4.1.26 math.sinx
4.1.27 math.sinhx
4.1.28 math.sqrtx
4.1.29 math.tanx
4.1.30 math.tanhx
4.2 在游戏中应用数学函数的实例
4.2.1 赋值
4.2.2 递增与递减
4.2.3 引入坐标点
4.2.4 条件分支
4.2.5 抛硬币
4.2.6 掷骰子
4.2.7 使用标记位Flag
4.2.8 多种标记位
4.2.9 利用数学函数实现循环
4.2.10 在游戏中引入网格
4.2.11 移动角色
4.3 逻辑运算函数
4.4 小结
第5章 字符串
5.1 什么是字符串
5.1.1 string.bytes[,i[,j]]
5.1.2 string.char...
5.1.3 string.dumpfuntion
5.1.4 string.finds,pattern[,init[,plain]]
5.1.5 string.formatformatString,...
5.1.6 string.gmatchs,pattern
5.1.7 string.gsubs,pattern,repl[,n]
5.1.8 string.lens
5.1.9 string.lowers
5.1.10 string.matchs,patterns[,init]
5.1.11 string.reps,n
5.1.12 string.reverses
5.1.13 string.subs,i[,j]
5.1.14 string.uppers
5.2 模式
5.2.1 字符类
5.2.2 模式项
5.2.3 模式
5.2.4 捕获
5.3 使用字符串函数
5.3.1 将字符串转化为大写
5.3.2 将字符串转化为小写
5.3.3 将字符串转化为首字母大写
5.3.4 填充字符串
5.3.5 CSV功能
5.3.6 用千位分隔符规范数字的格式
5.3.7 字母频率
5.3.8 判断回文字符串
5.3.9 分割字符串
5.4 关卡管理
5.5 小结
第6章 线程
6.1 协同线程
6.1.1 协同线程函数
6.1.2 创建协同线程
6.2 表
6.2.1 自定义元表
6.2.2 实际例子
6.3 Lua面向对象
6.4 什么是对象
6.5 小结
第7章 技巧提示
7.1 通用Lua函数
7.1.1 使用printf函数
7.1.2 计算表中元素的数量
7.1.3 使用IsEmpty
7.1.4 获取元素索引
7.1.5 判断一个表是否是数组
7.1.6 设置默认值
7.1.7 复制表
7.1.8 深度复制
7.1.9 复制数组部分
7.1.10 复制非数组部分
7.1.11 合并两个表
7.1.12 判断表是否包含特定值
7.1.13 找出Table之间的差异
7.1.14 表作为返回值
7.1.15 表内元素排序
7.1.16 判断表中特定项的频度
7.1.17 转换数字为罗马数字
7.1.18 创建链表
7.1.19 扩展标记变量
7.1.20 字符串补零
7.1.21 获取字符类型的月份
7.1.22 像数组一样访问字符串
7.1.23 测量一维或二维中两点间距
7.1.24 判断两点的夹角
7.1.25 限定数字范围
7.1.26 线性插值法
7.1.27 获取值的标识符
7.2 碰撞
7.2.1 使用isPointlnRect
7.2.2 使用pointlnCircle
7.2.3 判断一个矩形是否包含另一个矩形
7.2.4 判断一个圆形是否包含另一个圆形
7.2.5 识别重叠矩形
7.2.6 识别重叠圆形
7.2.7 判断一个圆形和一个矩形是否重叠
7.2.8 使用pointlnTriangle
7.2.9 使用pointlnPolygon
7.3 其他通用函数
7.3.1 布尔值比较
7.3.2 将CJava循环代码转换为Lua
7.3.3 应用物体摩擦力
7.3.4 模拟一个玩偶盒
7.3.5 正弦滚动条
7.3.6 在面板的单行或单列放置唯一图块
7.3.7 利用数组输出大规模模板文本
7.4 参数处理
7.4.1 固定参数
7.4.2 动态参数
7.4.3 动态名称参数
7.4.4 使用可变参数
7.4.5 解析传入参数列表
7.4.6 生成只读Table
7.4.7 实现堆栈
7.4.8 参数和表之间的转换
7.5 二维矢量
7.6 小结
第8章 Corona SDK
8.1 配置Corona SDK
8.2 Corona SDK工作原理
8.3 Corona SDK HelloWorld
8.3.1 图像版本
8.3.2 Hello World
8.3.3 设备显示Hello World
8.4 不仅仅是Hello World:在屏幕上创建一个矩形
8.4.1 群组
8.4.2 图像
8.4.3 事件驱动
8.4.4 触屏输入
8.4.5 物理特性
8.5 一切都是计时
8.5.1 帧
8.5.2 实现生命条
8.6 利用enterFrame实现动画
8.6.1 再说生命条
8.6.2 使用transition函数
8.6.3 移除屏幕中的对象
8.7 制作音效
8.7.1 发出声音
8.7.2 加工声音
8.8 视频处理
8.9 实现一个电梯
8.9.1 放大视图
8.9.2 其他事件
8.9.3 使用地图
8.10 浏览器
8.11 对象回收
8.12 企业版本
8.13 小结
第9章 Gideros Studio
9.1 许可
9.2 安装Gideros Studio
9.2.1 包含内容
9.2.2 设置许可
9.2.3第一步
9.2.4 运行代码
9.2.5 配置项目
9.3 架构
9.4 Gideros引擎
9.4.1 Hello小鸟
9.4.2 对齐图像
9.4.3 群组
9.4.4 显示文字
9.4.5 绘制形状
9.4.6 应用程序对象
9.4.7 添加音效
9.4.8 事件
9.4.9 动画
9.4.10 局域网和网络
9.4.11 GPS和指南针
9.4.12 加速计
9.4.13 陀螺仪
9.4.14 物理效果
9.5 插件
9.6 小结
第10章 Moai
10.1 什么是Moai
10.2 获取Moai
10.3 Moai SDK
10.4 Hello Moai
10.5 显示文字
10.5.1 TrueType字体
10.5.2 位图字体
10.5.3 文本属性
10.6 绘制矢量图元
10.6.1 绘制直线
10.6.2 绘制矩形
10.6.3 绘制填充矩形
10.6.4 绘制圆
10.6.5 绘制填充圆
10.6.6 绘制椭圆
10.6.7 绘制填充椭圆
10.6.8 绘制多边形
10.6.9 绘制点
10.6.10 绘制属性
10.7 绘制图像
10.7.1 绘制自定义图像
10.7.2 载入图像
10.7.3 Copying Images
10.7.4 保存图像
10.7.5 修改图像尺寸
10.7.6 图像的像素提取
10.8 动画
10.9 栅格Deck
10.10 线程
10.11 组
10.12 处理输入
10.12.1 键盘事件
10.12.2 鼠标事件
10.12.3 触控事件
10.13 声音
10.14 显示对话框
10.15 播放视频
10.16 设备旋转
10.17 通知
10.18 网络
10.19 使用JSON
10.20 使用Base64
10.21 压缩数据
10.22 物理特性
10.22.1 Box2D物理功能
10.22.2 Chipmunk物理功能
10.23 Moai云
10.23.1 创建Web服务
10.23.2 使用Web服务
10.24 小结
第11章 L?VE
11.1 架构
11.2 安装L?VE
11.3 运行L?VE
11.4 回调函数
11.4.1 love.load
11.4.2 love.updatedt
11.4.3 love.draw
11.4.4 love.mousepressedx,y,button
11.4.5 love.mousereleasedx,y,button
11.4.6 love.keypressedkey,unicode
11.4.7 love.keyreleasedkey
11.4.8 love.focus
11.4.9 love.quit
11.5 L?VE命名空间
11.5.1 love.audio
11.5.2 love.event
11.5.3 love.filesystem
11.5.4 love.font
11.5.5 love.graphics
11.5.6 love.image
11.5.7 love.joystick
11.5.8 love.mouse
11.5.9 love.physics
11.5.10 love.sound
11.5.11 love.thread
11.5.12 love.timer
11.6 图形模块
11.6.1 图像
11.6.2 移动
11.6.3 活动窗口
11.6.4 使用键盘控制移动
11.6.5 旋转对象
11.6.6 绘制图元
11.7 应用程序设置conf.lua
11.8 创建特效
11.9 物理
11.10 显示文本
11.11 着色器
11.12 制造声音
11.13 示例游戏代码
11.14 小结
第12章 Codea
12.1 获取Codea
12.2 Codea的架构
12.3 Hello World
12.4 参数
12.5 使用Codea进行绘制
12.5.1 设备旋转
12.5.2 系统键盘
12.5.3 绘制模式
12.5.4 背景颜色
12.5.5 画笔颜色
12.5.6 填充色
12.5.7 线宽
12.5.8 绘制直线
12.5.9 抗锯齿
12.5.10 绘制圆和椭圆
12.5.11 绘制矩形
12.5.12 绘制文本
12.6 显示图片
12.6.1 屏幕外绘制
12.6.2 在图片中载入精灵
12.6.3 保存图片
12.6.4 保存数据
12.6.5 “无色”绘制
12.6.6 变换函数
12.7 录制视频
12.8 触控
12.8.1 使用触控进行绘制
12.8.2 多点触控
12.9 制造声音
12.10 iOS硬件
12.11 下载数据
12.12 显示网页
12.13 物理特性
12.14 矢量计算
12.14.1 angleBetween
12.14.2 cross
12.14.3 dist
12.14.4 distSqr
12.14.5 dot
12.14.6 len
12.14.7 lenSqr
12.14.8 normalize
12.14.9 rotate
12.14.10 rotate90
12.15 小结
第13章 库
13.1 Particle Candy
示例代码
13.2 Text Candy
示例代码
13.3 Widget Candy
示例代码
13.4 Corona AutoLAN
13.5 Corona Profiler
示例代码
13.6 Director
示例代码
13.7 Lime
示例代码
13.8 RapaNui
示例代码
13.9 Gideros IllustratorSVG Library
示例代码
13.10 TNT Particles Library
示例代码
13.11 Busted
示例代码
13.12 Moses
示例代码
13.13 Allen
示例代码
13.14 BhWax
示例代码
13.15 小结
第14章第三方应用程序
14.1 IDE
14.1.1 Glider
14.1.2 CoronaComplete
14.1.3 Lua Studio
14.1.4 ZeroBrane Studio
14.2 文本编辑器
14.2.1 Notepad++
14.2.2 TextMate
14.2.3 TextWrangler
14.2.4 BBEdit
14.2.5 Sublime Text 2
14.2.6 Textastic代码编辑器
14.3 片段收集器
14.3.1 CodeBox
14.3.2 Code Collector Pro
14.4 版本控制
14.5 位图编辑器
14.5.1 Pixen
14.5.2 GraphicsGale
14.5.3 Pixelmator
14.5.4 Axialis IconWorkshop
14.5.5 Inkscape
14.5.6 Paint.NET
14.5.7 iConify
14.6 精灵动画和层级创建工具
14.6.1 SpriteHelper
14.6.2 LevelHelper
14.6.3 Tiled
14.6.4 TexturePacker
14.6.5 PhysicsEditor
14.6.6 Particle Designer
14.6.7 Glyph Designer
14.6.8 Spriteloq
14.6.9 Zo?
14.6.10 TNT Animator Studio
14.7 音频工具
14.7.1 Audacity
14.7.2 Bfxr
14.7.3 NodeBeat
14.8 小结
第15章 示例代码
15.1 图形
15.2 搭建环境
15.3 让直升机飞起来
15.4 使用加速度仪
15.5 移动直升机
15.6 发出声音
15.7 开枪
15.8 让子弹飞
15.9 敌军降临
15.10 移动场景物品
15.11 挂了
15.12 上点颜色
15.13 显示信息
15.14 Game Over,再来一遍
15.15 碰撞
15.15.1 射击飞机和气球
15.15.2 营救与加油
15.16 放到一起
15.17 小结
|
|