代码改变世界

随笔分类 - 网页游戏开发

SpriteSheet精灵动画引擎

2014-02-26 22:45 by 吴秦, 11663 阅读, 收藏, 编辑
摘要:SpriteSheet精灵动画引擎 本文介绍Flash中SpriteSheet精灵序列图与其它渲染方式的性能对比、SpriteSheet的原理及注意实现,最后实现了一个精灵序列图的渲染引擎。本文的SpriteSheet引擎及demo可以在github上下载:https://github.com/saylorzhu/SpriteSheet 动画渲染性能对比 Flash中动画制作方式有多... 阅读全文

【译】AS3利用CPU缓存

2014-02-13 00:33 by 吴秦, 2991 阅读, 收藏, 编辑
摘要:利用CPU缓存 计算机有随机存取存储器RAM(译注:即我们常说的内存),但有更快形式的存储器。如果你希望你的应用程序的快速运行,你需要知道这些其他的存储器。今天的文章中讨论了它们,并给出了两个AS3例子,即使有这样的高级语言,你仍然可以利用它们。 RAM的确很快,但只是与硬盘,固态硬盘,光盘,互联网等等与比较时。RAM与CPU内置的高速缓存相比,它并不快。你可能已经听说过他们,CPU高速... 阅读全文

走在网页游戏开发的路上(十一)

2014-02-10 22:40 by 吴秦, 6287 阅读, 收藏, 编辑
摘要:游戏中的图像资源 当今游戏早已不再是黑白机的时代,游戏都由色彩丰富、精致的图像,流畅的动画构成。Flash游戏也不例外,Flash既支持矢量图又支持位图,他们各有优缺点。本文的目的即是介绍何时使用矢量图,何时使用位图,如何在两者之间权衡? 1. 前言 首先让我们了解一下何谓矢量图,何谓位图,及各自的优缺点。这些内容与游戏无直接关系,但是了解他们的差异有助于我们在游戏中如何选择。 1.1 矢量图 矢量图(摘自:百度百科)使用直线和曲线来描述图形,这些图形的元素是一些点、线、矩形、多边形、圆和弧线等等,它们都是通过数学公式计算获得的。例如一幅花的矢量图形实际上是由线段形成... 阅读全文

PureMVC(AS3)剖析:设计模式(二)

2013-03-25 14:00 by 吴秦, 4288 阅读, 收藏, 编辑
摘要:PureMVC(AS3)剖析:设计模式(二) 模式 上一篇中介绍了PureMVC中使用的3种设计模式:单例模式、观察者模式、外观模式。本篇将继续介绍剩下的3种设计模式: l 使用中介者(Mediator)模式来封装UI与系统中其他对象的交互,使得各对象不需要显示地互相引用,从... 阅读全文

PureMVC(AS3)剖析:设计模式(一)

2013-03-14 00:56 by 吴秦, 6073 阅读, 收藏, 编辑
摘要:PureMVC(AS3)剖析:设计模式(一) 模式 PureMVC框架的目标很明确,即把程序分为低耦合的三层:Model、View和Controller。降低模块间的耦合性,各模块如何结合在一起工作对于创建易扩展,易维护的应用程序是非常重要的。PureMVC框架使用多重设计模式来实现解耦彻底... 阅读全文

PureMVC(AS3)剖析:吐槽

2013-02-17 20:57 by 吴秦, 5687 阅读, 收藏, 编辑
摘要:PureMVC(AS3)剖析:吐槽 写在前面 世上没有银弹——不存在适用于所有情况的框架,只有适合的框架。再者任何一个好的东西(语言、框架等)最终还取决于用的人,语言和框架本身并不能保证用户的代码清晰、解耦等,当然它只是尽可能地做到这点。所以记住我写这篇不是为了否定PureMVC,相反是为了更好的了解它、使用它。 1. 吐槽一:过于强调解耦 PureMVC引入了多种设计模式、消息机制(使用观察者模式,发布/订阅模式)来解耦各个模块,它确实做到了这点,但是彻底解耦是需要代价的! 1.... 阅读全文

PureMVC(AS3)剖析:实例

2013-01-29 12:34 by 吴秦, 13669 阅读, 收藏, 编辑
摘要:PureMVC(AS3)剖析:实例 实例 上篇介绍了MVC的思维方式“代码重用(code reusability)、关注点分离(separation of concerns,SoC)”,并介绍了PureMVC框架的设计。本篇从一个实例出发,详细介绍PureMVC框架中的元素、推荐的项目目录组... 阅读全文

回合制页游

