检测 GIF 版本的方法
之前在 角色动作练习:jumping/crouch 一文中录制的第一个跳跃 GIF 动画不知为何在浏览器中播放一次就停了下来,而其它的动画却可以正常循环。

Web/Game/Programming/Life etc.
之前在 角色动作练习:jumping/crouch 一文中录制的第一个跳跃 GIF 动画不知为何在浏览器中播放一次就停了下来,而其它的动画却可以正常循环。

Javascript 是一个「基于原型」的开发语言。它的内部有一些很有趣的机制,例如原型和闭包。为了弄清楚原型(prototpye)的工作原理,我花了点时间理清了一下思路,记于此文。
由于比较喜欢 run’n’jump 类的 2D platform 游戏,我最近研究了一些与 tile map 相关的知识。先前从 tonypa 的 tile based game 系列文章中了解技术层面的东西。但是他没有提到技术与艺术衔接的过程。后来得知了 tiled 这款开源的地图编辑器后,便有了机会窥探艺术与技术的结合方法。现在我更想知道艺术方面是如何配合这个过程来打造丰富的游戏世界的。
于是我在网上搜索了一些以前玩过的一些游戏的素材,发现了一些非常有趣的网站:The VG Resource 上面有很多从游戏包中分解出来的资源,适合学习使用。
最近一个月深入学习了一下 OpenGL ES 2.0 和 GLSL,终于把以前一直想尝试的一些效果给理解清楚了。
例如一些塔防/空战游戏中的激光,使用的效果名为 bloom effect 或者叫 glow effect,实现方式是将游戏画面实时高斯模糊,然后以 gl.blendFunc(gl.ONE, gl.ONE) 的混合模式叠加至原图中,达到高光的效果:GPU GEMS - Chapter 21. Real-Time Glow。
刀塔传奇手游中的场景切换非常灵活:玩家可以通过任务窗口跳转至其它界面,甚至可以通过角色界面中缺失的材料顺滕摸瓜进入关卡界面,然后通过战斗获得自己需要的物品,最后重新回到角色界面——之前打开的窗口依然在那里,就像你没有离开过一样。如果你无聊,可以从任务窗口一层又一层的周转于各个界面,然后在任意时刻都能回退到之前的场景,这种无限后退的能力非常有趣。然而手机的内存是有限的,如何组织程序,保存之前的“现场”则是一种考验。显然由 cocos2d 框架提供的基于 Director/Scene 的场景管理不足以直接实现这样的需求。