下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922
读书 > 移动开发 >IOS > Lua实战:iOS游戏开发

Lua实战:iOS游戏开发

综合评级:★★★★★

定价:69.00

作者:(澳)瓦玛 著,麦秆创智 译

出版社:人民邮电出版社

出版日期:2014年1月

页数:358

字数:516000

ISBN:9787115331755

书籍介绍

  《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的开发人员。

相关课程
目录
第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 assert(v[,message]) 

 2.1.2 collectgarbage([opt[,arg]]) 

 2.1.3 dofile([filename]) 

 2.1.4 error(message[,level]) 

 2.1.5 _G 

 2.1.6 getfenv([f]) 

 2.1.7 getmetatable(object) 

 2.1.8 ipairs(t) 

 2.1.9 load(func[,chunkname]) 

 2.1.10 loadstring(string[,chunkname]) 

 2.1.11 next(table[,index]) 

 2.1.12 pairs(t) 

 2.1.13 pcall(f,arg1,…) 

 2.1.14 print(…) 

 2.1.15 rawequal(v1,v2) 

 2.1.16 rawget(table,index) 

 2.1.17 rawest(table,index,value) 

 2.1.18 select(index,…) 

 2.1.19 setfenv(f,table) 

 2.1.20 setmetatable(table,metatable) 

 2.1.21 tonumber(e[,base]) 

 2.1.22 tostring(e) 

 2.1.23 type(v) 

 2.1.24 unpack(list[,i[,j]]) 

 2.1.25 _VERSION 

 2.1.26 xpcall(f,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.open(filename[,mode]) 

 3.1.6 io.output([file]) 

 3.1.7 io.read(…) 

 3.1.8 io.tmpfile() 

 3.1.9 io.type(obj) 

 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:setvbuf(mode[,size]) 

 3.2.7 file:write(…) 

 3.3 在游戏中使用文件I/O 

 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.abs(x) 

 4.1.2 math.acos(x) 

 4.1.3 math.asin(x) 

 4.1.4 math.atan(x) 

 4.1.5 math.atan2(y,x) 

 4.1.6 math.ceil(x) 

 4.1.7 math.cos(x) 

 4.1.8 math.cosh(x) 

 4.1.9 math.deg(x) 

 4.1.10 math.exp(x) 

 4.1.11 math.floor(x) 

 4.1.12 math.fmod(x,y) 

 4.1.13 math.frexp(x) 

 4.1.14 math.huge 

 4.1.15 math.ldexp(m,e) 

 4.1.16 math.log(x) 

 4.1.17 math.log10(x) 

 4.1.18 math.max(x,...) 

 4.1.19 math.min(x,...) 

 4.1.20 math.modf(x) 

 4.1.21 math.pi 

 4.1.22 math.pow(x,y) 

 4.1.23 math.rad(x) 

 4.1.24 math.random([m[,n]]) 

 4.1.25 math.randomseed(x) 

 4.1.26 math.sin(x) 

 4.1.27 math.sinh(x) 

 4.1.28 math.sqrt(x) 

 4.1.29 math.tan(x) 

 4.1.30 math.tanh(x) 

 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.byte(s[,i[,j]]) 

 5.1.2 string.char(...) 

 5.1.3 string.dump(funtion) 

 5.1.4 string.find(s,pattern[,init[,plain]]) 

 5.1.5 string.format(formatString,...) 

 5.1.6 string.gmatch(s,pattern) 

 5.1.7 string.gsub(s,pattern,repl[,n]) 

 5.1.8 string.len(s) 

 5.1.9 string.lower(s) 

 5.1.10 string.match(s,patterns[,init]) 

 5.1.11 string.rep(s,n) 

 5.1.12 string.reverse(s) 

 5.1.13 string.sub(s,i[,j]) 

 5.1.14 string.upper(s) 

 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 将C/java循环代码转换为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.update(dt) 

 11.4.3 love.draw() 

 11.4.4 love.mousepressed(x,y,button) 

 11.4.5 love.mousereleased(x,y,button) 

 11.4.6 love.keypressed(key,unicode) 

 11.4.7 love.keyreleased(key) 

 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 Illustrator(SVG 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 小结

热门图书
推荐新闻
技术文库
论坛推荐