2013-01-24 14:41 by 吴秦, 9939 阅读, 收藏, 编辑
摘要:回合制页游 之战斗系统 “回合制是游戏的一种方式,全称为回合制策略游戏,所有的玩家轮流自己的回合,只有自己的回合,才能够进行操纵。回合制分类: l 战棋类游戏 n SLG:角色扮演因素较少,战斗以整体策略为主 n SRPG:角色扮演因素为主,战斗为回合制,通常己方人员较少,特别依靠培养系统铸造的强人 l 半即时制:使用行动点数系统,行动点数基于角色行动需要而设定的耗时系... 阅读全文

PureMVC(AS3)剖析:开篇

2012-12-29 00:24 by 吴秦, 8870 阅读, 收藏, 编辑
摘要:PureMVC(AS3)剖析:开篇 缘起 自从事flash webgame开发起,3个项目都使用到了MVC模式:1个自己构建的MVC没有使用外部框架;2个使用的PureMVC框架。对PureMVC也有了一定的深度的认识,是时候来总结、吐槽下。现在网上已经流传很多关于PureMVC的资源,但是... 阅读全文

走在网页游戏开发的路上(十)

2012-12-20 22:43 by 吴秦, 8932 阅读, 收藏, 编辑
摘要:页游资源管理 现在页游的规模越来越来大,游戏内容丰富,资源管理变得很重要。现在一款SNS页游的所有资源可达50M,MMO页游更高达几百M,不可能把资源放到一个文件里面、也不可能一次性加载完所有资源。按200kb/s的下载速度来算,50M的资源需要4+分钟,这是绝对不能忍受的事情(更何况大部分人网速比这慢)。 页游资源通常有以下几种格式:图片(jpg、png等)、xml(配置文件)、swf资源、... 阅读全文

浏览器缓存机制

2012-11-28 14:03 by 吴秦, 80352 阅读, 收藏, 编辑
摘要:浏览器缓存机制 浏览器缓存机制,其实主要就是HTTP协议定义的缓存机制(如: Expires; Cache-control等)。但是也有非HTTP协议定义的缓存机制,如使用HTML Meta 标签,Web开发者可以在HTML页面的<head>节点中加入<meta>标签,代码如下: html code ... 阅读全文

《楚河汉界分析》

2012-04-01 16:37 by 吴秦, 4882 阅读, 收藏, 编辑
摘要:楚河汉界 ——战斗系统分析 1. 战斗资源 人物和技能: 楚河汉界中人物和技能是绑定的,放在同一个资源中。人物动画使用位图序列制作,技能效果使用矢量动画使效果更炫,更平滑。 打斗效果: 楚河汉界中战斗时,技能施加到人物身上之后,的效果是与技能独立的。所有的这些效果放在一个资源中,这些效果也是使用矢量动画制作。 战斗中就是轮流播放人物的技能和添加技能伤害效果... 阅读全文

Flex Ant自动构建

2012-03-29 17:15 by 吴秦, 8816 阅读, 收藏, 编辑
摘要:1. Flex SDK Ant Flex开发者会遇到很多,比如自动构建,在一个有着N多模块,N处源码,构建过程复杂的Flex项目开发中,依赖人力手工构建项目非常不现实(机械重复且枯燥无味的过程,相信哪位开发人员都会避之唯恐不及,而且对于人力是非常大的浪费),而通过使用Ant,我们可以将这些工作交给机器来做,机器最适合干的就是这些程序固定,顺... 阅读全文

flash开发框架:RobotLegs

2012-03-21 15:56 by 吴秦, 26535 阅读, 收藏, 编辑
摘要:RobotLegs轻量级AS3框架 任何一个好的东西(语言、框架等)最终还取决于用的人 语言和框架本身并不能保证用户的代码清晰、解耦等, 当然它只是尽可能地做到这点。 Robotlegs是一个用来开发Flash,Flex和AIR应用的纯AS3微架构(框架)。Robotlegs专注于将应用程序各层排布在一起并提供它们相互通讯的机制。Robotlegs试图通过提供一种解决常见开发问题的经过时间... 阅读全文

走在网页游戏开发的路上(九)

2012-01-15 16:51 by 吴秦, 8274 阅读, 收藏, 编辑
摘要:游戏中的背景音乐和声效 0. 前言 不管是大型客户端游戏还是轻量级的网页游戏,游戏中背景音乐和声效是必不可少的。好的背景音乐、声效会给游戏增色,本文不从策划/设计等角度去考虑,只从程序实现上面讲在网页游戏开发中如何去实现背景音乐、声效。背景音乐和声效有以下几个要求: ü 背景音乐与声效是分开的,可以独立设置开关 ü 背景音乐一般循环播放一直存在 ü 声效点击才触发,这种声... 阅读全文

走在网页游戏开发的路上(八)

