HTML5游戏开发进阶指南

HTML5游戏开发进阶指南
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [印] ,
2013-09
版次: 1
ISBN: 9787121212260
定价: 79.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 412页
字数: 562千字
正文语种: 简体中文
63人买过
  •   《HTML5游戏开发进阶指南》介绍了HTML5游戏开发的一般过程和技巧。全书共分12章,第1章介绍了本书相关的HTML5的诸多新特性,包括在canvas上绘图、播放声音等,另外还引入了子画面页的概念;第2~4章利用Box2D物理引擎开发了一款非常类似于《愤怒的小鸟》的游戏,全面介绍了物理引擎的概念,以及在游戏中使用物理引擎的方法,这一部分还引入了视差滚动技巧,以实现某种伪3D效果;第5~10章开发了一款简化版的《红色警戒》游戏,这一部分涉及了相当多的内容,包括地图的制作,建筑与单位的设定、绘制,玩家与单位的互动,触发器与剧情的编写,路径规划算法等;第11、12章利用Node.js和WebSocket开发了《红色警戒》游戏的多人对战模式,这一部分的主要问题是保持游戏在多个玩家的浏览器中的状态一致。 Aditya RaviShankar是在1993年第一次接触计算机之后开始学习编程的。当时还没有互联网和在线教程,他在当地图书馆找到一本编程书籍,并通过艰苦地重写书中的代码,编写了他的第一个GW-BASIC游戏。

    2001年,他从印度理工学院毕业之后,做了近10年的软件顾问,为投资银行和大型企业开发交易与分析系统。最后,他离开了这个行业,这样他可以专注于从事自己所热爱的游戏开发。

    从此,作为一个自信的极客,他使用各种新的语言和技术来进行自己的项目和实验,包括HTML5。在这期间,他独立在HTML5平台上重建了著名的命令与征服RTS游戏,他也因此而著名。

    除了编程,Aditya还喜欢桌球、萨尔萨舞,以及学习发挥潜意识。他在其个人站点(www.adityaravishankar.com)中有一些关于游戏编程、个人发展和桌球的文章。

    当他不忙于写作,或者不用专注于自己的项目时,他也会做一些咨询工作,以帮助企业来使用新的软件产品。

    译者简介

    谢光磊,中科院某所硕士研究生在读。热爱生活,热爱Web前端开发,热爱WebGL技术。理想是成为一流的游戏设计师。个人站点:www.xieguanglei.com。

    技术审核者简介

    ShaneHudson是一位自由的Web站点开发者,专注于最前沿的Web技术和Web标准。他曾经参与过大量交互式Web站点的工作并辅助项目的开发,具有丰富的使用JavaScript的经验。他对人工智能和计算机视觉具有浓厚的兴趣,他的E-mail地址是shane@shanehudson.net。

    Shane说:“Shankar撰写的这本书正是业界所需要的:关于如何有效并熟练地编写JavaScript(和Node.js)。这本书教你如何编写游戏,但它并不仅仅是一本关于游戏开发的书,还是一本教你如何编写高质量JavaScript代码的书。”

    Josh Robinson是一位专注于前沿技术的编程专家和自由开发者。他对编程的热爱最初来自一台二手的Commodore64计算机屏幕上的蓝色荧光,后来他选择现代Web开发作为自己的职业。2006年,他供职于一家网络电话供应商之时,发现了Ruby和Rubyon Rails的优雅之处,并开发了若干个gem,其中包括流行的countriesgem。你可以通过JoshRobinson.com或者Twitter: @JoshRobinson联系到他。JoshRobinson说:“有了这本书,你就能像一个Boss一样写代码了。”

    Syd Lawrence经营并管理着We Make AwesomeSh,他是Twilio的开发者和传播者。他获得过很多赞誉。Geek.com曾经将他形容为现代的超级英雄,而The NextWeb曾经说他是社交网络的领袖。 第1章HTML5与JavaScript概要
    1.1canvas元素
    1.1.1绘制矩形
    1.1.2绘制复杂形状或路径
    1.1.3绘制文本
    1.1.4自定义画笔样式(颜色和纹理)
    1.1.5绘制图像
    1.1.6平移和旋转
    1.2audio元素
    1.3image元素
    1.3.1图像加载
    1.3.2子画面页(精灵图)
    1.4动画:计时器和游戏循环
    1.4.1requestAnimationFrame
    1.5小结

    第2章创建基本的游戏世界
    2.1基本HTML布局
    2.2创建启动画面和主菜单
    2.3关卡选择
    2.4加载图像
    2.5加载关卡
    2.6动画
    2.7处理鼠标输入
    2.8设置游戏阶段
    2.9小结

    第3章物理引擎基础
    3.1Box2D基础
    3.1.1引入Box2D
    3.1.2定义World变量
    3.1.3添加第一个物体:地面
    3.1.4绘制世界:调试绘图模式
    3.1.5动画
    3.2更多的Box2D元素
    3.2.1创建矩形物体
    3.2.2创建圆形物体
    3.2.3创建多边形物体
    3.2.4创建多种形状的复杂物体
    3.2.5连接物体的接合点
    3.3追踪碰撞与破坏
    3.3.1接触监听器
    3.4绘制角色
    3.5小结

    第4章物理引擎集成
    4.1定义物体
    4.2添加Box2D
    4.3创建物体
    4.4向关卡加入物体
    4.5设置Box2D调试绘图
    4.6绘制物体
    4.7Box2D动画
    4.8加载英雄
    4.9发射英雄
    4.10结束关卡
    4.11碰撞损坏
    4.12绘制弹弓橡胶带
    4.13切换关卡
    4.14添加声音
    4.14.1添加断裂和反弹的音效
    4.14.2添加背景音乐
    4.15小结

    第5章创建即时战略游戏世界
    5.1基本HTML布局
    5.2创建启动画面和主菜单
    5.3地图与关卡
    5.4加载任务简介画面
    5.5制作游戏界面
    5.6实现地图平移
    5.7小结

    第6章加入单位
    6.1定义单位
    6.2第一个物体:主基地
    6.3为关卡添加单位
    6.4绘制单位
    6.5添加星港
    6.6添加炼油厂
    6.7添加炮塔
    6.8添加车辆
    6.9添加飞行器
    6.10添加地形
    6.11选中游戏单位
    6.12强调选中的单位
    6.13小结

    第7章单位智能移动
    7.1命令单位
    7.2发送和接收命令
    7.3执行指令
    7.4实现飞行器移动
    7.5路径规划
    7.6定义寻径格网
    7.7实现车辆移动
    7.8碰撞检测和导航
    7.9将采油车展开为炼油厂
    7.10流畅移动
    7.11小结

    第8章添加更多的游戏元素
    8.1实现基本的经济系统
    8.1.1设置启动资金
    8.1.2实现侧边栏
    8.1.3获取资金
    8.2购买建筑和单位
    8.2.1添加侧边栏按钮
    8.2.2启用与禁用侧边栏按钮
    8.2.3在星港建造车辆和飞行器
    8.2.4从基地建造建筑
    8.3结束关卡
    8.3.1实现消息对话框
    8.3.2实现触发器
    8.4小结

    第9章添加武器和战斗
    9.1实现战斗系统
    9.1.1添加炮弹
    9.1.2炮塔的战斗指令
    9.1.3飞行器的战斗指令
    9.1.4车辆的战斗指令
    9.2创建智能的敌人
    9.3添加战争迷雾
    9.3.1定义迷雾对象
    9.3.2绘制迷雾
    9.3.3禁止在迷雾上建造建筑
    9.4小结

    第10章完成单人战役
    10.1添加音效
    10.1.1创建音效
    10.1.2命令确认音效
    10.1.3消息提示音
    10.1.4战斗音效
    10.2创建单人战役
    10.2.1救援
    10.2.2袭击
    10.2.3抵抗围攻
    10.3小结

    第11章WebSocket与多人对战模式
    11.1使用Node.js操作WebSocketAPI
    11.1.1浏览器端的WebSocket
    11.1.2使用Node.js创建HTTP服务器
    11.1.3创建WebSocket服务器
    11.2创建多人对战游戏大厅
    11.2.1定义多人对战大厅界面
    11.2.2游戏房间列表
    11.2.3进入和离开房间
    11.3启动多人对战游戏
    11.3.1定义多人对战关卡
    11.3.2加载多人战役关卡
    11.4小结

    第12章多人对战游戏操作
    12.1同步网络模型
    12.1.1测量网络传输时间
    12.1.2发送命令
    12.2结束多人对战
    12.2.1玩家被击败时结束游戏
    12.2.2玩家断开连接时结束游戏
    12.2.3玩家丢失连接时结束游戏
    12.3实现玩家聊天
    12.4小结
    索引
  • 内容简介:
      《HTML5游戏开发进阶指南》介绍了HTML5游戏开发的一般过程和技巧。全书共分12章,第1章介绍了本书相关的HTML5的诸多新特性,包括在canvas上绘图、播放声音等,另外还引入了子画面页的概念;第2~4章利用Box2D物理引擎开发了一款非常类似于《愤怒的小鸟》的游戏,全面介绍了物理引擎的概念,以及在游戏中使用物理引擎的方法,这一部分还引入了视差滚动技巧,以实现某种伪3D效果;第5~10章开发了一款简化版的《红色警戒》游戏,这一部分涉及了相当多的内容,包括地图的制作,建筑与单位的设定、绘制,玩家与单位的互动,触发器与剧情的编写,路径规划算法等;第11、12章利用Node.js和WebSocket开发了《红色警戒》游戏的多人对战模式,这一部分的主要问题是保持游戏在多个玩家的浏览器中的状态一致。
  • 作者简介:
    Aditya RaviShankar是在1993年第一次接触计算机之后开始学习编程的。当时还没有互联网和在线教程,他在当地图书馆找到一本编程书籍,并通过艰苦地重写书中的代码,编写了他的第一个GW-BASIC游戏。

    2001年,他从印度理工学院毕业之后,做了近10年的软件顾问,为投资银行和大型企业开发交易与分析系统。最后,他离开了这个行业,这样他可以专注于从事自己所热爱的游戏开发。

    从此,作为一个自信的极客,他使用各种新的语言和技术来进行自己的项目和实验,包括HTML5。在这期间,他独立在HTML5平台上重建了著名的命令与征服RTS游戏,他也因此而著名。

    除了编程,Aditya还喜欢桌球、萨尔萨舞,以及学习发挥潜意识。他在其个人站点(www.adityaravishankar.com)中有一些关于游戏编程、个人发展和桌球的文章。

    当他不忙于写作,或者不用专注于自己的项目时,他也会做一些咨询工作,以帮助企业来使用新的软件产品。

    译者简介

    谢光磊,中科院某所硕士研究生在读。热爱生活,热爱Web前端开发,热爱WebGL技术。理想是成为一流的游戏设计师。个人站点:www.xieguanglei.com。

    技术审核者简介

    ShaneHudson是一位自由的Web站点开发者,专注于最前沿的Web技术和Web标准。他曾经参与过大量交互式Web站点的工作并辅助项目的开发,具有丰富的使用JavaScript的经验。他对人工智能和计算机视觉具有浓厚的兴趣,他的E-mail地址是shane@shanehudson.net。

    Shane说:“Shankar撰写的这本书正是业界所需要的:关于如何有效并熟练地编写JavaScript(和Node.js)。这本书教你如何编写游戏,但它并不仅仅是一本关于游戏开发的书,还是一本教你如何编写高质量JavaScript代码的书。”

    Josh Robinson是一位专注于前沿技术的编程专家和自由开发者。他对编程的热爱最初来自一台二手的Commodore64计算机屏幕上的蓝色荧光,后来他选择现代Web开发作为自己的职业。2006年,他供职于一家网络电话供应商之时,发现了Ruby和Rubyon Rails的优雅之处,并开发了若干个gem,其中包括流行的countriesgem。你可以通过JoshRobinson.com或者Twitter: @JoshRobinson联系到他。JoshRobinson说:“有了这本书,你就能像一个Boss一样写代码了。”

    Syd Lawrence经营并管理着We Make AwesomeSh,他是Twilio的开发者和传播者。他获得过很多赞誉。Geek.com曾经将他形容为现代的超级英雄,而The NextWeb曾经说他是社交网络的领袖。
  • 目录:
    第1章HTML5与JavaScript概要
    1.1canvas元素
    1.1.1绘制矩形
    1.1.2绘制复杂形状或路径
    1.1.3绘制文本
    1.1.4自定义画笔样式(颜色和纹理)
    1.1.5绘制图像
    1.1.6平移和旋转
    1.2audio元素
    1.3image元素
    1.3.1图像加载
    1.3.2子画面页(精灵图)
    1.4动画:计时器和游戏循环
    1.4.1requestAnimationFrame
    1.5小结

    第2章创建基本的游戏世界
    2.1基本HTML布局
    2.2创建启动画面和主菜单
    2.3关卡选择
    2.4加载图像
    2.5加载关卡
    2.6动画
    2.7处理鼠标输入
    2.8设置游戏阶段
    2.9小结

    第3章物理引擎基础
    3.1Box2D基础
    3.1.1引入Box2D
    3.1.2定义World变量
    3.1.3添加第一个物体:地面
    3.1.4绘制世界:调试绘图模式
    3.1.5动画
    3.2更多的Box2D元素
    3.2.1创建矩形物体
    3.2.2创建圆形物体
    3.2.3创建多边形物体
    3.2.4创建多种形状的复杂物体
    3.2.5连接物体的接合点
    3.3追踪碰撞与破坏
    3.3.1接触监听器
    3.4绘制角色
    3.5小结

    第4章物理引擎集成
    4.1定义物体
    4.2添加Box2D
    4.3创建物体
    4.4向关卡加入物体
    4.5设置Box2D调试绘图
    4.6绘制物体
    4.7Box2D动画
    4.8加载英雄
    4.9发射英雄
    4.10结束关卡
    4.11碰撞损坏
    4.12绘制弹弓橡胶带
    4.13切换关卡
    4.14添加声音
    4.14.1添加断裂和反弹的音效
    4.14.2添加背景音乐
    4.15小结

    第5章创建即时战略游戏世界
    5.1基本HTML布局
    5.2创建启动画面和主菜单
    5.3地图与关卡
    5.4加载任务简介画面
    5.5制作游戏界面
    5.6实现地图平移
    5.7小结

    第6章加入单位
    6.1定义单位
    6.2第一个物体:主基地
    6.3为关卡添加单位
    6.4绘制单位
    6.5添加星港
    6.6添加炼油厂
    6.7添加炮塔
    6.8添加车辆
    6.9添加飞行器
    6.10添加地形
    6.11选中游戏单位
    6.12强调选中的单位
    6.13小结

    第7章单位智能移动
    7.1命令单位
    7.2发送和接收命令
    7.3执行指令
    7.4实现飞行器移动
    7.5路径规划
    7.6定义寻径格网
    7.7实现车辆移动
    7.8碰撞检测和导航
    7.9将采油车展开为炼油厂
    7.10流畅移动
    7.11小结

    第8章添加更多的游戏元素
    8.1实现基本的经济系统
    8.1.1设置启动资金
    8.1.2实现侧边栏
    8.1.3获取资金
    8.2购买建筑和单位
    8.2.1添加侧边栏按钮
    8.2.2启用与禁用侧边栏按钮
    8.2.3在星港建造车辆和飞行器
    8.2.4从基地建造建筑
    8.3结束关卡
    8.3.1实现消息对话框
    8.3.2实现触发器
    8.4小结

    第9章添加武器和战斗
    9.1实现战斗系统
    9.1.1添加炮弹
    9.1.2炮塔的战斗指令
    9.1.3飞行器的战斗指令
    9.1.4车辆的战斗指令
    9.2创建智能的敌人
    9.3添加战争迷雾
    9.3.1定义迷雾对象
    9.3.2绘制迷雾
    9.3.3禁止在迷雾上建造建筑
    9.4小结

    第10章完成单人战役
    10.1添加音效
    10.1.1创建音效
    10.1.2命令确认音效
    10.1.3消息提示音
    10.1.4战斗音效
    10.2创建单人战役
    10.2.1救援
    10.2.2袭击
    10.2.3抵抗围攻
    10.3小结

    第11章WebSocket与多人对战模式
    11.1使用Node.js操作WebSocketAPI
    11.1.1浏览器端的WebSocket
    11.1.2使用Node.js创建HTTP服务器
    11.1.3创建WebSocket服务器
    11.2创建多人对战游戏大厅
    11.2.1定义多人对战大厅界面
    11.2.2游戏房间列表
    11.2.3进入和离开房间
    11.3启动多人对战游戏
    11.3.1定义多人对战关卡
    11.3.2加载多人战役关卡
    11.4小结

    第12章多人对战游戏操作
    12.1同步网络模型
    12.1.1测量网络传输时间
    12.1.2发送命令
    12.2结束多人对战
    12.2.1玩家被击败时结束游戏
    12.2.2玩家断开连接时结束游戏
    12.2.3玩家丢失连接时结束游戏
    12.3实现玩家聊天
    12.4小结
    索引
