canvas教程

lufy's legend

字号+ 作者:H5之家 来源:H5之家 2015-10-10 18:21 我要评论( )

lufy's legend,lufy_legend,lufylegend,lufylegend.js,html5,html5引擎,game,游戏

购买

  • 各大网上书店都有卖,下面是其中的两个
  • china-pub网上书店购买
  • 当当网购买
  • 京东
  • 亚马逊
  • 基本信息

    作者: 张路斌
    丛书名: 实战系列
    出版社:机械工业出版社
    ISBN:9787111419129
    上架时间:2013-4-15
    出版日期:2013 年4月
    开本:16开
    页码:336
    版次:1-1

    qq交流群

    298385345

    推荐

    系统讲解HTML 5 Canvas的基础知识和高级技巧,深入剖析开源库件lufylegend的原理与使用以实例为向导,详细讲解射击游戏、物理游戏、网络游戏等各类游戏的开发思路和技巧

    内容简介

    《html5 canvas游戏开发实战》主要讲解使用html5 canvas来开发和设计各类常见游戏的思路和技巧,在介绍html5 canvas相关特性的同时,还通过游戏开发实例深入剖析了其内在原理,让读者不仅知其然,而且知其所以然。在本书中,除了介绍了html5 canvas的基础api之外,还重点阐述了如何在javascript中运用面向对象的编程思想来进行游戏开发。    本书在介绍每个游戏开发的过程时,都会包括游戏分析、开发过程、代码解析和小结等相关内容,以帮助读者了解每种类型游戏开发的详细步骤,让读者彻底掌握各种类型游戏的开发思想。最后,还通过数据对比分析,指导读者提升程序的性能,写出高效的代码,从而开发出运行流畅的游戏。

    作者

    张路斌 资深前端开发工程师和游戏开发工程师,从事web开发和游戏开发多年,精通html5和flash等技术。html5开源游戏引擎lufylegend.js的开发者,利用html5和flash等技术独立开发了大型网页游戏アイドルバトル、flash游戏ポイガチャ、多平台游戏三国记系列,以及数十款手机小游戏,游戏开发经验十分丰富。

    目录

    《html5 canvas游戏开发实战》
    前  言
    第一部分 准备工作篇
    第1章 准备工作 / 2
    1.1 html5介绍 / 2
    1.1.1 什么是html5 / 2
    1.1.2 html5的新特性 / 2
    1.2 canvas简介 / 5
    1.2.1 canvas标签的历史 / 5
    1.2.2 canvas的定义和用法 / 6
    1.2.3 如何使用canvas来绘图 / 6
    1.2.4 canvas的限制 / 7
    1.3 开发与运行环境的准备 / 7
    1.3.1 浏览器的支持 / 7
    1.3.2 准备一个本地的服务器 / 8
    1.4 开发工具的选择 / 8
    1.5 测试与上传代码 / 12

    1.6 javascript中的面向对象 / 13
    1.6.1 类 / 13
    1.6.2 静态类 / 16
    .1.6.3 继承 / 16
    1.7 小结 / 17
    第二部分 基础知识篇
    第2章 canvas基本功能 / 20
    2.1 绘制基本图形 / 20
    2.1.1 画线 / 20
    2.1.2 画矩形 / 22
    2.1.3 画圆 / 24
    2.1.4 画圆角矩形 / 26
    2.1.5 擦除canvas画板 / 27
    2.2 绘制复杂图形 / 28
    2.2.1 画曲线 / 28
    2.2.2 利用clip在指定区域绘图 / 30
    2.2.3 绘制自定义图形 / 31
    2.3 绘制文本 / 32
    2.3.1 绘制文字 / 32
    2.3.2 文字设置 / 33
    2.3.3 文字的对齐方式 / 38
    2.4 图片操作 / 41
    2.4.1 利用drawimage绘制图片 / 41
    2.4.2 利用getimagedata和putimagedata绘制图片 / 45
    2.4.3 利用createimagedata新建像素 / 47
    2.5 小结 / 49
    第3章 canvas高级功能 / 50
    3.1 变形 / 50
    3.1.1 放大与缩小 / 50
    3.1.2 平移 / 53
    3.1.3 旋转 / 54
    3.1.4 利用transform矩阵实现多样化的变形 / 56
    3.2 图形的渲染 / 65
    3.2.1 绘制颜色渐变效果的图形 / 65
    3.2.2 颜色合成之globalcompositeoperation属性 / 67
    3.2.3 颜色反转 / 69
    3.2.4 灰度控制 / 70
    3.2.5 阴影效果 / 71
    3.3 自定义画板 / 72
    3.3.1 画板的建立 / 72
    3.3.2 canvas画布的导出功能 / 79
    3.4 小结 / 81
    第4章 lufylegend开源库件 / 82
    4.1 lufylegend库件简介 / 82
    4.1.1 工作原理 / 82
    4.1.2 库件使用流程 / 83
    4.2 图片的加载与显示 / 84
    4.2.1 图片显示举例 / 84
    4.2.2 lbitmapdata对象 / 86
    4.2.3 lbitmap对象 / 87
    4.3 层的概念 / 88
    4.4 使用lgraphics对象绘图 / 90
    4.4.1 绘制矩形 / 90
    4.4.2 绘制圆 / 91
    4.4.3 绘制任意多边形 / 92
    4.4.4 使用canvas的原始绘图函数进行绘图 / 93
    4.4.5 使用lsprite对象进行绘图 / 94
    4.4.6 使用lgraphics对象绘制图片 / 95
    4.5 文本 / 101
    4.5.1 文本属性 / 101
    4.5.2 输入框 / 102
    4.6 事件 / 103
    4.6.1 鼠标事件 / 103
    4.6.2 循环事件 / 104
    4.6.3 键盘事件 / 105
    4.7 按钮 / 106
    4.8 动画 / 108
    4.9 小结 / 113
    第三部分 开发实战篇
    第5章 从简单做起—“石头剪子布”游戏 / 116
    5.1 游戏分析 / 116
    5.2 必要的javascript知识 / 117
    5.2.1 随机数 / 117
    5.2.2 条件分支 / 117
    5.3 分层实现 / 117
    5.4 各个层的基本功能 / 119
    5.4.1 基本画面显示 / 119
    5.4.2 结果层的显示 / 126
    5.4.3 控制层的显示 / 127
    5.5 出拳 / 129
    5.6 结果判定 / 131
    5.7 小结 / 137
    第6章 开发“俄罗斯方块”游戏 / 138
    6.1 游戏分析 / 138
    6.2 必要的javascript知识 / 138
    6.3 游戏标题画面显示 / 139
    6.4 向游戏里添加方块 / 141
    6.5 控制方块的移动 / 152
    6.5.1 键盘事件 / 152
    6.5.2 触屏事件 / 155
    6.6 方块的消除和得分的显示 / 157
    6.7 小结 / 160
    第7章 开发“是男人就下一百层”游戏 / 161
    7.1 游戏分析 / 161
    7.2 游戏标题画面显示 / 161
    7.3 读取图片与背景显示 / 162
    7.4 添加一个静止的地板 / 167
    7.5 添加游戏主角 / 170
    7.5.1 让游戏主角出现在画面上 / 170
    7.5.2 通过键盘事件来控制游戏主角的移动 / 177
    7.5.3 通过触屏事件来控制游戏主角的移动 / 178
    7.6 添加多种多样的地板 / 179
    7.6.1 会消失的地板 / 179
    7.6.2 带刺的地板 / 181
    7.6.3 带有弹性的地板 / 182
    7.6.4 向左和向右移动的地板 / 184
    7.7 游戏数据的显示 / 187
    7.8 游戏结束与重开 / 190
    7.9 小结 / 192
    第8章 开发射击类游戏 / 193
    8.1 游戏分析 / 193
    8.2 添加一架可控飞机 / 194
    8.2.1 添加一个飞机类 / 194
    8.2.2 可控飞机类 / 197
    8.3 为飞机添加多样化的子弹 / 203
    8.3.1 建立一个子弹类 / 203
    8.3.2 单发子弹 / 205
    8.3.3 多发子弹 / 207
    8.3.4 环形子弹 / 208
    8.3.5 反向子弹 / 209
    8.4 添加敌机 / 209
    8.4.1 建立一个敌机类 / 210
    8.4.2 建立一个敌机boss类 / 214
    8.5 碰撞检测 / 217
    8.5.1 飞机与子弹的碰撞 / 217
    8.5.2 我机与敌机的碰撞 / 220
    8.6 子弹的变更 / 221
    8.6.1 建立一个弹药类 / 222
    8.6.2 弹药与我机的碰撞 / 223
    8.7 飞机生命值的显示 / 225
    8.8 游戏胜利与失败判定 / 226
    8.9 小结 / 228
    第9章 开发物理游戏 / 229
    9.1 box2d简介 / 229
    9.2 box2dweb在lufylegend库件中的使用 / 229
    9.3 创建各种各样的物体 / 234
    9.3.1 矩形物体 / 234
    9.3.2 圆形物体 / 237
    9.3.3 多边形物体 / 239
    9.4 响应鼠标拖拽物体 / 242
    9.5 关节(joint) / 243
    9.5.1 距离关节(b2distancejointdef) / 243
    9.5.2 旋转关节(b2revolutejointdef) / 245
    9.5.3 滑轮关节(b2pulleyjointdef) / 247
    9.5.4 移动关节(b2prismaticjoint) / 248
    9.5.5 齿轮关节(b2gearjoint) / 250
    9.5.6 悬挂关节(b2linejoint) / 252
    9.5.7 焊接关节(b2weldjoint) / 253
    9.5.8 鼠标关节(mouse joint) / 254
    9.6 力 / 254
    9.7 碰撞检测 / 256
    9.8 镜头移动 / 260
    9.9 做一个简单的物理游戏 / 263
    9.10 小结 / 267
    第10章 开发网络游戏 / 268
    10.1 http通信 / 268
    10.1.1 如何实现http通信 / 268
    10.1.2 http通信的弊端 / 275
    10.2 socket通信 / 275
    10.2.1 区分socket通信和http通信 / 276
    10.2.2 服务器端 / 276
    10.2.3 客户端 / 281
    10.3 利用websocket实现简单的聊天室 / 283
    10.4 做一款多人在线的坦克大战 / 293
    10.4.1 服务器 / 293
    10.4.2 客户端 / 293
    10.5 小结 / 307
    第四部分 技能提高篇
    第11章 提高效率的分析 / 310
    11.1 绘图时使用小数的影响 / 310
    11.2 drawimage和putimagedata的效率比较 / 311
    11.3 区域更新和图片大小对绘图效率的影响 / 311
    11.4 图片格式对绘图效率的影响 / 313
    11.5 优化代码以提高整体效率 / 314
    11.5.1 使用位运算 / 314
    11.5.2 少用math静态类 / 316
    11.5.3 优化算法 / 319
    11.6 小结 / 322

    前言

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    网友点评