2011-07-03 13:50 by 吴秦, 9302 阅读, 收藏, 编辑
摘要:游戏中定时器的设计 0. 前言 在游戏开发中计时器/定时器是必须的,而且会在多处用到,如吃药补血每秒回10点且持续1分钟、玩家从一点到达另一点的过程需要多少时间。下面是定时器在七雄争霸中的几个应用场景,直接上图: 场景1:建筑升级时间 场景2:建筑升级时间 场景3:科技研究时间 类似的场景还有很多,就不一一列举了。但有一点可以肯定的就是,不可能每个地方都去new一个定时器各自管理,这样会消耗大量C... 阅读全文

大家快来玩转盘抽奖游戏(走在网页游戏开发的路上(七))

2011-06-15 01:39 by 吴秦, 20088 阅读, 收藏, 编辑
摘要:抽奖转盘 0. 前言 每逢过年过节各大游戏都会搞些小活动来刺激、吸引、黏住玩家,比如转盘抽奖活动,有的公司年底也喜欢搞抽奖活动。本文介绍如何设计一个flash转盘抽奖程序。先上效果,看如下Flash抽奖转盘: 注:转盘看上去比较丑,使出了吃奶劲才弄出这效果,毕竟不是专业美工人员,大家凑合着看。觉得还行鼓鼓掌,按按推荐;觉得不行,也不要拍砖,无视就行了☺。 预备知识:事件机制(可以参考走在网页游戏开... 阅读全文

走在网页游戏开发的路上(六)

2011-06-11 20:53 by 吴秦, 9436 阅读, 收藏, 编辑
摘要:Flash动画原理 ——动画是将静止的画面变为动态的艺术.实现由静止到动态,主要是靠人眼的视觉残留效应.利用人的这种视觉生理特性可制作出具有高度想象力和表现力的动画影片. 0. 前言 像所有的动画显示一样,Flash的动画原理也是通过不断的刷新屏幕,利用每次屏幕上显示对象位置的不同、大小色彩的变化等产生动画效果。动画编程的关键是一定要有变化,而且该变化需要在一定时间内来完成(以达到欺骗人眼,使分解... 阅读全文

走在网页游戏开发的路上(五)

2011-06-06 22:17 by 吴秦, 8989 阅读, 收藏, 编辑
摘要:AS3事件模型 ——AS3的灵魂之一 0. 前言 ActionScript 3.0事件模型使用方便,而且符合标准,它与Adobe Flash Player显示列表(display list)完美集成在一起。ActionScript 3.0的事件模型是基于DOM 3的事件规范[1],是业界标准的事件处理体系结构,为ActionScript 3.0程序员提供了强大而直观的事件处理工具。 为了清晰理解A... 阅读全文

走在网页游戏开发的路上(四)

2011-06-05 17:14 by 吴秦, 8747 阅读, 收藏, 编辑
摘要:AS3之类 0. 前言 类:面向对象的基础,类是对象的抽象表示形式,类用来存储有关对象可保存的数据类型及对象可表现的行为的信息。 类的定义: [dynamic] [public | internal] [final] class className [ extends superClass ] [ implements interfaceName[, interfaceName... ] ] { ... 阅读全文

走在网页游戏开发的路上(三)

2011-06-04 17:22 by 吴秦, 10680 阅读, 收藏, 编辑
摘要:AS3之函数 0. 前言 函数:完成某个目标任务的代码块,它是代码重用的最小单位。 函数是可在ActionScript中调用的基本代码单位。ActionScript中用户定义的函数和内置函数都由Function对象来表示,该对象是Function类的实例。 类的方法与Function对象略有不同。与普通函数对象不同,方法和与其关联的类对象紧密关联。因此,方法或属性具有在同一类的所有实例中共享的定... 阅读全文

走在网页游戏开发的路上(二)

2011-05-29 21:19 by 吴秦, 13159 阅读, 收藏, 编辑
摘要:AS基础过关 0. ActionScript简介 ActionScript是Macromedia(现已被Adobe收购)为其Flash产品开发的,最初是一种简单的脚本语言,现在最新版本3.0,是一种完全的面向对象的编程语言,功能强大,类库丰富,语法类似JavaScript,多用于Flash互动性、娱乐性、实用性开发,网页制作和RIA应用程序开发。 ActionScript是一种基于ECMAScri... 阅读全文

走在网页游戏开发的路上(一)

2011-05-28 21:26 by 吴秦, 41641 阅读, 收藏, 编辑
摘要:起步 ——此系列谨记录我步入页游开发队伍的历程。 0.写在前面 相信有很多和我一样的人,曾多次问google、问baidu、问各大论坛——如何开发游戏?开发游戏如何入门?由于游戏开发本身其复杂、庞大、涉及东西比较多,始终不得其道,最终激情无情的被时间这把杀猪刀给磨灭。之后又一次激情澎湃,又一次不了了之…… 本人喜欢玩游戏,也有幸在研究生毕业能够加入腾讯QQ游戏开发部门,本系列将记录如何步入网页... 阅读全文