查看详情
您可能感兴趣 / 更多
HTML5游戏开发进阶指南
电磁场理论与应用
[印]艾哈迈德·沙希德·汗(Ahmad Shahid Khan);[印]绍拉夫·库马尔·慕克吉(Saurabh Kumar Mukerji)
HTML5游戏开发进阶指南
金融生态:金融如何助力可持续发展
[印]石天傑 著;郭栋 译
HTML5游戏开发进阶指南
诺奖作家给孩子的阅读课·品格修养(3-9年级,莫言余华的文学启蒙,垫高阅读起点,提升作文能力)
[印]泰戈尔等
HTML5游戏开发进阶指南
泰戈尔诗集:飞鸟集 新月集(中英双语 名家译本 精美手绘版)
[印]泰戈尔 著;郑振铎 译;姜兆艳 绘
HTML5游戏开发进阶指南
PyTorch计算机视觉实战:目标检测、图像处理与深度学习
[印]V·基肖尔·阿耶德瓦拉 (印)耶什万斯·雷迪
HTML5游戏开发进阶指南
超声引导下区域麻醉实用指南
[印]阿鲁南苏·查克拉博蒂
HTML5游戏开发进阶指南
Python机器学习实战:基于Scikit-learn与PyTorch的神经网络解决方案
[印]阿什温·帕扬卡 (Ashwin Pajankar) 阿迪亚·乔希 (Aditya Joshi)著 欧拉 译
HTML5游戏开发进阶指南
全栈测试
[印]加亚特里 默罕(Gayathri Mohan)
HTML5游戏开发进阶指南
MATLAB 图形学基础
[印]兰詹·帕雷克(Ranjan Parekh) 著;章毓晋 译
HTML5游戏开发进阶指南
古老智慧的现代实践:辨喜论吠檀多(瑜伽奥义丛书)
[印]斯瓦米·维韦卡南达(辨喜)
HTML5游戏开发进阶指南
从冥想到三摩地:辨喜论王瑜伽和《瑜伽经》(瑜伽奥义丛书)
[印]斯瓦米·维韦卡南达(辨喜)
HTML5游戏开发进阶指南
被设想的未来
[印]普立梵(Prem Poddar) 【英】安德鲁·瓦特(Andrew Watt)