一、背景
如何度量和模拟“弱网络”对移动APP的开发有着重大的意义,比如:节约测试成本、易于问题重现、加快产品上线等。
一般的方法是使用“丢包率”和“网络延时”来定义和衡量“弱网络”。
二、手机接入服务器的流程
要讲这个问题,首先要来了解下手机接入服务器的流程。
首先,手机要通过无线网络协议,从基站获得无线链路分配,才能跟网络进行通讯。
无线网络基站、基站控制器这方面,会给手机进行信号的分配,已完成手机连接和交互。
获得无线链路后,会进行网络附着、加密、鉴权,核心网络会检查你是不是可以连接在这个网络上,是否开通套餐,是不是漫游等。核心网络有SGSN和GGSN,在这一步完成无线网络协议和有线以太网的协议转换。
再下一步,核心网络会给你进行APN选择、IP分配、启动计费。
再往下面,才是传统网络的步骤:DNS查询、响应,建立TCP链接,HTTP GET,RTTP RESPONSE 200 OK,HTTP RESPONSE DATA,LAST HTTP RESPONSE DATA,开始UI展现。
这是手机通过无线网络接入服务器的全过程。整个过程当中有几个困扰开发者的问题:
无线网络是怎么给手机分配到无线链数闭派路的?
核心网络有接入点(APN),这里的CMNET和CMWAP有什么区别,仅仅是协议不同吗吗?数据转发又有什么区别?一个数据包在不同网络上传输有不同吗?
用户怎么最快的找到正确的服务器?内容怎么快速有效的加载,在第一时间显示出来?
这几个问题的重点在于其中的几个连接点:
3.2 一秒钟法则
根据以上情况,就形成无线网络的一大特点:秒级状态管理,秒级状态转换。这两个 *** 作都在几百ms到几秒之间态兆进行,对于维持连接来说时间太短,对于从无连接到有连接的转换来说时间又太长。
相比之下,有线网络的状态管理如ip分配、tcp连接释放,都是分钟级,而状态转换则是毫秒级。
这些通讯机制,同时加上无线网络的高延迟、高丢包。如何保证移动互联网的产品提供稳定的、可预期的服务质量,成为非常大的挑战:
2G网络上无线部分数据传输的延迟有几百ms,4G网络上无线部分传输延迟减少到几十ms,核心网状态转换、协议转换30~100ms,IP骨干网上的延迟又跟物理距离以及运营商互联互通质量有关,跨运营商50-400ms,同运营商5-80ms,这个还要取决于网络拥塞的情况。
无线网络误码率比有线高两个薯贺数量级,在不同时间段的波动也非常巨大。
怎么基于移动网络的特性去优化服务?
这就是我们总结的一秒钟法则:在一秒内要完成的规定动作。
1,2g网络:1秒内完成dns查询、和后台服务器建立连接
2,3g网络:1秒内完成首字显示(首字时间)
3,wifi网络:1秒内完成首屏显示(首屏时间)
4,这些指标需要在终端度量,必须跟用户体验相关:首字时间、首屏时间都必须是用户可以直观感受到的。
四、优化思路
4.1 服务保证原则
从以上分析可知,如何保证移动互联网的产品提供稳定的、可预期的服务质量,具有非常大的挑战。以下几点原则可能会有帮助:
1), 接口设计优化 ,接口的优化理论上不属于APP弱网络的优化,但是这个的API性能的问题,确实在网络条件不好的情况下才暴露无遗。大家都在谈论服务器的好坏,设备的性能高低,其实,对于一个良好的Server来说,绝大部分拖延请求速度的地方都是在IO上。包括,磁盘读写的IO,SQL查询的IO等等。常用的优化点:慢查询监控 、多次查询优化、常用接口cache等。
2) 图片相关策略。
1)使用更快的图片格式,严格说也不算弱网下的优化,但一个更快的图片格式真的很重要!这里建议采用WebP格式。(WebP格式,谷歌(google)开发的一种旨在加快图片加载速度的图片格式。图片压缩体积大约只有JPEG的2/3,并能节省大量的服务器带宽资源和数据空间。但WebP是一种有损压缩。相较编码JPEG文件,编码同样质量的WebP文件需要占用更多的计算资源。)
2)、不同网络的不同图片下发。如(对于原图是600X480的图片):2/3G使用低清晰度图片——>下发300X240,精度为80的图片、4G普通清晰度图片——>下发600X480,精度为80的图片、WiFi高清晰度图片(最好根据网速来判断,wifi也有慢的)——>下发600X480,精度为100的图片。
3) 断线重连 。这可能是最重的一个特性,因为在无线网络中有太多的原因导致数据连接中断了。这里可以使用CDN。(CDN 是构建在数据网络上的一种分布式的内容分发网。 CDN 的作用是采用流媒体服务器集群技术,克服单机系统输出带宽及并发能力不足的缺点,可极大提升系统支持的并发流数目,减少或避免单点失效带来的不良影响。)
4)由于创建连接是一个非常昂贵的 *** 作,所以应尽量 减少数据连接的创建次数 ,且在一次请求中应尽量以批量的方式执行任务。如果多次发送小数据包,应该尽量保证在2秒以内发送出去。在短时间内访问不同服务器时,尽可能地复用无线连接。
5), 优化DNS查询 。应尽量减少DNS查询、避免域名劫持、DNS污染,同时把用户调度到“最优接入点”。
6), 减小数据包大小和优化包量 。通过压缩、精简包头、消息合并等方式,来减小数据包大小和包量。
7),控制数据包大小不超过1500, 避免分片 。包括逻辑链路控制(Logic Link Control)分片、GGSN分片,以及IP分片。其中,当数据包大小超出GGSN所允许的最大大小时,GGSN的处理方式有以下三种:分片、丢弃和拒绝。
8), 优化TCP socket参数 ,包括:是否关闭快速回收、初始RTO、初始拥塞窗口、socket缓存大小、Delay-ACK、Selective-ACK、TCP_CORK、拥塞算法(westwood/TLP/cubic)等。做这件事情的意义在于:由于2G/3G/4G/WIFI/公司内网等接入网络的QoS差异很大,所以不同网络下为了取得较好的服务质量,上述参数的取值差异可能会很大。
9), 优化ACK包 。在弱网络的情况下,TCP协议中的ACK包是非常昂贵的,延时甚至能够达到秒级别,而TCP协议的拥塞控制、快速重传、快速恢复等特性都非常依赖接收端反馈的ACK包。可想而知,如果发送端接收到的ACK包延时太长,会严重影响TCP协议的效率。但是如果发送ACK太多又会占用宝贵过多的无线资源。在移动网络下通信,“在可靠的连接上,如何在减少ACK包的情况下,降低数据包的延时”是研究的热点。基本的思想:平衡冗余包和ACK包个数,达到降低延时,提高吞吐量的目的。例如SGSN和GGSN之间的通信实现:二者之间通过UDP协议通信,发送者在无新的数据包的情况下,每隔一定的时间重试已发送的包,达到最大重试次数后,则丢弃该包。
10), TCP的拥塞控制算法 是以“丢包意味着网络出现拥塞”为假设设计的,很明显这个假设在无线网络环境下是不合适的。但是在无线网络环境下,在设计可靠UDP协议时是否能够完全丢弃拥塞控制呢?这里有其它的文章中提出了几种在无线网络环境下的TCP友好的拥塞控制算法,有兴趣可以自行查阅。
11), 灵活使用长连接/短连接 ,支持不同协议(TCP/UDP, http、二进制协议等),支持不同端口等。
12), 让用户觉得快 。到这里已经不能算是技术层面的方法了,属于一种心理层面的博弈,一种改善用户体验的方式。比如:
1)、不从0开始的进度条。不管网页的加载进度如何,不管网络条件如何,加载进度始终是从50%起,并且停留在大约98%进度左右的地方。
2)、先显示文字在加载图片。同样是在Webview之中,图片或者多媒体的加载速度肯定是远远慢过文字的加载速度的。由于不同的webview显示和渲染效果不同,我们可以先让webview先显示文字,在显示图片。给用户一种可以先预览整个网页概况的感觉。
4.2 接入调度优化
接入调度优化首先要考虑的是减少DNS的影响。移动网络的DNS有如下特点:
1)骨干网无法识别移动用户在哪个城市,东西南北各个地方的调度没有充分调用。目前有一部分全国范围的DNS承载了超过40%的全网用户
2),很多山寨机的终端local dns设置是错误的
3),另外还有一些有线网络也一样会遇到的问题,如终端DNS解析滥用、域名劫持、DNS污染、老化、脆弱等。不过对于这些问题,桌面的自愈性会比较好,而在手机上则比较难以解决。
对于DNS的问题,有两条主要的解决思路:
1),减少DNS的请求、查询、更新,也就是做DNS缓存
2),在终端配置server list,直接访问IP,不用DNS
但仅仅这么做还不够,因为用户可能来自国内外不同的运营商,还需要进一步优化调度策略:
1),DNS缓存需要多建立接入点,用不同域名区分
2),IP列表需要更新以适应不同网络情况,要做到主动调度。好比最早我们只服务好移动用户就行,保证移动用户的接入质量优先,因为绝大多数用户集中在移动;现在国内有三个运营商,用户分布的比例在慢慢接近,要区分清楚;智能手机会用wifi,接入的是电信、联通还是哪个运营商,不知道,所以你不可能预先设置场景再if then,必须通过后台调度能力来解决。
再进一步优化,就产生一种融合的方式:
1),先做域名解析,客户端直接连接解析的IP,可以用http协议,也可以用tcp socket
2),多端口、多协议组合:不同协议有不同的限制,有些只能http,有些只能tcp socket,各种环境都要适应,客户端不能只支持一种协议
3),终端测速:接入点越来越多,接入哪个合适,要选择,可以通过终端测速来选择最快的。你当然可以每一次新建连接都做测速,但是这样建立连接时间可能会很长;我们可以给用户先建立连接后,在后台根据长期速度监控、当前测速的结果,来做动态调度。也就是说,第一次连接可能不是最优,连接建立后动态测速,再转移到最快接入点。更进一步就是建立网络profile,终端学习的思路。
关于测速采样的粒度,移动互联网取IP段是没用的,比较好的粒度是到网元级别,比如广东有20多个wap网关,每一个网关的情况都不一样,这就是一个比较合适的粒度。
最后强调一个所有的接入调度原则:不要把调度逻辑写死在客户端,一定要由后台完成。
4.3 协议优化
协议参数优化这块就简单列一下,是长期运营过程中总结的一些经验,在启动移动互联网服务时作为运营的规范,可以少走很多弯路:
1,关闭TCP快速回收
2,Init RTO不低于3秒
3,初始拥塞控制窗口不小于10。因为大部分页面在10kB以下,很多请求在慢启动阶段已经结束,改为10可以降低小页面资源传输时延。内容越大,这个选项的效果就比较不明显。
4,Socket buffer >64k
5,TCP滑动窗口可变
6,控制发包大小在1400字节以下,避免分片
协议优化的原则总结下来是这么几条:
1,连接重用
2,并发连接控制
3,超时控制
4,包头精简
5,内容压缩
6,选择更高效率的协议。无论是TCP、HTTP、UDP、长连接、GZIP、SPDY、WUP还是WebP,每一种协议、方案都有其道理,没有最优,只有是否适合你的产品和服务特点,需要大家在运营过程验证和取舍。
4.4 WAP接入点优化
关于WAP接入点优化,可能有些人会说,我们的App是高端大气上档次的应用,是不是就不用做WAP优化?实际上我们的统计显示,目前有5%-20%的用户选择的接入点是*WAP(CMWAP、3GWAP、CTWAP),这甚至包括一些iPhone终端。实际上,WAP网关本质是个代理,不完全是落后的东西,随着技术的进步也在演进,以后在组网架构中可能有综合网关、内容计费网关来取代目前的WAP网关,所以建议也要一并考虑。以下是做WAP优化需要注意的一些问题:
1,资费提醒页面
2,302跳转处理
3,X-Online-Host使用与处理
4,包大小限制
5,劫持与缓存
6,正确获取资源包大小
4.5 业务逻辑优化
1, 简化逻辑 :交互繁琐的内容尽量用标识更新。举一个例子,我们在老版的手机QQ上做过一个测试:假如我有100个好友,用手机QQ完成登陆,完成好友列表更新一遍,需要3.5分钟。这肯定是不合理的。建议用信令状态来通知是否需要更新,同时合理利用缓存。在比如玩游戏,好友给你送了很多星星,是让用户一次一次点还是批量点?从优化的角度肯定是批量点,从用户体验的角度这也更加舒服。
另一方面,延长域名图标的缓存时间也可以有效地优化访问次数。我们把手机腾讯网图标的缓存时长从120分钟延长到2天后,访问次数优化了差不多35%。
2, 柔性可用 :这个意思就是在网络质量好的时候给高清大图,不好的时候先给用户看小图,点一下再拉取原图。举一个极端的例子,比如万一地震了,基站毁掉20%,用户要给家人报平安,这时候产品上就必须优化,比如只发送文字,合理降3, 低网络消耗 。另外在响应很慢的时候,需要给用户一些合理的页面提示,比如提示用户再过5秒会发送,所以你不要一直刷屏,这也可以减少访问对后台服务、对网络的冲击。
上面说了那么多,这里就给出一个实例帮助大家更直观的理解。
这里给出一个DNS系统设计来实现最优调度。其拓扑结构如下:
TGCP SDK的职责:
1,用HTTP的Get/Post方法从DNSvr获服务器和DNSvr本身的最优接入点列表。Get/Post方法的查询参数包括uin/openid、客户端版本号、IP列表的MD5(注意IP顺序)、域名列表、VIP、ServiceID等。
2,缓存访问服务器和DNSvr的IP列表,以及其它元数据(比如IP列表等),且以APN为主键。
3,满足一定的条件下,要主动更新缓存的IP列表,例如缓存过期。
Tconnd的职责:
1,路由查询请求给活动的DNSvr;
DNSvr的职责:
1,根据静态和动态策略来决定客户端的“最优接入点”。静态策略:根据uin/openid、客户端版本号或者强制规则来决定IP列表;动态策略:灯塔根据测速数据动态决定用户的服务器接入点。
2,支持以手动或自动的方式拉黑某些IP。自动方式:由服务器的接入tconnd向DNSvr上报其是否存活(需要向多个点上报,包括用公网IP上报),如果在一定时间内没有接收到上报或者上报消息中明确所有的逻辑服务器已经挂掉,则自动拉黑相应的IP。如果业务恢复,则自动激活相应的IP。如果项目组接入TGW,对于某个IP和端口是否可用,则需要考虑进程与VIP的映射关系。
3,在tcaplus中缓存灯塔的计算结果。此时要求DNSvr能够根据客户端IP判断所属的国家、省份、运营商和网关(可以通过访问MIG的IP库实现)。如果缓存了灯塔的计算结果,当缓存超时后,要重新从灯塔拉取相应数据。
灯塔的职责:
1,根据客户端IP和服务器接入点IP,返回最优的接入点列表,包括IP的排序,以及客户端接入的国家、省份、运营商、APN和网关。
Tcaplus的职责:
1,保存接入的IP列表和端口、静态策略,或缓存灯塔的计算结果;
主要的流程:
客户端批量解析域名流程
1,TGCP以APN和域名列表为关键字查询缓存,如果存在且没有过期,则直接把IP返回给用户。如果指定强制解析域名列表,则跳过此步骤;
2,TGCP用预配置或缓存的IP向DNSvr发起查询请求,如果成功返回结果,则执行步骤3,否则,重试IP列表中的其它IP,如果都失败,则用域名访问DNSvr。注意:如果是结果格式不正确,则使用上次的IP重试,不要更换IP重试。
3,DNSvr比较客户端IP列表和当前最新的IP列表的MD5,如果相等,则告诉客户端不需要更新本地缓存。否则,TGCP把接入服务器和DNSvr的IP列表写入本地。注意:在访问服务器时,这些IP的优先级要高于静态配置在客户端的IP。
客户端使用域名访问服务器流程
1,如果本地存在有效的IP(即存在对应APN的IP列表,且没有失效),则使用IP访问服务器。
2,否则,发起“客户端批量解析域名流程”后,再访问服务器。
服务器接入tconnd主动上报状态流程:
1,Tconnd周期性向DNSvr上报心跳消息,其中包含本接入点是否可用的信息。
2,DNSvr在一定的时间内没有收到心跳消息或者相应的接入点不可用,则把相应的IP和端口拉黑,黑掉的IP不在下发给客户端。
注意:实际部署的时候,接入的Tconnd要向多个DNSvr接入tconnd上报。
向客户端主动push接入点列表的流程
1,当TGCP连接到服务器接入的Tconnd时,Tconnd要向DNSvr发起请求,以校验当前接入IP的质量和时效性。如果IP列表发生变化,Tconnd要把最新的IP列表下发给客户端缓存起来。
2,当TGCP下次访问服务器时,则使用最新的IP列表。
客户端访问DNSvr失败的流程
1,如果访问DNSvr失败(包括IP+域名),如果配置了本地IP,则直接用IP访问服务器,否则用域名访问。
优化传输层协议设计
在原有tconnd支持的可靠UDP的基础之上,添加以下逻辑:
1,数据压缩;
2,数据加密;
3,合并多个数据包;
4,支持流式数据传输,便于控制每个UDP包的大小,也便于数据加密和压缩;
5,可选地支持改进的拥塞控制算法;
6,即使没有接收到ACK包,也需要主动重试以发送的数据包;
5.2 Hybird开发下的一些优化
要处理在弱网络下的加载速度,那么我们要先确定一下我们的整个APP在哪个地方加载的速度如何,最长的加载路径在哪里,我们从而才有针对性的进行优化与修改。
5.2.1 WebView
如果是对是APP中内嵌的webview网页,针对网页体验优化已经由来已久了。我们可以使用Chrome的开发者模式,调整到Network模式下,将网络条件设置为3G去请求网页,那么我们就能够看出来一个网页加载的速度主要都耗费在哪个地方,如下图所示:
当然,html的加速方式有很多种
1,使用gulpgrunt进行打包压缩:jscss资源压缩,CSS Sprites合并等。
2,使用font-awesome替换图片:字体可以很好的兼容,无限放大,常用的图片都有
应该熟练掌握的基础技能:
HTML4,HTML5语法、标签、语义
CSS2.1,CSS3规范,与HTML结合实现各种布局、效果
Ecma-262定义的javascript的语言核心,原生客户端javascript,DOM *** 作,HTML5新增功能
一个成熟的客户端javascript库,推荐jquery
一门服务器端语言:如果有服务器端开发经验,使用已经会的语言即可,如果没有服务器端开发经验,熟悉Java可以选择Servlet,不熟悉的可以选PHP,能实现简单登陆注册功能就足够支持前端开发了,后续可能需要继续学习,最基本要求是实现简单的功能模拟,
HTTP
在掌握以上基础技能之后,工作中遇到需要的技术也能快速学习。
基本开发工具
恰当的工具能有效提高学习效率,将重点放在知识本身,在出现问题时能快速定位并
解决问题,以下是个人觉得必备的前端开发工具:
文本编辑器:推荐Sublime Text,支持各种插件、主题、设置,使用方便
浏览器:推荐Google Chrome,更新快,对前端各种标准提供了非常好的支持
调试工具:推荐Chrome自带的Chrome develop tools,可以轻松查看DOM结构、样式,通过控制台输出调试信息,调试javascript,查看网络等
辅助工具:PhotoShop编辑图片、取色,fireworks量尺寸,AlloyDesigner对比尺寸,以及前面的到的Chrome develop tools,
FQ工具:lantern, 壁虎漫步
学习方法和学习目标
方法:
入门阶段反复阅读经典书籍的中文版,书籍中的每一个例子都动手实现并在浏览器中查看效果
在具备一定基础之后可以上网搜各种教程、demo,了解各种功能的实际用法和常见功能的实现方法
阅读HTML,CSS,Javascript标准全面完善知识点
阅读前端牛人的博客、文章提升对知识的理解
善用搜索引擎
目标:
熟记前面知识点部分的重要概念,结合学习经历得到自己的理解
熟悉常见功能的实现方法,如常见CSS布局,Tab控件等。
入门之路
以下是入门阶段不错的书籍和资料
HTML先看《HTML &CSS: Design and Build Websites》1-9章,然后《HTML5: The Missing Manual》1-4章。
CSS先看《CSS: The Missing Manual》,然后《CSS权威指南》
javascript先看《javascript高级程序设计》,然后《javascript权威指南》
HTTP看HTTP权威闷核世指南
在整个学习过程中HTML CSS JavaScript会有很多地方需要互相结合,实际工作中也是这样,一个简单的功能模块氏盯都需要三者结合才能实现。
动手是学习的重要组成部分,书籍重点讲解知识点,例子可能不是很充足,这就需要利用搜索引擎寻找一些简单教程,照着教程实现功能。以下是一些比较好的教程网址
可以搜索各大公司前端校招笔试面试题作为练习题或者他人总结的前端面试题还有个人总结的蚂肢面试题(带参考答案)
http://code.tutsplus.com有各种各样的教程
MDN也有很多教程,更重要的是里面有详细的文档,需要查找某个功能时在Google搜索:xxx site:https://developer.mozilla.org
http://www.html5rocks.com/zh/也有很多优质教程
http://www.sitepoint.com/
http://alistapart.com/
原生javascript是需要重点掌握的技能,在掌握原生javascript的基础上推荐熟练掌握jQuery,在实际工作中用处很大,这方面的书籍有《Learning jQuery》或者去jQuery官网
建一个https://github.com/账号,保存平时学习中的各种代码和项目。
有了一定基础之后可以搭建一个个人博客,记录学习过程中遇到的问题和解决方法,方便自己查阅也为其他人提供了帮助。也可以去http://www.cnblogs.com/或者http://www.csdn.net/这样的网站注册账号,方便实用
经常实用Google搜索英文资料应该经常找到来自http://stackoverflow.com/的高质量答案,与到问题可以直接在这里搜索,如果有精力,注册一个账号为别人解答问题也能极大提高个人能力。
经典书籍熟读之后,可以打开前面必备基础技能部分的链接。认真读对应标准,全面掌握知识
继续提高
有了前面的基础之后,前端基本算是入门了,这时候可能每个人心中都有了一些学习方向,如果还是没有。
可以参考前面必备技能部分提到的那两个项目,从里面选一些进行发展学习。以下是一些不错的方面:
Grunt:前端自动化工具,提高工作效率
less css:优秀的CSS预处理器
bootstrap:优秀的CSS框架,对没有设计师的团队很不错,与less结合使用效果完美
requirejs:AMD规范的模块加载器,前端模块化趋势的必备工具
Node.js:JavaScript也可以做后台,前端工程师地位更上一步
AngularJS:做Single Page Application的好工具
移动端web开发:智能手机的普及让移动端的流量正在逐步赶超PC端
Javascript内存管理:SPA长期运行需要注意内存泄露的问题
High Performance JavaScript(Build Faster Web Application Interfaces)
Best Practices for Speeding Up Your Web Site:重要技能
####工具
chrome dev tools:前端开发调试利器,着重注意几个功能:
liveload: 修改页面后自动刷新,不用按F5
dimensions:直接在页面上测量的利器
livestyle:css样式修改后自动起效果,不需要刷新,elements修改后也能同步到代码中
image tool:测量,取色
UC二维码:移动端调试扫码必备
pagespeed,YSlow:页面性能分析和优化插件
马克飞象:优秀的在线markdown编辑器,快速写周报,做记录
watch expression:通过表达式查看当前内存中的值
call stack:查看调用栈,开启async,可以看异步调用栈(这个非常有用,尤其是ajax调试的时候)
scope variables:作用域链上的变量,非常有用
console(废话)
elements:元素样式调整,很常用
sources:代码中添加断点,单步调试,以及单步调试过程中查看内存中的对象
network:抓包查看每个请求,非常重要,前后端联调必备
timeline:分析渲染、js执行等等各个阶段,性能优化利器
emulation:模拟移动端环境,mobile页面开发必备
一些插件:
sublime text2:编码方便,插件多,速度快,性能好
emmet:提升html编码速度必备
sublimelinter + 各种语言的lint和hint:代码纠错
一些snippets:自动补全,提升开发效率
Intellij IDEA和WebStorm:集成开发环境,集成了各种功能,开发比sublime要方便,但会比较吃性能
Mark Men:测量、取色、标注利器,拿到视觉稿之后第一个打开的软件
GFW Fucker:我用红杏,可以的话买个虚拟服务器当梯子
iHosts:非常优秀的hosts管理软件,轻松修改hosts,开发调试必备
Charles:Mac 平台最好用的抓包分析工具
Rythem:AlloyTeam出品的代理抓包软件,非常轻量,安装简单,移动端(真机)开发调试很好用
Wunderlist:一个非常不错的Todo List,任务、需求多的时候管理起来很方便
####技能
前端的技能其实除了JavaScript(包括NodeJS)、HTML、CSS以外,还有很多。其实前端的技能树很大,这里只能列一些我开发中见到的说一说
#####语言基础
JavaScript:
作用域链、闭包、运行时上下文、this
原型链、继承
NodeJS基础和常用API
CSS:
选择器
浏览器兼容性及常见的hack处理
CSS布局的方式和原理(盒子模型、BFC、IFC等等)
CSS 3,如animation、gradient、等等
HTML:
语义化标签
#####进阶
JavaScript:
异步控制(Promise、ES6 generator、Async)
模块化的开发方式(AMD、CMD、KMD等等)
JavaScript解释器的一些相关知识
异步IO实现
垃圾回收
事件队列
常用框架使用及其原理
jQuery:基于选择器的框架,但个人认为不能叫框架,应该算工具库,因为不具备模块加载机制,其中源码很适合阅读钻研
AngularJS/Avalon等MVVM框架:着重理解MVVM模式本身的理念和双向绑定的实现,如何解耦
underscore:优秀的工具库,方便的理解常用工具代码片段的实现
polymer/React: 组件化开发,面向未来,理解组件化开发的原理
CSS和HTML:主要是CSS3的特性和HTML5的特性,以及浏览器处理的流程和绘制原理
DOM树、CSSOM树、渲染树的构建流程及页面渲染的过程
解析HTML、CSS、JavaScript时造成的阻塞
HTML5相关
SVG及矢量图原理
Canvas开发及动画原理(帧动画)
Video和Audio
flex box布局方式
icon fonts的使用
常用NodeJs的package:
koa
express
underscore
async
gulp
grunt
connect
request
一些理念:
响应式Web
优雅降级、渐进增强
dont make me think
网页可用性、可访问性、其中的意义
SEO搜索引擎优化,了解搜索引擎的原理
SPA的好处和问题
性能优化:
减少请求数量(sprite、combo)
善用缓存(application cache、http缓存、CDN、localstorage、sessionstorage,备忘录模式)
减少选择器消耗(从右到左),减少DOM *** 作(DOM和JavaScript解释器的分离)
CSS的回流与重绘
生态系统
npm
bower
spm
搭建一个属于自己的博客
git pages
hexo
jekyll
#####未来
Web Componets:面向未来的组件化开发方式
HTML模板
Shadow DOM
Custom Elements
HTML Import
移动端Native开发:这也是需要了解的,以后前端工程师会经常地和webview打交道,也要了解native开发
HUM战术集1.万金油战术
基本部队组成:大法师(以下称AM)山丘(MK)火q(RM)牧师女巫(男女)
适合争对种族:ORC NE UD(所以称万金油)
优势:拥有移动肉盾-水元素,秒杀工具-MK,高攻击输出-RM,战术辅助补给-男女,水元素的存在使HUM从一开始就拥有优秀的MF能力,当2级水元素出现后,HUM可以MF任何普通的CREEP点;战斗中,水元素可充当强力肉盾,高HP使敌手无法快速的解决掉,而同时水元素的强大穿刺伤害也让无甲部队望而生畏,女猎手(HT)吵梁更是最大的受害者,后期驱散的出现使水元素威力减小,但AM用不完的MANA仍使水元素发挥出及至MK的出现使前期脆弱的HUM 一下子翻身,超高伤害的飞锤成为所以英雄的噩梦,而雷霆一击却让HP稀少的初级兵种完全成为MK的经验值。在AM辉煌光环的照耀下,MK逐渐成为HUM的灵魂,火q一直是HUM玩家的最爱,较高的HP,不俗的攻击力,较快的攻击速度,配合MK的飞锤,简直是英雄的末日,配合女巫的减速,火q也可以玩类似 UD喜欢的ZZ流的HT&RUN。火q的高攻输出也是这个战术的核心之一,成规模的他们可以几乎点杀所有单位。当战斗达到中期之后,辅助魔法的威力渐渐浮出水面。所有种族中,HUM法师的1级技能最具战斗性,无论是医疗还是减速,都大大减少了HUM部队的死亡率,保护好男女法师,就是这套战术成功的关键。
战术变种:加入破法,把MK改成NAGA对抗NE的熊鹿流;升3本出49对抗ORC的嗜血牛头
2.sky流
基本部队组成:大法师 兽王(BM) 步兵(FM) 牧师女巫
适合对战种族:ORC
适合地图:带酒馆地图
战术体系思想:其实SKY流是万金油的一个完美变种,舍去RM这个昂贵的兵种,而使用攻击力相当的升誉运召唤物(水元素,箭猪),同时争对ORC驱魔的脆弱性,大量使用女巫进行减速,同时女巫的魔法攻击对重甲的ORC步兵有200% 伤害,也可作为点杀利器,有人也许会问,ORC不是有2种驱散么。那么我们来如此分析:SHAMAN的净化是WAR3里单体驱散最强的,一次有400的伤害,但不管是水元素还是箭猪,虚李HP都是大于400的,也就是说需要2次驱散,但SHAMAN的MANA除了驱散,还需要闪电盾和嗜血,显然不够用;而具有面驱散的白牛,虽然可以对女巫的减速有效防止,但对召唤物就力不从心了。因此,GRUBBY在对HUM时,会选择大小白一起出,但是对 *** 作要求非常高,因为法师部队的增加会影响作战兵种的数量,此是外话,毕竟世界上只有一GRUBBY。
争对ORC无法召唤减速兼顾的情况下,用廉价的法师和招不完的召唤物慢慢耗死对方,这就是SKY流的精髓。
SKY流注意点:需要很早就出伐木场,既可以快速出箭塔协助防守,又可以减少农民采木的来回时间,无形种增加了采木效率,因为SKY流对木材的消耗远远大于平时,因此有人就在有实验室的地图(TM)上雇佣地精伐木机保证木头供应,同时省出农民速矿。前期大量的FM很重要,MF,骚扰,反骚扰都必不可少,这样才能安全转入法师部队,充当法师的廉价肉盾,中期的侦察很重要,当雇佣了兽王以后,一定要派兽王对ORC的基地侦察一番,看看对手的科技走向,是兽栏还是法师营,当然,兽王可以利用3只箭猪的强大威力,强行拆掉点建筑,当然,适可而止,目的只是探探。兽王的召唤物选择有争对性。如果对手是法师为科技(大都如此),那可以选择鹰作为第二召唤物,兽王3级时选择2级的鹰,反之,可以主修箭猪,鹰作为反隐形工具(争对剑圣),当然选熊也可,不过耗MANA太多,不实用。战斗中法师的位置很重要。SKY流对 *** 作要求很高,不然,闪电冲击波过后,很可能法师部队全部死光,所以群补是必备,因此出现兽王后,应该紧接着MF商店(2英雄出现的时间跟群补的COOLDOWN时间差的不多)。拥有群补外,回城是也必备的。因为在MF时被抓,法师位置不好的话,打击是致命的。
战术变种:出三本招FL火焰领主为三英雄,实现3召唤,同时起49笼出49
3.DEF流
基本部队组成:箭塔 矮人直升机 坦克
适合对战种族:NE UD(UD为变种)
适合地图:较大的,容易使HUM开矿的,如LT GW
战术体系思想:利用HUM前期强大的速矿能力,开出一片矿,然后在每个基地竖起10+的箭塔防守,英雄带少量部队依靠水元素MF提升等级并伺机再次开矿,基地速三本,同时建3~4个兵工场批量生产廉价的直升机N队,当3本竣工后,将直升机的对地能力升级,同时升3攻3防,接着就开始DEF了。不停的用直升机骚扰对手的主矿与分矿,快速的拆对手建筑,让对手无法外出龟缩基地,而自己趁机继续开矿,同时生产强大的攻城武器坦克,直升机稀疏被歼灭后,坦克一涌而上,强拆对方基地,一次不行两次,三次,四次,依靠经济优势击跨对手。后期可以转型74 49等强力兵种,令对手痛不欲生。
战术要点:守住最初的矿区,中期用少量直升机不停侦察对手的行踪以及主力兵种,英雄等级,中期千万不能和对手换经验,否则6级的DH将是坦克杀手。不能拘泥于仅有的矿,一定要善于开矿,并竖大量箭塔。
变种:对UD。改为圣骑士PAL首发,同样强行开矿竖塔,用最快的速度将PAL升到3级,在商店购买隐形、鞋子、无敌、传送权杖,还有一个回城和MANA瓶,然后隐形进入UD矿区,依靠2级的圣光加一下锤子,砍农民,为防止冰冻塔减速,可使用无敌技能或道具,杀光之后传送逃离,如此,反复,将对手经济处于崩溃,英雄等级提不上,而自己基地大力发展坦克大队,成型后,一举强行铲平。
4.其他战术
1)冰火双修:利用AM的暴风雪和BMG的烈焰风暴配合魔免的破法做肉盾,牧师补给的方法进行群伤。在对抗大量近程兵种(如熊)时有很好的效果,对付单纯的远程部队(AC群)效果也不赖,同时也可用于骚扰农民。在HUM内战、2V2中运用比较多,1V1 SOLO较少使用。
2)TOWER RUSH:在TR的近矿是NE或UD时运用较多,利用民兵的速度及攻击力,分批进行强行拆除,配合箭塔的成型,将对手一举在前期歼灭。但争对性太强,使用系数不大。
3)49+74流:HUM内战常用战术,以3本,心灵之火的49和74对拼,缺乏观赏性,胜负存在于 *** 作的一念之间。
4)KUA流:MK与步兵的完美结合,适合菜鸟玩家练习围杀技巧。
NE战术集
1、女猎流
守望者女猎流:APM70的拿手好戏,WD的骚扰,HT的积累,开矿,暴兵,2线
丛林女猎流:showtime的最爱,运用树人迅速开矿,缠绕骚扰对手农民
虎妞女猎流:NE内战的王道,高攻高速,英雄等级比拼,女猎数量比拼
战术体系思想:纯女猎流从ROC起就广为流传,但TFT由于甲的更改,HT的天敌逐渐增多,幸好在初期,HT还是最强的初级兵种,远程的肉搏近战攻击(对农民可是加成伤害的噢),能接受虎妞的光环。作为NE玩家,女猎流应该是最基本的战术了吧,配合不同的英雄,风格迥异。好了,我就专门讲一下如何发展。游戏开始后,4W采金,1W造祭坛,本里出大量 W,出来第一个造月井,第二个探路,第三个采金,其余全采木。当木为160时,同时放下战争古树BR和猎手大厅BH,此时HERO出来,可以选择骚扰。当木满40,补月井一个。接下来,就友一个分支了,那就是科技流还是暴兵流了。科技流的话就再补一个月井,然后第一时间升2本;暴兵流的话就再补一个BR若干BM月井若干小精灵(到处放),当有了少量HT后可以先MF,等到第一个黑夜降临,就冲进敌手基地大肆屠农,没HP就隐身。如果是HUM速矿的话,把 HT分成2队,2线骚扰,让对手忙于来回。
我们要说的是暴兵流,在骚扰的同时,家中利用双BR优势量产HT,除了一部分用于骚扰外,另一部分就外出MF小怪,有机会再偷矿若干。一直等到人口上70,出几辆弩车,大兵进发,胜败在此一举。让女猎淹没对手吧。
2、AC流
相对HT来说,对AC的 *** 作更加难度大,因为AC的HP少,移动慢。但是AC有不可比拟的攻击力、攻击速度、攻击距离。但是高手喜欢用AC,因为便宜,便于攀科技。
娜迦AC流:Podox的夺命杀招,曾经15分钟杀退INSO,10分钟让SHOWTIME缴械
AC 严格意义上说不算战术,在雇佣兵遇到难度的时候,AC就是NE玩家最喜欢的过度兵种,而AC的存活率也侧面反映了一个玩家的水平,利用好AC的隐身,对战局也是至关重要的。而真正把AC作为主力RUSH的还是娜迦AC流。和普通的中立开局一样,兵营-月井-祭坛-月井,只是又补一个兵营,当NAGA出来之后,轻巧的MF,升到2级,这时的AC数量已小具规模,压制,是不二选择,冰箭减速加AC齐射可以点倒任意一个单位,叉型闪电的威力也不容小视,小精灵可以在对手基地附近造起古树商店,给对手以压迫式的感觉,一举将对手扼杀在前期。
3、熊鹿流
NE的主流战术,SUHO大哥的最爱。
熊鹿是科技流,因此前期需要少量兵种过度,AC还是HT,随个人喜好。但是DH的骚扰是比赛的焦点,速攀科技使NE过早的拥有2英雄NAGA,DH+ NAGA的组合可以任意斩杀落单单位,在AC(HT)的配合下,艰难度过中期,家中双BL知识树量产熊德,3本完毕后,随着大师级熊的升级结束,终极兵种出现了��蠹尤肷倭康男÷梗�慷映尚汀?
争对不同族,战术又可能少量变化,比如先出小鹿顶中期,对UD以小鹿为主熊为次,有时可以出3英雄兽王来增加火力。
不过,熊的移动速度慢,很容易被点杀,所以,保存权杖使必备,让DH和NAGA来回使用,争对NAGA跑的慢的特点,还可以为她购买鞋子。
4、玉蝴蝶流
NE小天王freedom的独特战术,暴精灵龙。
从来精灵龙战术就不是个取胜的战术,它的作用是无尽压制,之后你需要灵巧转型击败敌人。昨天我对这战术稍微改进了下(不过对手比较弱,所以不保证战术的含金量),首发黑暗游侠,前期使用少量弓手配合黑暗之奴隶疯狂MF开矿,也就是Moon的Dr滥矿流,只是在远古之树成型后立刻购买地精伐木机,然后垛下4 棵风之古树,然后暴够80来人口的精灵龙,一战取胜,灭此朝食。由于对手是亡灵,前期小狗在弓手与黑暗之奴的攻击下毫无用途,轻松的度过前期,轻松的把握中期,这让我对精灵龙的兴趣不禁多了几分。其实很多时候战术就是个组合与搭配,随心所欲的游戏能给你带来更多的惊喜,前提是你已经对游戏的细节元素了若执掌,所以我们还是先来看看FreeDom当初使用精灵龙对付抽筋王人族Rainbow的景况吧。
前期FreeDom走科技路线,其实首发英雄DH或者WD都是不错的选择,三陪是一定的,若对自己信心不足可以造少量的弓手或雇佣些中立兵种(★战场小帖士:暴雪让野怪将雇佣兵镇守得很好,看似无法偷兵其实不然,只需要用个单位引开中立怪然后趁乱雇佣即可),迅速升级好基地后到酒馆叫出naga海巫——由于战术走压制路线,所以你需要在各方面协调加强这个理念。之后放下3棵风之古树量产精灵龙(造价低廉),同时在猎手大厅升级攻防。获得一定量的精灵龙后与英雄摸佛开矿(经济是为之后的转型准备),之后便将矛头瞄准对手,精灵龙灵活的特性让它们在战场的生还率很高,在配合英雄不停点射火q兵之后,敌人也不得不转型出飞机或是坦克了,这时把队伍恢复到传统的熊鹿流或是弓手混女猎手的组合,比赛就相当好打了。
单看战术体系觉得有些夸大其辞,那么最后我们来了解下精灵龙的属性吧,当清楚它们的“习性”后想必你的疑惑也就释然了。精灵龙的HP450,比小鹿更多。攻击力虽然不是很高,但快速的攻击频率弥补了攻击上的不足,另外,它的技能有[空间转换,魔法反馈,魔法免疫],空间转换为被动技能(开启情况下),一旦被攻击便会暂时消失,这让它们很难被齐射,所以整个队伍的火力承受相当平均,用群疗支持的话是物尽其用!特别是骚扰敌人矿区时,这比亡灵的石像鬼更具灵动的优势。话说回来,回想昨天用蝴蝶海调教亡灵时,发现这个战术的火力并没有想象中那么窝囊,三级攻击让精灵龙的攻击高达20左右,杀起敌人亡羊补牢的蜘蛛来可是眨两眼就是一只,另外亡灵用棺材补给队伍时,在精灵魔法闪耀的电击下更是high到不行……很多时候其实战术本身其实没什么贵贱,看你愿不愿意用而已。
5、吹风流
NE在对战ORC时,很多会选择吹风流,也就是大师级猛禽,依靠不停的吹风让对手的阵型瓦解。
吹风流是前段时间兴起的NE针对ORC驱散能力弱从而暴鸟德升级大师级技能配合召唤物的战术.刚用的时候真是觉得ORC很是脆弱,不堪一击...不过在一段时间后ORCer逐渐适应起来,站稳了脚跟,有了自己的立场,针对性战术也层出不穷,所以感觉有必要详细分析一下吹风流打ORC一些细节的问题,毕竟没有什么战术是能一直稳赢的.随着之间的推移终究会有破解的针对战术产生.只能做到让自己的思路明确“该怎么去WIN”,最后还是要看自己的 *** 作意识和发挥.
上手BA BM 单BR开局,(现在的ORC很多人都会用BM开局,所以建造千万记得保护自己的小精灵,另外不要让自己的英雄卡死在树林里了,有空我会贴出常见的几个位置建造方法,基本都不会有小精灵死亡,另外每个地图上都有很多树木有天然保护精灵的位置,这个就需要自己慢慢习惯了,记得以前有人贴过这类的文章.大家可以去查阅一下.)出的AC全放家里不用出去,够木头了就升基地,家里造满4个人口.DH去找对手的BM或者FS,能抽干最好,抽不干也不要勉强,DH不要废太多血,初期保证自己家里水井的饱满是很重要的.当AC数量有4,5的时候DH就可以回来自己MF了,小心不要贪心或是死脑筋强练大怪,MF的时候要把怪勾出来练,这样怪没血了会跑,自己伤血不多,最重要的是脆弱的AC初期禁不住GRUNT的袭击,这样MF可以让自己在第一时间得到撤退的机会.当然也要小心对方偷大怪的行为,WISP的四处侦察很重要.一有发现对方偷MF大怪,或者偷矿的嫌疑,直接带兵过去抓.恰当地利用隐型的AC会让对手得到致命的打击。
2本完成后,基本有7-8个AC,升级射程,召唤BM.家里只要造1个BW就可以升级基地了,3本必须要好的快,第2个BW有钱再补也一样,鸟德的数量并不是关键,第3英雄FL出的快慢很重要,稍后会提到.现在需要看对手是不是出中立英雄,如果是对方买了NAGA或者地精,最好不要轻易出动.先呆在家里. 地精的话,他一定会来RUSH一波,这时候利用家里的建筑,买血瓶硬顶,那波对 *** 作的需要很高,不过建筑造得好的话,只要不亏太多顶完这波就等于已经胜利了一半了如果是NAGA,他一般都不会冲到你家里面,而是在外面逛,这个时候你就让DH+BM出去3陪他,不要离他太近,他练小怪不用理,练大怪就过去 3陪,必要时才带AC出来,此处忌讳 *** 之过急或是硬拼.地精和NAGA都是没有后期的英雄,ORC如果出这2个英雄,志在打前期中期或者等待机会TR,所以请抱着"顶到后期就能赢"的心态,不陷入对方的陷阱,对手最后那波2BB GRUNT+车子+农民过来的时候,你应该已经有了FL,那个时候FL的火人是非常关键的,经常会发生大家最后全拼完了只剩下火人发威的情况.防TR的时候,先杀兵和英雄,不用心急着管塔,当塔快要好的时候再齐力把塔点掉,另外就算是塔起来了也不要慌,部队先往里跑一下,在家种BC出QML,2BB的 ORC对空能力很弱,你的部队可以选择绕过塔去他家和你在他家和塔之间不让车子顺利到你家,而他家由于农民倾巢出动,防守十分脆弱,你和他对换基地也未尝不是一个很好的选择.
反之,如果对方没有召换中立,出的是SH或者TC的话,那你将有大概2分钟的2 HERO VS 1HERO的时间,好好利用这段时间,不用去压制,你至少可以比他多MF掉一片大怪的精力.当对方的TC或SH出来之后.你又进入了暂时劣势的阶段,还是不要去硬拼,只需要3陪就可以了,这个时候ORC很有可能会去开矿,因此千万不要贪练.哪怕英雄是1,1也无所谓,尽可能的阻止或者延缓对手的MF和开矿的想法.一样思路,FL顺利出来之后,如果他开矿了,利用FL 1级超威力的特点,先MF掉一片野怪(一般选择商店,可以买群防群补)让火人分裂成2个,然后再召唤一个,一共3个火人,不用等吹风升完,就可以冲进 ORC分基地屠杀了,如果前期骚扰得好,这个时候ORC是拼不过你的.牛头或者SH也没有到3,不会有太大的威力,当吹风升完以后,对着英雄,狼骑兵使劲吹吧~你会发觉坚硬的GRUNT是如此的脆弱...
6其他战术:
1) 丛林巨人流:showtime大哥的保留节目,依靠巨人的不停嘲讽让对手不得不在点射上浪费大量 *** 作,而巨人身后的AC小鹿则乘机不停的点杀点杀再点杀,嘿嘿,丛林的缠绕真是无尽其用啊
2) 奇美拉流:不用多说啦,菜鸟最爱。英雄3陪加快攀科技,成型的QML加上角鹰简直是…哎….BUG
3) flyingbug的淫荡流:flyingbug是叔字辈的玩家啦,他的NE也是使的出神入化, ORC战术集
1. 纯暴流
DAYFLY的成名绝技,暴兵RUSH的典范。
开局还是普通的开局,只是补成双兵营,先知3陪骚扰,大G 2线MF,在拥有一队左右大G时,冲进对方阵地,尽量蹂躏了,矿拆建筑,用闪电和狼对付修理的农民。
纯暴流对 *** 作的要求很高,不停拉兵补给。如果一次攻不下,那就选择开矿升本,转型狼骑,升级本里的掠夺技能(使农民,大G,狼骑在攻击建筑时有额外的金钱),以拆建筑为目的。
战术看似简单,却完全抓住了ORC的特点,很好利用了大G前期霸王的优势,速度方面可以靠速度卷轴弥补,战术堪称经典啊。
2. 猥琐流(狼骑流,飞龙流,蝙蝠流)
ROC时代就已经有猥琐流了,不出兵营,速出嗜血的飞龙,中期有强大的shaman做铺垫(ROC时代的shaman是很强滴)
如今,SK.zacard又将猥琐流完美的进化了。开局还是先升基地在造兵营的开局,英雄还是猥琐瓜刀王剑圣(BM),只是在祭坛完工后就要补上一个猥琐道具兽人专卖店。BM出来后,装满道具跑人,名义上是给人做3陪,其实暗地里偷鸡摸狗杀人抢劫无恶不作,疾风猛砍红血的creep或者兵,抢了宝物、书又疾风走人。天黑夜幕降临后,又到猥琐总店购买nike鞋一双,传送杖一个,继续作恶。
2本完毕,选择熊猫/牛头/青蛙男,作为2英雄,带领少量大G偷偷MF,顺便开个矿,而科技选择有狼骑/飞龙/蝙蝠,都是高机动部队啊。
狼骑的话,升完网之后就可以强打了;飞龙和蝙蝠讲究团结就是力量,所以怕被偷袭,新手们喜欢家中竖箭塔玩起DEF流,同时还需要3本(飞龙的毒和蝙蝠的火),成型的飞龙杀农民真是一个爽字啊,配合青蛙男的变形,点英雄跟UD3连杀威力相当;蝙蝠呢,当然是飞机+坦克的综合体了,拆房子快(升3攻更明显)而且还不能修,打了箭塔之后,箭塔会变弱,一整个建筑杀手啊,拆完你建筑,看怎么牛。
委琐的精华就是剑圣的贱啦。
3. 嗜血牛头流
只是一套后期战术,对抗HUM万金油战术到后期的基本形态。闪电加波可以快速的杀死HUM的法师,升了粉碎的牛头人再加上闪电盾就是为克火q而生的。若有大师级的白牛,就跟恐怖了。
当然,不用说都知道,这种组合是陆军霸王,除了空军外,没法破,所以对ORC的侦察很重要,一旦对手出空军,就马上出蝙蝠对空。有时会选择熊猫作为2英雄,同样有杀伤性魔法(比波的优势是可以对空),同样血厚。
让ORC的这种战术成型,就非常难破了;当然想成型,更难。
4.正统流
也就是正统打法啦,祭坛-地洞-兵营-地洞-商店开局,升2本,先知(FS)外出骚扰或MF,2本后根据对手出相应2英雄和科技分支。
对HUM:大G+shaman+投石车,英雄选牛头(TC)
对ORC:大G+狼骑或飞龙,英雄选青蛙男或者熊猫
对NE:大G+投石车+狼骑,英雄TC,青蛙,熊猫,皆可
对UD:大G+shaman+狼骑或飞龙,英雄TC或熊猫(防秒,技能对小G杀伤大)
5.TC猎头流
grubby的常用战术,依靠TC的战争践踏和猎头的点射,快速杀死对手单位。建筑类似,只是在兵营建造时同时建造BM战争磨房,后期大量的加强型嗜血猎头可以非常快的速度点杀单位,效率之高,令人费解。
6.TR(Tower Rush)
TR是传统开局的变种,在升级2本时造好战争磨房,2本后选择青蛙男为2英雄,然后带上4~5个大G,3~4个农民以及2~3个投石车,英雄身上带好,医疗药剂,小蓝,大蓝,速度卷轴。农民在对手基地外围开始造塔,投石车远远拆对手建筑,英雄召唤狼和蛇杖(保持在3~4个),一直挨到箭塔完工,然后慢慢向前推进,继续造箭塔,最后把对手困死在基地之中。
注意要点:尽量不死兵,没血往后拉,然后补,英雄没魔了暂时后退,让箭塔挡一阵,如果对手出攻城武器,优先用投石车砸,用狼咬。确定箭塔优势后,在箭塔后方做上商店,方便补给。同时查看对手有无分矿,以防对手反压。
7.其他战术
1) 科多蝙蝠流:对抗HUM骑士和49时用
2) 萨满巫医流: ROC时代的经典战术,当然现在没用了。
3) 有待补充。。。。。。。。。。
UD战术集
1.纯狗流
UD大师MadFrog给我们演绎了纯狗流的精髓,即,围杀,秒杀.
开局因族而宜,对手是HUM,选择BA祭坛-BZ人口-BC兵营-BZ-BR商店,反之,则先BC后BA.一般情况首发DK,带上骷髅棒,进行3陪活动, 当积攒满升本的木头后,拉部分小G外出双线MF.,这样做到了骚扰MF两不误,同时减少了英雄等级的差距.2本之后,速出LICH,同时升3本,经济允许的话,造BH屠宰场出雕像.DK继续骚扰,LICH带领小G继续MF,坟场升级攻防.3本完成后,升级狂狗,训练小强.接着,战争一触即发.
2.狗流衍生战术
由于小G的脆弱,容易被ORC的W+C,HUM的MK,NE的WARDEN,或者是中立的PANDA群杀.因此很多高手对狗流进行改进.
1) 小G+ZZ的RUSH战术
在传统狗流的基础上,提前建造坟场.拥有7~8的小G后转产ZZ,在LICH出现有可以拥有3~4只ZZ,双英雄带上骷髅棒和MANA瓶(双杀必备),对敌人部队进行RUSH.由于小G死后会成为2具骷髅,所以ZZ的肉盾将会源源不断.HERO的双杀技能配合ZZ点射,可以秒杀任意初级单位,智力英雄.只要阵型良好,一场战役就会决定胜负。
2) 天地双鬼
与madfrog不同,SWEET偏向与2本后出天鬼.天鬼高机动性,高防对空能力超强,对地也不俗,便宜,容易成型,并且可以石像回复术,唯一的不足是HP太短.
当部队成型后,依靠天鬼的掩护,地鬼小G迅速靠近对手的薄弱单位进行围杀,天鬼则集体点杀对手的无甲后攻城单位.
当然,此招的客星就是国宝大熊猫啦…..在对战HUM时就会显得力不从心(MK太猛了)
3) 骷髅海
从前流行的战术,以战养战的典范.常见于UD内战或与ORC对战(驱散是弱项)
首发在传统狗流上可以另外选择DL恐惧,2本之后做下法师营(基地内部)和屠宰场(基地外围)各一,积攒UD男巫升级技能,积攒绞肉车升级挖掘尸体,另外1~2个雕像.当部队成型后,迅速推向对手基地,在他外围将尸体卸下,变成骷髅,不停进攻,一战决出胜负。
3.ZZ流
ZZ流大师莫属gostop了,当年一举成名,ZZ流功不可没。
开局是坟场-兵营-祭坛-人口.若是2小G开局,则有一只ZZ可以外出探路,若是3G开局,那就没的探了。
ZZ流放弃了DK的骚扰而选择MF,ZZ的高攻可以很轻松的MF,骷髅保证了自身部队不消耗任何HP和MP,2本完成后,训练LICH,以及屠宰场的雕像,积攒了7~8个ZZ后,就可以进攻对手基地了.
4.ZZ流衍生战术
1) 小强ZZ流
ZZ流需要肉盾,小小强就是完美的肉盾,这种战术在初期就可以获得一支不俗的2围部队(近战加远程)
2) ZZ憎恶毁灭流
此战术是ZZ流的后续版本.当对手顶住了中期强大的RUSH后,ZZ就不再是主力部队,而毁灭则是替代品,憎恶则是强大肉盾.当ZZ+憎恶+毁灭的3围部队成型配合强大的3英雄,2个字形容:无敌!
5.其他战术
1) 女妖占据流:利用大师级的女妖占据强大的野生单位.曾见于ROC时代shomaru的REP。
2) 2) DEF流:塔度前期.直暴3本冰龙.多见于多人对战。
再给你一些热键的帮助:
基本游戏界面
Alt-F4 or Alt-q -退出Warcraft III.
Alt-O -打开选项菜单
Alt-h -打开帮助菜单
Alt-s -打开存盘菜单
Alt-l -打开读取存档菜单
F6 -快速保存游戏
F10 -打开/关闭主菜单
Ctrl-s -开/关声音
Ctrl-m -开/关音乐
Enter -打开默认的谈话窗口
Shift-Enter -打开对所有游戏里头的人的谈话窗口
Ctrl-Enter -打开对盟友的谈话窗口
Print Screen -将屏幕截图为.TGA格式的文件并保存在你的WC3安装目
录下的SCREENSHOTS目录.
Esc -返回上个菜单
Insert -将镜头向左旋转
Delete -将镜头向右旋转
鼠标轮:上滚-放大镜头
鼠标轮:下滚-缩小镜头
按下鼠标轮: -按住可以移动鼠标来在地图上移动
方向键-可以在地图上移动
基本游戏指令
鼠标 左键单击-选定单位,建筑,按下命令的按钮,指定作用目标.
·选定屏幕上的单位和建筑.
·激活单位的指令按钮.
·确认一个命令的目标,建筑或者宝物,技能的放置地点.
·在英雄的物品栏中使用一个宝物.
·丢弃或者交给其他英雄宝物.
·点击小地图可以将屏幕移动到点击处.
·如果你的部队是混编的,单击其中的一个单位可以激活那组单位以便
使用特殊技能.
右键单击-在目标的单位/建筑,地面,或者小地图上进行智能的活动.
·地面-移动单位到目的地,即使路上有敌人攻击也不还击.
·敌人单位/建筑-攻击目标.
·自己的单位或者友军-跟随目标行动.
·树木/金矿-移动单位到目的地(如果是收集资源单位,则是采集此项资
源).
·地上的宝物-英雄走过去捡起宝物.
·在英雄物品栏里头的宝物-捡起宝物.
·正在确定法术等的目标的时候-取消命令.
·正在确定法术等的目标的时候在小地图上右击-把屏幕移动到小地图
点击的地方.
键盘 Esc -取消指令.
Tab -在编队中的相同单位的小组之间切换.
Alt (如果在发出命令的同时按下) - Overrides formation movement
during an action.
Alt-G -在小地图上发信号.按下后点击小地图确认给盟友发出信号的目
标.
Alt
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)