Download pdf - More weapons, more power

Transcript
Page 1: More weapons, more power

More Weapons

More Power

浅谈HTML5技术在游戏开发中的应用

魏子钧

Page 2: More weapons, more power

关于我

网名: 大城小胖

( fins/finscn/fins_cn )

blog: fins.iteye.com

twitter: @finscn

新浪微博: @大城小胖

Web技术爱好者

& 游戏开发爱好者

胖子控

Page 3: More weapons, more power

关于今天的分享

Page 4: More weapons, more power

关于今天的分享

浅谈

Page 5: More weapons, more power

关于今天的分享

浅谈

不讲如何开发HTML5游戏

Page 6: More weapons, more power

关于今天的分享

浅谈

不讲如何开发HTML5游戏

不讲HTML5各个特性的具体用法

Page 7: More weapons, more power

关于今天的分享

浅谈

不讲如何开发HTML5游戏

不讲HTML5各个特性的具体用法

讲啥 ?

Page 8: More weapons, more power

The Age of HTML4

Part 1

Page 9: More weapons, more power

HTML4 与 简单动画

Page 10: More weapons, more power

HTML4 与 简单动画

浮动广告流程:

绝对定位的div里塞张图片

setInterval {

计算div新坐标

移动div到新坐标

(歇一会儿)

}

Page 11: More weapons, more power

游戏等于互动动画: 动画 + 输入 + 逻辑

游戏流程:

初始化游戏各个对象 以及相关dom

setInterval {

处理用户输入,执行游戏逻辑

计算各个对象新状态

更新dom到新状态

(歇一会儿)

}

从 简单动画 到 简单游戏

Page 12: More weapons, more power

Animation / 帧动画 / 动画序列

CSS Sprite : background-position

帧动画 与 Dom CSS-Sprite

Page 13: More weapons, more power

缺乏动态绘制图像的能力

对 复杂动画 或 组合图片 无能为力

开发方式略显“怪异”,与传统游戏开发思路差别较大

Dom + CSS 的局限性

Page 14: More weapons, more power

Hello HTML5

Part 2

Page 15: More weapons, more power
Page 16: More weapons, more power
Page 17: More weapons, more power

Canvas

Page 18: More weapons, more power

Canvas

Page 19: More weapons, more power

Canvas 与 HTML5游戏

绘制几何图形

绘制位图

• gc=canvas.getContext(“2d”)

• gc.drawImage(img,dx, dy)

• gc.drawImage(img, sx, sy, w, h,

dx, dy, w, h)

像素级操作

图形图像的变换 (transform )

Page 20: More weapons, more power

画了擦,擦了画...

更自由 更灵活的去操作图像,绘制图形

相当于可动态编辑的<img>

Canvas 与 HTML5游戏

Page 21: More weapons, more power

画了擦,擦了画...

更自由 更灵活的去操作图像,绘制图形

相当于可动态编辑的<img>

Canvas 与 HTML5游戏

Page 22: More weapons, more power

画了擦,擦了画...

更自由 更灵活的去操作图像,绘制图形

相当于可动态编辑的<img>

Canvas 与 HTML5游戏

Page 23: More weapons, more power

画了擦,擦了画...

更自由 更灵活的去操作图像,绘制图形

相当于可动态编辑的<img>

Canvas 与 HTML5游戏

Page 24: More weapons, more power

画了擦,擦了画...

更自由 更灵活的去操作图像,绘制图形

相当于可动态编辑的<img>

Canvas 与 HTML5游戏

Page 25: More weapons, more power

画了擦,擦了画...

更自由 更灵活的去操作图像,绘制图形

相当于可动态编辑的<img>

Canvas 与 HTML5游戏

Page 26: More weapons, more power

画了擦,擦了画...

更自由 更灵活的去操作图像,绘制图形

相当于可动态编辑的<img>

Canvas 与 HTML5游戏

Page 27: More weapons, more power

Canvas 与 HTML5游戏

Page 28: More weapons, more power

CSS 3

Page 29: More weapons, more power

CSS 3 与 HTML5游戏

Animation

Transition

Transform

Cheap 3D

Page 30: More weapons, more power

CSS 3 与 HTML5游戏

RGBA

gradient

Multiple Background

Background size/clip/origin

Border Radius/Image

Web Font

Box Shadow

Text Fill/Stroke/Shadow

... ...

Page 31: More weapons, more power

其他HTML5特性 与 游戏Audio / Video

Web Socket / XMLHttpRequest 2

Web Worker

localStorage / sessionStorage

WebDB / IndexdDB

File API

applicationCache / offline app

GeoLocation / DeviceMotion / CaptureAPI

SVG / WebGL

Page 32: More weapons, more power

HTML5 & Mobile

Part 3

Page 33: More weapons, more power

移动平台的魅力

Page 34: More weapons, more power

移动平台的魅力

全新的用户体验

• 多点触控/重力感应/陀螺仪/地理位置

Page 35: More weapons, more power

移动平台的魅力

全新的用户体验

• 多点触控/重力感应/陀螺仪/地理位置

随时.随地.随身

• 沟通/娱乐/Always online

Page 36: More weapons, more power

移动平台的魅力

全新的用户体验

• 多点触控/重力感应/陀螺仪/地理位置

随时.随地.随身

• 沟通/娱乐/Always online

适合HTML5生长的土壤

• 大部分 *优秀的移动平台* 均支持HTML5

• 使用 *优秀的移动平台* 的人越来越多

• 基于Web的RIA应用的不二选择

Page 37: More weapons, more power

All For DEMO

Part 3

Page 38: More weapons, more power

Demo

Page 39: More weapons, more power

Troubles

Part 4

Page 40: More weapons, more power

让人抓狂的问题

技术的多样性带来的困惑

如何取舍

开发工具

性能

浏览器默认行为

跨浏览器兼容性

HTML5标准的完善与普及

Page 41: More weapons, more power
Page 42: More weapons, more power

不管与你的路有多苦我只想要拥有最后的祝福再多的伤害我都不在乎愿你我挣脱一切的束缚

不管与你的路有多苦擦干眼泪告诉自己不准哭我不怕谁说这是个错误

只要你我坚持

永不认输

Page 43: More weapons, more power

Q&A >_<


Recommended