Application cache 是 HTML5 中在规范完整性上比较糟糕的特性之一,规范上的不到位导致浏览器厂商在实现上也存在些许差异,而产生本文档的目的即让开发者们知晓那些潜规则,摆脱问题的困惑与束缚,正确的使用离线缓存真正让 Web 加速。

【场景】:

由于 CodeTank 是一个 JS 的编程游戏,所以用户的代码都可以在 CodeTank 平台上执行,从而控制 tank 的个性化行为。

在 CodeTank 设计之初,主要需要实现的目标如下:

  1. 自定义的坦克可以调用公用的 API,例如 fire,ahead 等控制坦克行为的 API。
  2. 自定义的坦克可以实现自己的事件处理程序,在特定事件触发时提供自己的响应。
  3. 自定义坦克管理属于自己的状态队列。
TAT.岑安 context2D 上的 texture mapping
In HTML5,Web开发 on 2012年08月22日 by view: 15,679
4

我们在做一些图像变换或者 3D 建模时,骨架或者网格的 “蒙皮” 是少不了的。

在 webGL 中,也就是 “experimental-webgl” 的 context 中,webGL 跟 openGL 一样,提供了一个非常方便的

接口,可以很容易的对某一个指定的面或者网格蒙上指定的素材。并且,被蒙皮的区域做矢量变换,3d rotate 之类的,texture 会自动随着变换。不用额外的做处理。所以在 webGL 中,textureMapping 是十分容易和方便的。

这里有个简单的 demo,支持 webGL 的浏览器可以尝试围观下。

当然,从文章的标题可以看出,我们今天要讨论的内容并不是 webGL 下的 bindTexture。而是在 2D 的 context 下怎么对素材进行 TextureMapping?

TAT.岑安 Animations in Canvas
In HTML5,HTML5游戏 on 2012年08月21日 by view: 14,571
4

关于 Canvas 中动画的处理和实现

大致会有三种类型:

  • 矢量动画【No Textures】
  • 关键帧动画
  • 骨骼动画

2个信使的情况

此方案已有新版本, 请查看 《iframe 跨域通信的通用解决方案-第二弹!(终极解决方案)》。本文章可做技术学习供继续交流。

一、背景

在这个 Web 页面越来越丰富的时代,页面通过 iframe 嵌入其他的页面也越来越常见。但由于浏览器同源策略的限制,不同域之间属性和操作是无法直接交互的,所以在这个时候,开发者多多少少需要一些方案来突破这些限制。跨域问题涉及的地方也很多,如文档之间的消息通信、ajax 请求、Cookie 等,本文讨论的是 iframe 和父页面的消息通信。

一、引子

话说前阵子想把一张照片转换成素描,然后发个微博。结果发现 mac 上没找到能直接转换素描的软件(PS 不算,可要好几步呢),坑爹啊~~google 了下,Web 上竟然也是没有直接把照片转换成素描的东西,连让我包含期望的美图秀秀(Web 版)竟然都没有素描功能,T_T。

TAT.Kinvix 马上使用 HTML5 的十大理由
In HTML5 on 2012年07月12日 by view: 8,503
3

为了让 HTML5 不再神秘,为了帮助犹豫不决的设计师和开发工程师跑步跟上快速发展的浪潮,我列出了为什么要马上使用 HTML5 的十大理由。

十大理由马上使用HTML5

你还没有用 HTML5 吗? 我想你有你的道理:它还没有被全面采纳;IE 不支持;你觉得现在就挺好,或是你还是热衷于写严格的 XHTML 代码。HTML5 是网络行业所需要的一场革命。事实上,不管你是否情愿,它就是未来。HTML5 并不深奥,用起来也不难。尽管它的标准还没有被完全采纳,还是有足够的理由马上就开始用它!——对,就是在你刚读完这篇文章的时候!

TAT.Kinvix Google 推荐的 HTML5 代码规范
In HTML5 on 2012年07月09日 by view: 9,266
4

Google 作为业界的领头羊,为 HTML5 代码规范作出了详尽实用的规范,一起来学习吧!

拉普达是什么?

《守护拉普达》是一款基于 HTML5 的体感塔防游戏, 是腾讯编程马拉松的优胜作品。
拉普达(Laputa)是天空之城的意思。玩家以保护拉普达为目标,通过肢体运动控制准星杀死不断靠近总部的小怪。杀怪可以获取游戏积分,连杀或触发道具都能得到更多积分!分数最终会存入服务器,列入宇宙排名。

TAT.Cson Js 对几何变换的简单封装
In HTML5,JavaScript,Web开发 on 2012年06月02日 by view: 5,330
2

如果是涉及到游戏或动画的编程,我们很可能会用到几何变换。如果在大学过线性代数的话,我们就会知道,无论是 2d 还是 3d 的几何变换,矩阵都是实现线性变换的一个重要工具。任意线性变换都可以用矩阵表示为易于计算的一致形式,并且多个变换也可以很容易地通过矩阵的相乘连接在一起。