| 作者 |
| [美] 克里斯·斯特罗姆(Chris Strom) |
| 丛书名 |
| 出版社 |
| 机械工业出版社 |
| ISBN |
| 9787111637691 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 本书主要面向初中学生,理解能力较好且数学基础较强的小学生也可以尝试阅读。本书以互联网应用开发中的主力编程语言JavaScript为编程基础,基于流行的网页3D图形库组合:Three.js、Physijs和Tween.js来开发3D图形、动画和简单游戏。同时本书原作者自创的程序编辑器又帮助初次接触编程的读者隐藏了编程中许多枯燥的繁文冗节,使读者可以快速进入状态,并将注意力集中在程序的主要逻辑上。 |
| 目录 |
| 赞誉 译者序 前言 致谢 第1章 项目:创建简单形体 / 1 1.1 使用3DE代码编辑器来编程 / 2 1.2 在JavaScript中创建形体 / 5 1.3 创建Sphere / 5 1.3.1 大小:SphereGeometry(100) / 6 1.3.2 光滑度:SphereGeometry(100, 20, 15) / 6 1.4 用Cube形体来创建立体方块 / 8 1.5 使用Cylinder创建多种形体 / 11 1.5.1 大小:CylinderGeometry(20, 20, 100) / 11 1.5.2 金字塔:CylinderGeometry(1, 100, 100, 4) / 13 1.6 用Plane创建平面 / 14 1.7 用Torus创建甜甜圈 / 15 1.7.1 大小:TorusGeometry(100, 25) / 16 1.7.2 光滑度:TorusGeometry(100, 25, 8, 25) / 16 1.7.3 吃掉甜甜圈:TorusGeometry(100, 25, 8, 25, 3.14) / 17 1.8 让形体们动起来 / 17 1.9 完整代码 / 18 1.10 下一步我们做什么 / 19 第2章 调试:出错时如何修复代码 / 20 2.1 让我们开始吧 / 21 2.2 利用3DE来调试:红色的叉 / 22 2.3 被3DE怀疑的代码:黄色的三角 / 23 2.4 打开和关闭JavaScript控制台 / 24 2.5 利用JavaScript控制台来调试 / 24 2.6 3D程序中的常见错误 / 27 2.6.1 可能会遇到的错误1:Not a Constructor / 28 2.6.2 可能会遇到的错误2:Three Is Not Defined / 28 2.6.3 可能会遇到的错误3:Not a Function / 29 2.7 当3DE代码编辑器卡住时该如何恢复 / 30 2.8 下一步我们做什么 / 31 第3章 项目:创建游戏角色 / 32 3.1 让我们开始吧 / 33 3.2 形体的光滑度 / 33 3.3 把零件拼成整体 / 35 3.4 把整体拆成零件 / 36 3.5 添加能走路的脚 / 38 3.6 挑战一下:设计自己的游戏角色 / 40 3.7 让角色翻跟头 / 40 3.8 完整代码 / 43 3.9 下一步我们做什么 / 43 第4章 项目:移动游戏角色 / 44 4.1 让我们开始吧 / 45 4.2 利用键盘事件创建交互系统 / 46 4.3 根据键盘事件控制游戏角色移动 / 48 4.4 挑战一下:开始和停止动画 / 49 4.5 添加树木的函数 / 51 4.6 让摄像机跟随游戏角色 / 53 4.7 完整代码 / 57 4.8 下一步我们做什么 / 57 第5章 函数:一遍又一遍地执行 / 58 5.1 让我们开始吧 / 59 5.2 基本函数 / 60 5.3 返回数值的函数 / 62 5.4 使用函数 / 65 5.5 搞坏函数 / 67 5.6 进阶代码1:随机颜色 / 69 5.7 进阶代码2:飞行控制 / 71 5.8 完整代码 / 73 5.9 下一步我们做什么 / 73 第6章 项目:摆臂和迈步 / 74 6.1 让我们开始吧 / 75 6.2 移动手臂 / 75 6.3 让双手和双脚一起摆动 / 79 6.4 边走边动作 / 80 6.5 完整代码 / 84 6.6 下一步我们做什么 / 84 第7章 深入理解JavaScript基础知识 / 85 7.1 让我们开始吧 / 86 7.2 在JavaScript中描述事物 / 87 7.2.1 var关键字 / 88 7.2.2 JavaScript变量的值 / 89 7.2.3 代码和注释 / 89 7.3 JavaScript中的数字、文字以及其他东西 / 90 7.3.1 数字 / 90 7.3.2 几何 / 93 7.3.3 字符串 / 94 7.3.4 布尔值 / 96 7.3.5 无 / 98 7.3.6 数据列表 / 98 7.3.7 映射表 / 100 7.4 控制结构 / 101 7.4.1 当某件事为真时才执行的代码 / 101 7.4.2 循环 / 103 7.5 下一步我们做什么 / 105 第8章 项目:让游戏角色转身 / 106 8.1 让我们开始吧 / 107 8.2 面向特定的方向 / 107 8.3 拆开看看 / 109 8.3.1 为什么是rotation.y / 109 8.3.2 别忘记avatar.rotation / 110 8.3.3 停止走动时该面对哪个方向 / 110 8.4 用动画来转身 / 111 8.5 完整代码 / 112 8.6 下一步我们做什么 / 113 第9章 那些自动生成的代码 / 114 9.1 让我们开始吧 / 115 9.2 初识HTML / 115 9.3 设置3D场景 / 117 9.4 使用摄像机拍摄场景 / 118 9.5 使用渲染器绘制场景 / 119 9.6 探索不同类型的摄像机 / 120 9.7 下一步我们做什么 / 122 第10章 项目:碰撞 / 123 10.1 让我们开始吧 / 124 10.2 射线和交点 / 125 10.3 完整代码 / 129 10.4 下一步我们做什么 / 129 第11章 水果狩猎 / 130 11.1 让我们开始吧 / 131 11.2 记分牌 / 132 11.3 让树有点摆动 / 133 11.4 跳跃得分 / 135 11.5 让我们的游戏更好 / 138 11.5.1 添加动画和声音 / 138 11.5.2 我们还可以添加什么 / 140 11.6 完整代码 / 141 11.7 下一步我们做什么 / 141 第12章 使用灯光和材质 / 142 12.1 让我们开始吧 / 143 12.2 发光 / 145 12.3 环境光 / 146 12.4 点光源 / 146 12.5 阴影 / 148 12.6 聚光灯和阳光 / 150 12.7 纹理 / 152 12.8 进一步探索 / 153 12.8.1 获得更好的视野 / 153 12.8.2 最后的调整 / 154 12.9 完整代码 / 155 12.10 下一步我们做什么 / 155 第13章 项目:月相 / 156 13.1 让我们开始吧 / 157 13.2 太阳在中心 / 158 13.3 游戏与模拟逻辑 / 159 13.4 本地坐标 / 162 13.5 多摄像机动作 / 165 13.6 进阶代码1:星星 / 167 13.7 进阶代码2:飞行控制 / 168 13.8 了解月相 / 169 13.9 不完美但伟大的模拟 / 172 13.10 完整代码 / 173 13.11 下一步我们做什么 / 173 第14章 项目:紫色水果怪物游戏 / 174 14.1 让我们开始吧 / 175 14.1.1 准备物理程序库 / 175 14.1.2 准备2D场景 / 177 14.2 构思游戏 / 177 14.3 添加游戏场地 / 179 14.4 添加简单角色 / 180 14.4.1 重置位置 / 181 14.4.2 主动物理模拟 / 183 14.4.3 运动控制 / 183 14.5 添加评分 / 184 14.6 游戏玩法 / 185 14.6.1 发射水果 / 185 14.6.2 吃水果和显示分数 / 187 14.6.3 游戏结束 / 188 14.7 改进 / 191 14.8 完整代码 / 191 14.9 下一步我们做什么 / 191 第15章 倾斜板子游戏 / 192 15.1 让我们开始吧 / 193 15.1.1 重力和其他设置 / 193 15.1.2 灯光、相机、阴影 / 194 15.2 构思游戏 / 195 15.2.1 添加灯光 / 195 15.2.2 添加游戏球 / 196 15.2.3 添加游戏板 / 197 15.2.4 重置游戏 / 198 15.2.5 添加游戏控制 / 200 15.2.6 添加游戏目标 / 201 15.2.7 就这样了 / 204 15.3 进阶代码1:添加背景 / 205 15.4 进阶代码2:制造火 / 205 15.5 挑战 / 208 15.6 完整代码 / 208 15.7 下一步我们做什么 / 208 第16章 了解JavaScript对象 / 209 16.1 让我们开始吧 / 210 16.2 简单的对象 / 211 16.3 属性和方法 / 214 16.4 复制对象 / 214 16.5 构建新对象 / 216 16.6 JavaScript中最糟糕的事情:失去了这个 / 218 16.7 挑战 / 220 16.8 完整代码 / 220 16.9 下一步我们做什么 / 220 第17章 项目:预备,稳定,发射 / 221 17.1 让我们开始吧 / 223 17.2 发射器 / 223 17.3 记分牌 / 228 17.4 篮子和目标 / 228 17.5 风 / 232 17.6 完整代码 / 235 17.7 下一步我们做什么 / 235 第18章 项目:双人游戏 / 236 18.1 让我们开始吧 / 237 18.2 两个发射器 / 238 18.3 两个记分牌 / 243 18.4 让篮子更新正确的记分牌 / 246 18.5 共享键盘 / 247 18.6 游戏重新开始 / 249 18.7 完整代码 / 251 18.8 下一步我们做什么 / 251 第19章 项目:河道漂流 / 252 19.1 让我们开始吧 / 253 19.2 推拉形状 / 255 19.3 崎岖的地形 / 259 19.4 挖一条河 / 261 19.5 记分牌 / 266 19.6 建造木筏 / 266 19.7 重置游戏 / 268 19.8 键盘控制 / 269 19.9 终点线 / 270 19.10 进阶代码:保持分数 / 272 19.10.1 基于时间的评分 / 273 19.10.2 蓄能点数 / 274 19.11 完整代码 / 278 19.12 下一步我们做什么 / 278 第20章 将代码放到网上 / 280 20.1 无所不能的浏览器 / 281 20.2 免费网站 / 284 20.3 将代码放在另一个站点上 / 285 20.4 完整代码 / 289 20.5 下一步我们做什么 / 289 附录A 项目代码 / 290 附录B JavaScript程序库 / 350 参考文献 / 356 |