真实的数据:检查回放捕捉用户真实的交互,而不是依靠主观反馈或假设。

來源:24直播网
而不是依靠主观反馈或假设 <style> body {font-family: Arial, sans-serif;font-size: 16px;line-height: 1.5em;}h1 {font-size: 28px;font-weight: bold;}h2 {font-size: 24px;font-weight: bold;}h3 {font-size: 20px;font-weight: bold;}p {margin-bottom: 10px;}ul {list-style-type: none;padding-left: 0;}li {margin-bottom: 10px;}a {color: 000;text-decoration: none;p>会话回放是一种技术,它允许我们记录用户在网站上的行为,随后我们可以重播这些录制内容,以观察他们的确切交互。

会话回放提供了以下好处:

  • 捕捉用户行为的精确记录:我们可以看到用户点击了什么、在什么页面上停留了多长时间,以及触发了哪些事件。
  • 深入了解用户的动机:我们可以观察用户做出决策时的表情、手势和目光,从而了解他们的心理。
  • 按需分享和分析:我们可以轻松地与团队成员分享会话回放,并就用户行为进行讨论和分析。

利用真实数据改善用户体验的最佳实践

以下是利用真实数据改善用户体验的一些最佳实践:

1. 设定明确的目标

在收集真实数据之前,确定你要解决的具体问题或要实现的目标非常重要。这将帮助你专注于收集相关数据。 </style>


需求分析的详细分析

从广义上理解:需求分析包括需求的获取、分析、规格说明、变更、验证、管理的一系列需求工程。 狭义上理解需求分析指需求的分析、定义过程。 需求分析就是分析软件用户的需求是什么。 如果投入大量的人力,物力、财力、时间,开发出的软件却没人要,那所有的投入都是徒劳。 如果费了很大的精力,开发一个软件,最后却不满足用户的要求,从而要重新开发过,这种返工是让人痛心疾首的(相信大家都有体会)。 比如:用户需要一个for linux的软件,而你在软件开发前期忽略了软件的运行环境,忘了向用户询问这个问题,而想当然的认为是开发for windows的软件。 当你千辛万苦地开发完成向用户提交时才发现出了问题,那时候你是欲哭无泪了,恨不得找块豆腐一头撞死。 需求分析之所以重要,就因为他具有决策性、方向性、策略性的作用,他在软件开发的过程中具有举足轻重的地位,大家一定要对需求分析具有足够的重视。 在一个大型软件系统的开发中,他的作用要远远大于程序设计。 需求分析阶段的工作,可以分为四个方面:问题识别、分析与综合、制订规格说明、评审。 问题识别:就是从系统角度来理解软件,确定对所开发系统的综合要求,并提出这些需求的实现条件,以及需求应该达到的标准。 这些需求包括:功能需求(做什么)、性能需求(要达到什么指标)、环境需求(如机型、操作系统等)、可靠性需求(不发生故障的概率)、安全保密需求、用户界面需求、资源使用需求(软件运行是所需的内存、CPU等)、软件成本消耗与开发进度需求、预先估计以后系统可能达到的目标。 分析与综合: 逐步细化所有的软件功能,找出系统各元素间的联系,接口特性和设计上的限制,分析他们是否满足需求,剔除不合理部分,增加需要部分。 最后综合成系统的解决方案,给出要开发的系统的详细逻辑模型(做什么的模型)。 制订规格说明书: 即编制文档,描述需求的文档称为软件需求规格说明书。 请注意,需求分析阶段的成果是需求规格说明书,向下一阶段提交。 评审: 对功能的正确性,完整性和清晰性,以及其它需求给予评价。 评审通过才可进行下一阶段的工作,否则重新进行需求分析。 需求分析的方法有很多,这里只强调原型化方法,其它的方法如:结构化方法、动态分析法等,从来没用过这些方法在此不讨论。 原型化方法是十分重要的,原型就是软件的一个早期可运行的版本,它实现了目标系统的某些或全部功能。 原型化方法就是尽可能快地建造一个粗糙的系统,这系统实现了目标系统的某些或全部功能。 但是这个系统可能在可靠性、界面的友好性或其他方面上存在缺陷。 建造这样一个系统的目的是为了考察某一方面的可行性,如算法的可行性、技术的可行性或考察是否满足用户的需求等。 如:为了考察是否满足用户的要求,可以用某些软件工具快速的建造一个原型系统,这个系统只是一个界面,然后听取用户的意见,改进这个原型。 以后的目标系统就在原型系统的基础上开发。 原型主要有三种类型:探索型、实验型、进化型。 探索型:目的是要弄清楚对目标系统的要求,确定所希望的特性,并探讨多种方案的可行性。 实验型:用于大规模开发和实现前,考核方案是否合适,规格说明是否可靠。 进化型:目的不在于改进规格说明,而是将系统建造得易于变化,在改进原型的过程中,逐步将原型进化成最终系统。 在使用原型化方法时有两种不同的策略:废弃策略、追加策略。 废弃策略:先建造一个功能简单而且质量要求不高的模型系统,针对这个系统反复进行修改,形成比较好的思想,据此设计出较完整、准确、一致、可靠的最终系统。 系统构造完成后,原来的模型系统就被废弃不用。 探索型和实验型属于这种策略。 追加策略:先构造一个功能简单而且质量要求不高的模型系统,作为最终系统的核心,然后通过不断地扩充修改,逐步追加新要求,发展成为最终系统。 进化型属于这种策略。 客户与开发人员交流需要好的方法。 下面建议20条法则,客户和开发人员可以通过评审以下内容并达成共识。 如果遇到分歧,将通过协商达成对各自义务的相互理解,以便减少以后的磨擦(如一方要求而另一方不愿意或不能够满足要求)。 1、 分析人员要使用符合客户语言习惯的表达需求讨论集中于业务需求和任务,因此要使用术语。 客户应将有关术语(例如:采价、印花商品等采购术语)教给分析人员,而客户不一定要懂得计算机行业的术语。 2、分析人员要了解客户的业务及目标只有分析人员更好地了解客户的业务,才能使产品更好地满足需要。 这将有助于开发人员设计出真正满足客户需要并达到期望的优秀软件。 为帮助开发和分析人员,客户可以考虑邀请他们观察自己的工作流程。 如果是切换新系统,那么开发和分析人员应使用一下旧系统,有利于他们明白系统是怎样工作的,其流程情况以及可供改进之处。 3、 分析人员必须编写软件需求报告分析人员应将从客户那里获得的所有信息进行整理,以区分业务需求及规范、功能需求、质量目标、解决方法和其他信息。 通过这些分析,客户就能得到一份“需求分析报告”,此份报告使开发人员和客户之间针对要开发的产品内容达成协议。 报告应以一种客户认为易于翻阅和理解的方式组织编写。 客户要评审此报告,以确保报告内容准确完整地表达其需求。 一份高质量的“需求分析报告”有助于开发人员开发出真正需要的产品。 4、 要求得到需求工作结果的解释说明分析人员可能采用了多种图表作为文字性“需求分析报告”的补充说明,因为工作图表能很清晰地描述出系统行为的某些方面,所以报告中各种图表有着极高的价值;虽然它们不太难于理解,但是客户可能对此并不熟悉,因此客户可以要求分析人员解释说明每个图表的作用、符号的意义和需求开发工作的结果,以及怎样检查图表有无错误及不一致等。 5、 开发人员要尊重客户的意见如果用户与开发人员之间不能相互理解,那关于需求的讨论将会有障碍。 共同合作能使大家“兼听则明”。 参与需求开发过程的客户有权要求开发人员尊重他们并珍惜他们为项目成功所付出的时间,同样,客户也应对开发人员为项目成功这一共同目标所做出的努力表示尊重。 6、 开发人员要对需求及产品实施提出建议和解决方案通常客户所说的“需求”已经是一种实际可行的实施方案,分析人员应尽力从这些解决方法中了解真正的业务需求,同时还应找出已有系统与当前业务不符之处,以确保产品不会无效或低效;在彻底弄清业务领域内的事情后,分析人员就能提出相当好的改进方法,有经验且有创造力的分析人员还能提出增加一些用户没有发现的很有价值的系统特性。 7、 描述产品使用特性客户可以要求分析人员在实现功能需求的同时还注意软件的易用性,因为这些易用特性或质量属性能使客户更准确、高效地完成任务。 例如:客户有时要求产品要“界面友好”或“健壮”或“高效率”,但对于开发人员来讲,太主观了并无实用价值。 正确的做法是,分析人员通过询问和调查了解客户所要的“友好、健壮、高效所包含的具体特性,具体分析哪些特性对哪些特性有负面影响,在性能代价和所提出解决方案的预期利益之间做出权衡,以确保做出合理的取舍。 8、 允许重用已有的软件组件需求通常有一定灵活性,分析人员可能发现已有的某个软件组件与客户描述的需求很相符,在这种情况下,分析人员应提供一些修改需求的选择以便开发人员能够降低新系统的开发成本和节省时间,而不必严格按原有的需求说明开发。 所以说,如果想在产品中使用一些已有的商业常用组件,而它们并不完全适合您所需的特性,这时一定程度上的需求灵活性就显得极为重要了。 9、 要求对变更的代价提供真实可靠的评估有不同的选择。 而这时,对需求变更的影响进行评估从而对业务决策提供帮助,是十分必要的。 所以,客户有权利要求开发人员通过分析给出一个真实可信的评估,包括影响、成本和得失等。 开发人员不能由于不想实施变更而随意夸大评估成本。 10、 获得满足客户功能和质量要求的系统每个人都希望项目成功,但这不仅要求客户要清晰地告知开发人员关于系统“做什么”所需的所有信息,而且还要求开发人员能通过交流了解清楚取舍与限制,一定要明确说明您的假设和潜在的期望,否则,开发人员开发出的产品很可能无法让您满意。 11、 给分析人员讲解您的业务分析人员要依靠客户讲解业务概念及术语,但客户不能指望分析人员会成为该领域的专家,而只能让他们明白您的问题和目标;不要期望分析人员能把握客户业务的细微潜在之处,他们可能不知道那些对于客户来说理所当然的“常识”。 12、 抽出时间清楚地说明并完善需求客户很忙,但无论如何客户有必要抽出时间参与“头脑高峰会议”的讨论,接受采访或其他获取需求的活动。 有些分析人员可能先明白了您的观点,而过后发现还需要您的讲解,这时请耐心对待一些需求和需求的精化工作过程中的反复,因为它是人们交流中很自然的现象,何况这对软件产品的成功极为重要。 13、 准确而详细地说明需求编写一份清晰、准确的需求文档是很困难的。 由于处理细节问题不但烦人而且耗时,因此很容易留下模糊不清的需求。 但是在开发过程中,必须解决这种模糊性和不准确性,而客户恰恰是为解决这些问题作出决定的最佳人选,否则,就只好靠开发人员去正确猜测了。 在需求分析中暂时加上“待定”标志是个方法。 用该标志可指明哪些是需要进一步讨论、分析或增加信息的地方,有时也可能因为某个特殊需求难以解决或没有人愿意处理它而标注上“待定”。 客户要尽量将每项需求的内容都阐述清楚,以便分析人员能准确地将它们写进“软件需求报告”中去。 如果客户一时不能准确表达,通常就要求用原型技术,通过原型开发,客户可以同开发人员一起反复修改,不断完善需求定义。 14、 及时作出决定分析人员会要求客户作出一些选择和决定,这些决定包括来自多个用户提出的处理方法或在质量特性冲突和信息准确度中选择折衷方案等。 有权作出决定的客户必须积极地对待这一切,尽快做处理,做决定,因为开发人员通常只有等客户做出决定才能行动,而这种等待会延误项目的进展。 15、 尊重开发人员的需求可行性及成本评估所有的软件功能都有其成本。 客户所希望的某些产品特性可能在技术上行不通,或者实现它要付出极高的代价,而某些需求试图达到在操作环境中不可能达到的性能,或试图得到一些根本得不到的数据。 开发人员会对此作出负面的评价,客户应该尊重他们的意见。 16、 划分需求的优先级绝大多数项目没有足够的时间或资源实现功能性的每个细节。 决定哪些特性是必要的,哪些是重要的,是需求开发的主要部分,这只能由客户负责设定需求优先级,因为开发者不可能按照客户的观点决定需求优先级;开发人员将为您确定优先级提供有关每个需求的花费和风险的信息。 在时间和资源限制下,关于所需特性能否完成或完成多少应尊重开发人员的意见。 尽管没有人愿意看到自己所希望的需求在项目中未被实现,但毕竟是要面对现实,业务决策有时不得不依据优先级来缩小项目范围或延长工期,或增加资源,或在质量上寻找折衷。 17、 评审需求文档和原型客户评审需求文档,是给分析人员带来反馈信息的一个机会。 如果客户认为编写的“需求分析报告”不够准确,就有必要尽早告知分析人员并为改进提供建议。 更好的办法是先为产品开发一个原型。 这样客户就能提供更有价值的反馈信息给开发人员,使他们更好地理解您的需求;原型并非是一个实际应用产品,但开发人员能将其转化、扩充成功能齐全的系统。 18、 需求变更要立即联系不断的需求变更,会给在预定计划内完成的质量产品带来严重的不利影响。 变更是不可避免的,但在开发周期中,变更越在晚期出现,其影响越大;变更不仅会导致代价极高的返工,而且工期将被延误,特别是在大体结构已完成后又需要增加新特性时。 所以,一旦客户发现需要变更需求时,请立即通知分析人员。 19、 遵照开发小组处理需求变更的过程为将变更带来的负面影响减少到最低限度,所有参与者必须遵照项目变更控制过程。 这要求不放弃所有提出的变更,对每项要求的变更进行分析、综合考虑,最后做出合适的决策,以确定应将哪些变更引入项目中。 20、 尊重开发人员采用的需求分析过程软件开发中最具挑战性的莫过于收集需求并确定其正确性,分析人员采用的方法有其合理性。 也许客户认为收集需求的过程不太划算,但请相信花在需求开发上的时间是非常有价值的;如果您理解并支持分析人员为收集、编写需求文档和确保其质量所采用的技术,那么整个过程将会更为顺利。 “需求确认”意味着什么在“需求分析报告”上签字确认,通常被认为是客户同意需求分析的标志行为,然而实际操作中,客户往往把“签字”看作是毫无意义的事情。 “他们要我在需求文档的最后一行下面签名,于是我就签了,否则这些开发人员不开始编码。 ”这种态度将带来麻烦,譬如客户想更改需求或对产品不满时就会说:“不错,我是在需求分析报告上签了字,但我并没有时间去读完所有的内容,我是相信你们的,是你们非让我签字的。 ”同样问题也会发生在仅把“签字确认”看作是完成任务的分析人员身上,一旦有需求变更出现,他便指着“需求分析报告”说:“您已经在需求上签字了,所以这些就是我们所开发的,如果您想要别的什么,您应早些告诉我们。 ”这两种态度都是不对的。 因为不可能在项目的早期就了解所有的需求,而且毫无疑问地需求将会出现变更,在“需求分析报告”上签字确认是终止需求分析过程的正确方法,所以我们必须明白签字意味着什么。 对“需求分析报告”的签名是建立在一个需求协议的基线上,因此我们对签名应该这样理解:“我同意这份需求文档表述了我们对项目软件需求的了解,进一步的变更可在此基线上通过项目定义的变更过程来进行。 我知道变更可能会使我们重新协商成本、资源和项目阶段任务等事宜。 ”对需求分析达成一定的共识会使双方易于忍受将来的摩擦,这些摩擦来源于项目的改进和需求的误差或市场和业务的新要求等。 需求确认将迷雾拨散,显现需求的真面目,给初步的需求开发工作画上了双方都明确的句号,并有助于形成一个持续良好的客户与开发人ONT> 要想说什么是好的需求分析,不如说什么是不好的需求分析,知道什么是不好的,自然也就知道了什么是好的。 以下就是一些不好的情况:(1)创意和求实 毋庸质疑的,每个人都会为自己的一个新的Idea而激动万分,特别是当这个Idea受到一些根本不知道你原本要干嘛的人的惊赞时。 但是请注意,当你激动得意的时候,你可能已经忘了你原本是在描述一个需求,而不是在策划一个创意、创造一个概念。 很多刚开始做需求分析的人员都或多或少的会犯这样的错误,陶醉在自己的新想法和新思路中,却违背了需求的原始客观性和真实性原则。 永远别忘了:需求不是空中楼阁,是实实在在的一砖一瓦。 (2)解剖的快感 几乎所有搞软件的人,做需求分析的时候,一上来就会把用户告诉你的要求,完完整整的作个解剖,切开分成几个块,再细分成几个子块,然后再条分缕析。 可是当用户迷惑的看着你辛辛苦苦做出来的分析结果问你:我想作一个数据备份的任务,怎么做?这时,你会发现,需要先后打开三个窗口才能完成这个任务。 永远别忘了:分解是必需的,但最终的目的是为了更好的组合,而不是为了分解。 (3)角度和思维 经常听到这样的抱怨:“用户怎么可以提出这样苛刻的要求呢?”。 细细一了解,你会发现,用户只不过是要求把一个需要两次点击的功能,改成只有一次点击。 这样会导致需要改变需求、改变编码、甚至重新测试,增加工作量。 可是,如果换个角度来想想,这个功能,开发的时候只用了几次、几十次,可是用户每天都要用几百次甚 至几千次几万次,改动一下就减少了一半的工作量,对他来说,这样的需求难道会苛刻吗? 永远别忘了:没有任何需求是不对的,不对的只是你的需求分析。 试着站在用户的思维角度想想,你的需求分析就会更加的贴近用户,更加的合理。 软件应该是以人为本的。 (4)程序员逻辑 从程序员成长为系统分析员是一个普遍的轨迹,但并不是一个好的程序员就必然能成为一个好的系统分析员。 一些程序员的固化逻辑,使得他们在做需求分析的时候往往钻进了一些牛角里面。 比如说1/0逻辑(或者是说黑白逻辑),认为不是这样就是那样,没有第三种情况。 可实际情况往往是,在一定的时候是这样,其它时候是那样。 又比如穷举逻辑,喜欢上来就把所有一二三可能的情况列举出来,然后一个一个分别处理,每个占用三分之一的时间;可是实际的情况往往是,三分之一的情况占了99%的比例,其它两种情况一年都不会遇到一次。 实际中还有很多这样的例子,不一一列举了。 永远别忘了:需求分析和程序设计不尽相同,合理、可行是才是重要的。 跳出程序设计的圈子,站在系统的角度上来看问题,你的结论会截然不同。

谁有FreeBSD的使用手册啊?

24.4 拨入服务Contributed by Guy Helmer. Additions by Sean Kelly. 为拨入服务配置FreeBSD系统与连接到终端是非常相似的,除非您正在使用 modem来拨号而不是终端。 24.4.1 外置vs.内置modem外置modem看起来很容易拨号。 因为,外置 modem 可以通过储存在非易失性的RAM中的参数来配置,它们通常提供指示器来显示重要的RS-232信号的状态。 不停闪光的信号灯能给用户留下比较深刻的印象,而且指示器也可以用来查看modem是否正常地工作。 内置modem通常缺乏非易失性的RAM, 所以对它们的配置可能会限制在通过 DIP 开关来设置。 如果您的内置modem有指示灯,您也很难看得到。 24.4.1.1 Modem和线缆如果您使用一个外置的 modem,那您将需要适当的电缆线。 一个标准的串口线应当足够长以至普通的信号能够连接上:表 24-4. 信号名称缩写 全名 RD 收到数据 (Received Data) TD 传出数据 (Transmitted Data) DTR 数据终端就绪 (Data Terminal Ready) DSR 数据集就绪 (Data Set Ready) DCD 数据载波检测 (Data Carrier Detect) (RS-232 的收到线路信号检测器) SG 信号地 (Signal Ground) RTS 要求发送数据 (Request to Send) CTS 允许对方发送数据 (Clear to Send) FreeBSD 对速度超过 2400 bps 的情形需要通过 RTS 和 CTS 信号来完成流控制, 通过 CD 信号来检测呼叫响应和挂机,并通过 DTR 信号来在会话结束时对调制解调器进行复位。 某些电缆在连接时没有提供全部需要的信号, 这会给您带来问题, 例如在挂断时登录会话不消失,这就有可能是电缆的问题。 与其它类 UNIX? 操作系统类似, FreeBSD 使用硬件信号来检测呼叫响应, 以及在挂断时挂断并复位调制解调器。 FreeBSD 避免发送命令给调制解调器, 或监视其状态。 如果您熟悉通过调制解调器来连接基于 PC 的 BBS 系统, 这可能看起来有点难用。 24.4.2 串口的考虑FreeBSD支持基于 NS8250, NS, NS 和 NSA 的EIA RS-232C通讯接口。 8250和设备有单字符缓冲。 设备提供了一个 16 个字符的缓冲,可以提高更多的系统性能。 因为单字符缓冲设备比 16 个字符的缓冲需要更多的系统资源来工作,所以基于A的接口卡可能更好。 如果系统没有活动的串口, 或有较大的负载, 16 字符缓冲的卡对于低错误率的通讯来说更好。 24.4.3 快速预览对于终端, init 会在每个配置串口上为每个拨入连接产生一个 getty 进程。 例如, 如果一个 modem 被附带在 /dev/ttyd0 中,用命令ps ax可以显示下面这些: 4850 ??I0:00.09 /usr/libexec/getty V ttyd0当用户拨上modem, 并使用它进行连接时, CD 线就会被 modem 认出。 内核注意到载波信号已经被检测到, 需要完成 getty 端口的打开。 getty 发送一个登录:在指定的初始线速度上的命令行。 Getty 会检查合法的字符是否被接收,在典型的配置中, 如果发现 “垃圾”, getty 就会设法调节线速度,直到它接收到合理的字符。 用户在键入他/她的登录名称后, getty执行/usr/bin/login, 这会要求用户输入密码来完成登录,然后启动用户的shell。 24.4.4 配置文件如果希望允许拨入您的 FreeBSD 系统, 在 /etc 目录中有三个系统配置文件需要您关注。 其一是 /etc/gettytab,其中包含用于 /usr/libexec/getty 服务的配置信息。 其二是 /etc/ttys, 它的作用是告诉 /sbin/init 哪些 tty 设备上应该运行 getty。 最后,关于端口的初始化命令, 应放到 /etc/rc.d/serial 脚本中。 关于在 UNIX 上配置拨入调制解调器有两种主要的流派。 一种是将本地计算机到调制解调器的 RS-232 接口配置为固定速率。 这样做的好处是,远程用户总能立即见到系统的登录提示符, 而其缺点则是,系统并不知道用户真实的数据速率是多少, 因而, 类似 Emacs 这样的程序, 也就无法调整它们绘制屏幕的方式, 以便为慢速连接改善响应时间。 另一种流派将调制解调器的 RS-232 接口速率配置为随远程用户的连接速率变化。 例如, 对 V.32bis (14.4 Kbps) 连接, 调制解调器会让自己的 RS-232 接口以 19.2 Kbps 的速率运行, 而 2400 bps 连接, 则会使调制解调器的 RS-232 接口以 2400 bps 的速率运行。 由于 getty 并不能识别具体的调制解调器的连接速率反馈信息, 因此, getty 会以初始速度给出一个 login: 提示, 并检查用户的响应字符。 如果用户看到乱码, 则他们应知道此时应按下 Enter 键,直到看到可以辨认的提示符为止。 如果数据速率不匹配, 则 getty 会将用户输入的任何信息均视为 “乱码”, 并尝试以下一种速率来再次给出 login: 提示符。 这一过程可能需要令人作呕地重复下去, 不过一般而言,用户只要敲一两下键盘就能看到正确的提示符了。 显然, 这种登录过程看起来不如前面所介绍的 “锁定速率” 方法那样简单明了, 但使用低速连接的用户,却可以在运行全屏幕程序时得到更好的交互响应。 这一节将尽可能公平地介绍关于配置的信息,但更着力于介绍调制解调器速率随连接速率变化的配置方法。 24.4.4.1 /etc/gettytab/etc/gettytab是一个用来配置 getty 信息的 termcap 风格的文件。 请看看 gettytab 的联机手册了解完整的文件格式和功能列表。 24.4.4.1.1 锁定速度的配置如果您把您的modem的数据通讯率锁定在一个特殊的速度上, 您不需要对 /etc/gettytab 文件作任何变化。 24.4.4.1.2 匹配速度的配置您将需要在 /etc/gettytab 中设置一个记录来告诉 getty 您希望在 modem 上使用的速度。 如果您的 modem 的速率是 2400 bit/s, 则可以使用现有的 D2400 的记录。 ## Fast dialup terminals, 2400/1200/300 rotary (can start either way)#D2400|d2400|Fast-Dial-2400:\:nx=D1200:tc=2400-baud:3|D1200|Fast-Dial-1200:\:nx=D300:tc=1200-baud:5|D300|Fast-Dial-300:\:nx=D2400:tc=300-baud:如果您有一个更高速度的 modem, 必须在 /etc/gettytab 中添加一个记录。 下面是一个让您可以以最高 19.2 Kbit/s 的用在 14.4 Kbit/s的modem上的接口记录:## Additions for a V.32bis Modem#um|V300|High Speed Modem at 300,8-bit:\:nx=V:tc=std.300:un|V1200|High Speed Modem at 1200,8-bit:\:nx=V300:tc=std.1200:uo|V2400|High Speed Modem at 2400,8-bit:\:nx=V1200:tc=std.2400:up|V9600|High Speed Modem at 9600,8-bit:\:nx=V2400:tc=std.9600:uq|V|High Speed Modem at ,8-bit:\:nx=V9600:tc=std.:这样做的结果是 8-数据位, 没有奇偶校验的连接。 上面使用19.2 Kbit/s的连接速度的例子,也可以使用 9600 bit/s (for V.32), 2400 bit/s, 1200 bit/s,300 bit/s, 直到 19.2 Kbit/s。 通讯率的调节使用 nx= (“next table”) 来实现。 每条线使用一个 tc= (“table continuation”) 的记录来加速对于一个特殊传输率的标准设置。 如果您有28.8 Kbit/s的modem,或您想使用它的 14.4Kbit/s 模式,就需要使用一个更高的超过 19.2 Kbit/s 的通讯速度的 modem。 这是一个启动 57.6 Kbit/s 的 gettytab 记录的例子:## Additions for a V.32bis or V.34 Modem# Starting at 57.6 Kbps#vm|VH300|Very High Speed Modem at 300,8-bit:\:nx=VH:tc=std.300:vn|VH1200|Very High Speed Modem at 1200,8-bit:\:nx=VH300:tc=std.1200:vo|VH2400|Very High Speed Modem at 2400,8-bit:\:nx=VH1200:tc=std.2400:vp|VH9600|Very High Speed Modem at 9600,8-bit:\:nx=VH2400:tc=std.9600:vq|VH|Very High Speed Modem at ,8-bit:\:nx=VH9600:tc=std.:如果您的 CPU 速度较低, 或系统的负荷很重, 而且没有 A 的串口,您可能会在57.6 Kbit/s 上得到 “sio” “silo”错误。 24.4.4.2 /etc/ttys/etc/ttys文件的配置在 例 24-1中介绍过。 配置 modem 是相似的, 但我们必须指定一个不同的终端类型。 锁定速度和匹配速度配置的通用格式是:ttyd0 /usr/libexec/getty xxx dialup on上面的第一条是这个记录的设备特定文件 —— ttyd0 表示 /dev/ttyd0 是这个 getty 将被监视的文件。 第二条 /usr/libexec/getty xxx 是将运行在设备上的进程 init。 第三条,dialup,是默认的终端类型。 第四个参数, on, 指出了线路是可操作的 init。 也可能会有第五个参数, secure, 但它将只被用作拥有物理安全的终端 (如系统终端)。 默认的终端类型可能依赖于本地参考。 拨号是传统的默认终端类型,以至用户可以定制它们的登录脚本来注意终端什么时候拨号, 和自动调节它们的终端类型。 然而,作者发现它很容易在它的站点上指定 vt102 作为默认的终端类型,因为用户刚才在它们的远程系统上使用的是VT102模拟器。 您对/etc/ttys作修改之后,您可以发送 init 进程给一个 HUP 信号来重读文件。 您可以使用下面的命令来发送信号:# kill -HUP 1如果这是您的第一次设置系统, 您可能要在发信号 init 之前等一下,等到您的 modem 正确地配置并连接好。 24.4.4.2.1 锁定速度的配置对于一个锁定速度的配置,您的 ttys 记录必须有一个为 getty 提供固定速度的记录。 对于一个速度被锁定在 19.2kbit/s 的 modem, ttys 记录是这样的:ttyd0 /usr/libexec/getty std. dialup on如果您的 modem 被锁定在一个不同的数据速度, 为 使用适当的速度来代替 std.。 确信您使用了一个在 /etc/gettytab 中列出的正确的类型。 24.4.4.2.2 匹配速度的设置在一个匹配速度的设置中,您的 ttys 录需要参考在 /etc/gettytab 适当的起始 “auto-baud” 记录。 例如, 如果您为一个以 19.2 Kbit/s 开始的可匹配速度的 modem 添加上面建议的记录, 您的 ttys 记录可能是这样的:ttyd0 /usr/libexec/getty V dialup on24.4.4.3 /etc/rc.d/serial高速调制解调器, 如使用 V.32、 V.32bis, 以及 V.34 的那些, 需要使用硬件 (RTS/CTS) 流控制。 您可以在 /etc/rc.d/serial 中增加 stty 命令来在 FreeBSD 内核中, 为调制解调器设置硬件流控制标志。 例如, 在 1 号串口 (COM2) 拨入和拨出设备上配置 termios 标志 crtscts, 可以通过在 /etc/rc.d/serial 增加下面的设置来实现:# Serial port initial configurationstty -f /dev/ crtsctsstty -f /dev/ crtscts24.4.5 Modem 设置如果您有一个 modem, 它的参数能被存储在非易失性的 RAM 中,您将必须使用一个终端程序来设置参数 (比如 MS-DOS? 下的 Telix 或者 FreeBSD 下的 tip)。 使用同样的通讯速度来连接 modem 作为初始速度 getty 将使用和配置 modem 的非易失性 RAM 来适应这些要求:连接时宣告 CD操作时宣告 DTR; DTR 消失时挂断线路并复位调制解调器CTS 传输数据流控制禁用 XON/XOFF 流控制RTS 接收数据流控制宁静模式 (无返回码)无命令回显请阅读您 modem 的文档找到您需要用什么命令和 DIP 接口设置。 例如,要在一个 U.S. Robotics? Sportster? 的外置 modem 上设置上面的参数,可以用下面这些命令:ATZAT&C1&D2&H1&I0&R2&W您也可能想要在 modem 上寻找机会调节这个设置, 例如它是否使用 V.42bis 和 MNP5 压缩。 外置 modem 也有一些用来设置的 DIP 开关, 也许您可以使用这些设置作为一个例子:Switch 1: UP —— DTR NormalSwitch 2: N/A (Verbal Result Codes/Numeric Result Codes)Switch 3: UP —— Suppress Result CodesSwitch 4: DOWN —— No echo, offline commandsSwitch 5: UP —— Auto AnswerSwitch 6: UP —— Carrier Detect NormalSwitch 7: UP —— Load NVRAM DefaultsSwitch 8: N/A (Smart Mode/Dumb Mode)在拨号 modem 上的结果代码应该被 禁用/抑制, 以避免当 getty 在 modem 处于命令模式并回显输入时错误地给出 login: 提示时可能造成的问题。 这样可能导致 getty 与 modem 之间产生更长的不必要交互。 24.4.5.1 锁定速度的配置对于锁定速度的配置, 您需要配置 modem 来获得一个不依赖于通讯率的稳定的 modem到计算机 的传输率。 在一个 U.S. Robotics Sportster 外置 modem 上, 这些命令将锁定 modem 到计算机的传输率:ATZAT&B1&W24.4.5.2 匹配速度的配置对于一个变速的配置, 您需要配置 modem 调节它的串口传输率匹配接收的传输率。 在一个 U.S. Robotics Sportster 的外置 modem 上, 这些命令将锁定 modem 的错误修正传输率适合命令要求的速度,但允许串口速度适应没有纠错的连接:ATZAT&B2&W24.4.5.3 检查modem的配置大多数高速的modem提供了用来查看当前操作参数的命令。 在USR Sportster 外置modem上, 命令 ATI5 显示了存储在非易失性RAM中的设置。 要看看正确的 modem 操作参数, 可以使用命令 ATZ 然后是 ATI4。 如果您有一个不同牌子的 modem, 检查 modem 的使用手册看看如何双重检查您的 modem 的配置参数。 24.4.6 问题解答这儿是几个检查拨号modem的步骤。 24.4.6.1 检查FreeBSD系统把您的modem连接到FreeBSD系统, 启动系统, 然后, 如果您的 modem 有一个指示灯,当登录时看看 modem 的 DTR 指示灯是否亮: 会在系统控制台出现命令行——如果它亮, 意味着 FreeBSD 已经在适当的通讯端口启动了一个 getty 进程, 等待 modem 接收一个呼叫。 如果DTR指示灯不亮, 通过控制台登录到 FreeBSD系统,然后执行一个 ps ax 命令来看 FreeBSD 是否正在正确的端口运行 getty进程。 您将在进程显示中看到像这样的一行:114 ??I0:00.10 /usr/libexec/getty V ttyd0115 ??I0:00.10 /usr/libexec/getty V ttyd1如果您看到是这样的:114 d0I0:00.10 /usr/libexec/getty V ttyd0modem 不接收呼叫, 这意味着 getty 已经在通讯端口打开了。 这可以指出线缆有问题或 modem 错误配置, 因为 getty 无法打开通讯端口。 如果您没有看到任何 getty 进程等待打开想要的 ttydN 端口, 在 /etc/ttys 中双击您的记录看看那儿是否有错误。 另外,检查日志文件 /var/log/messages 看看是否有一些来自 init 或 getty 的问题日志。 如果有任何信息, 仔细检查配置文件 /etc/ttys 和 /etc/gettytab,还有相应的设备文件 /dev/ttydN,是否有错误,丢失记录,或丢失了设备指定文件。 24.4.6.2 尝试接入Try Dialing In设法拨入系统。 确信使用8位, 没有奇偶检验, 在远程系统上的1阻止位。 如果您不能立刻得到一个命令行, 试试每隔一秒按一下 Enter。 如果您仍没有看到一个登录: 设法发送一个 BREAK。 如果您正使用一个高速的 modem 来拨号, 请在锁定拨号 modem 的接口速度后再试试。 如果您不能得到一个登录:prompt,再检查一下 /etc/gettytab,重复检查:在/etc/ttys 中指定的初始可用的名称与 /etc/gettytab 的一个可用的相匹配。 每个 nx= 记录与另一个 gettytab 可用名称匹配。 每个 tc= 记录与另一个 gettytab可用名称相匹配。 如果您拨号但 FreeBSD 系统上的 modem 没有回应, 确信 modem 能回应电话。 如果 modem 看起来配置正确了, 通过检查 modem 的指示灯来确认 DTR 线连接正确。 如果您做了好几次,它仍然无法工作,打断一会,等会再试试。 如果还不能工作,也许您应该发一封电子邮件给 FreeBSD 一般问题邮件列表 寻求帮助。

悬100答好追加求关于网页面板和文字方面美化的建议

和过去的Macromedia Flash产品一样,当你看到Macromedia Flash MX 2004能做什么的时候 你铁定也傻了眼。 这个版本(包括Flash MX 2004 特别专业版)更加确定了Macromedia Flash 的多功能网络媒体开发工具(RIA)的地位。 Macromedia Flash支持多功能网络媒体并且在网络上运行良好,不过实际上你从Flash 4的时候就能做这些了。 但用户们对你的产品有更多的期待,他们想马上获得及时的信息并清楚显示出来,不管这些受不受到完全的控制,他们也希望产品能够实用并且便于使用。 所以,要想应付这些期望,你需要控制住产品开发的每个方面:数据连接,视觉表现和高质量的RIA,以及视频。 你的制作时间终究是有限的,所以改进效率是一直所提倡的,Macromedia Flash MX2004就成功地提供了这些极限的需求。 ----------它是一个被控物体----------成为一个被控物体是很好而且很有意思的。 这次的更新应该满足有这种需要的开发者,设计师,产品经理和通过给与更多控制的最终用户,这种控制是从外部数据读入Macromedia Flash,控制你如何给该用户或者整体用户群表达信息。 数据控制: 数据榜定组件数据就好比你RIA生存需要的氧气,你的产品只能和表现的数据所关联。 现在,所有的网络服务都可以通过SOAP协议完成目的,你可以用Flash Remoting来连接网络服务,但现在你可以用Flash MX 2004内提供的更简单的数据组件来完成。 数据组件不是用户可以看得到的,更确切地说,使用它们,你只要确认外部数据源(例如XML或者网络服务)并且提供一些参数,所有的连接处理,数据交互和解析都由组件来完成。 如果你熟悉Macromedia的FireFly组件,你就会明白像连接元件,处理元件和数据组(描述和处理数据细节的工具)新的组件面板是一个和数据组件交互信息的命令中心,已经确定的组件有改良版ListBox,DataGrid和三个新的文本组件。 图1.新的组件面板,显示了绑定在Numeric Stepper和一个文本框之间的XML连接组件组件面板上一些很酷的特性包括:1. 允许你连接可视组件和数据的数据绑定,所以他们会保持同步;2. 只有在数据变动的时候处理,这样可以保持最小的网络利用率;3. 查错选项可以保证字段的数据类型,邮政编码,电话号码和其他拟定义在ActionScript里的数据正确性;4. 格式化选项会自动解析数据并在你的定义下显示。 所有的数据导入和操作是很棒的,但最后还是要你把数据表达给用户。 数据组件只能够处理数据,是把代码从表现物所分离出来的建筑学模型。 自然,你也可以定义数据提供者给Macromedia Flash UI 组件(例如ListBox)。 因为UI组件都重写了,所以你不用去写新的元素去表达你的数据。 如果你想要自定义这些,也有几个方法。 这固然重要,但设计师和程序员的分界更重要—这样才是好的产品设计。 保持你可视物件层和数据层不在同一个层上,可以在数据变化的时候更容易修改。 相反,他也更容易修改可视物件和用户界面而不用去管和数据相关的代码。 ----------可视化控制:叠层样式表(CSS),图像和文字----------叠层样式表(CSS)不管你把可视物件看作是设计师还是程序员的角色,你都要有个控制,在文字的显示区域,你会发现有些惊人的特性。 可能最吸引人的改进就是文本区的CSS改进了。 表面上这只是TextFormat对象的改进,一个你用来控制格式的脚本,然而,CSS已经走得更远了一些,现在已经可以让你导入CSS文本并使用在你的网站上了。 还有a:hover也将被支持,它允许你快速的加入文本按钮的浮动状态效果。 注意你不能像HTML那样包含CSS,但它还是非常实用的特性。 HTML嵌入图片Macromedia决不会忽略新版本对HTML的支持。 这大概是第二酷的文本相关的特性了!大家看着三个字 “src”,这说明了什么?你将可以在文本区内直接嵌入JPG,SWF或者内部标号。 文本流将会按图2格式显示。 你甚至可以使用嵌入的SWF的代码,例如让开始停止动画。 图2:图片在文本区嵌入,文本自动的在图片周围格式化。 小,但清晰,字体你也许会发现有很多字体相关的改进,确实,文字是最好的交流方法,可以在狭小的空间内表现详细的信息。 不用怀疑你已经看到的小字看起来失真,那是因为抗锯齿的缘故。 许多用户在这方面已经有所努力,查找在小尺寸看起来依然清晰的字体。 不过现在,你只要通过一个点击就可以完成这一步,想要让小字清晰吗?只要点下属性面板上的Alias Text按钮,接着你就可以设置了。 文本韵律精确控制文本的显示现在通过改进的字体韵律支持可以做到了。 在过去,getTextExtent()只会返回一行的宽和高,而且不是很准确!新的属性(包含ascent和descent)使得复杂的版面变为可能。 和像素起舞:没有多余的像素位移如果你已经听到某人站起来尖叫“Yes!”,那也许就说明他已经学会了Macromedia Flash Player7不会再有微小的像素图位移。 尽管这也许会减少你公司的“巫婆”对你产品的诅咒,但他确实减少了很多,最起码你客户不会再提这事了……。 ----------用户控制:Macromedia Flash Player 7----------虽然所有新的特性都很让人兴奋,但不要忘记如何把你的产品作的更实用一些。 除了错误修正和运行效率提高,Macromedia Flash Player 7也有许多是用户可以控制的。 例如,浏览用户可以通过右键菜单点击一个连接打开一个新窗口—现在他们可以做,在Flash将有新的选项:打开,在新窗口打开,还有拷贝连接。 右键菜单用户们也希望可以有对右键菜单的支持。 现在你可以在动态自定义你的菜单了,例如,如果你想要给用户通过点击右键一个方法,因为它是动态的,这些按钮可以依靠用户点击内容而动态改变。 但只有一个内容你会一直看到“About Macromedia Flash Player”(不幸啊……)自动更新为了帮助用户保持最新版本的补丁,Macromedia Flash Player 7现在包含了自动更新特性,这个播放器每周都会检测一次新版本并且指导用户尽可能通过一个方便的更新途径来更新,这意味着用户们将会得到最新版本的执行效率和安全性的提高而不用开发者用他们自己的方法来给用户升级播放器。 有能力的用户可以控制检测周期和一些其他高级设置。 只要在浏览器内右击Flash影片,选择”Settings”,点击”Advanced”按钮,然后你就可以访问Macromedia上的一个SettingManager来帮助你的设置。 这里,你可以选择”Global Privacy Setting”来管理网站设置,包括摄像机,麦克风和本地Shared Object的存储量-----视频控制:质量和传输选项-----当初人们首次看到真正的视频在Flash MX中,我已经想不起来有多少埋怨声了。 Macromedia显然在这方便有些不足,因为你可以发现视频上的各方面改进:改进了程序,质量和传输选项。 导入向导表面上来看,这个导入向导似乎是给新手用的,可是,一些高级的特性像从影片里提取部分片断到Movieclip中也同样的加入了一些特效:像染色和截取,适应位置。 当你设置一个你喜欢的设置组合时,你可以存储为一个用户文件。 可能最吸引人的特性是你可以锁定数据的传输率,Macromedia Flash 可以调整视频的带宽和质量通过level来供你设置。 在过去,目标用户的视频流得经得起时间和错误的考验。 Flash 视频 (FLV) 导出工具视频质量也好了很多,看起来更清晰并且播放的更快了一些。 最后的控制,你将会通过Macromedia Flash MX2004专业版,因为它支持Flash视频(FLV)的导出,它支持很多流行的数码格式包含Avid Media 压缩和Xpress DV,苹果Final Cut Pro和Discreet Cleaner。 你不但可以选择你自己喜欢的编辑器来编辑源视频,还可以获得额外的压缩,这些都不是在Flash 内部所完成的。 然后就是变数播放率(VBR),它意味着播放率是可以调节的,这些你可以从图3看到。 图 3. Flash 视频 (FLV) 压缩工具运行时支持FLV第三方工具所压缩的漂亮的FLV文件现在也可以不用额外的程序而播放了。 在过去你还要把他们导入并且制作成SWF才可以播放(依靠SWF重新压缩),或者用Macromedia Flash Communication Server(但你必须使用真正的视频流)。 导入和播放FLV是非常巨大的工作量!所以这个特性减少了制作时间并且让你的产品具有很好的模块性。 例如视频制作者可以及时导出FlV并提供给你,你就直接可以显示出来了。 媒体组件播放一个外部的FlV需要你比写一个读mp3的ActionScript要多一点,如果你不喜欢总是重写这些代码,你会喜欢这个新的面向音频和视频媒体组件的。 起初我想“我能写这个脚本阿!”,不过这个东西可以做的非常完美。 他运行得很好,它简化了流程(你只要给他个你要播放的文件的名字即可),而且他包含了一些不错的特性,例如暗点同步。 也许你还想自定义他的皮肤或者希望稍微不同的特性,我怀疑你将会得到一些错误在他们的设计上,请尝试一下吧!----------项目控制:流程,自定义代码和准确度---------- 即使你是一家小网络服装店一样的开发团队,在你处理Flash项目的时候你也需要像特种部队一样的精神。 Macromedia Flash MX 2004有工具来帮助你的团队。 项目窗口制作一个稍微大点的项目几乎都会介入一个团队。 即使你自己一个人工作,新的项目面板帮你管理着所有项目相关的文件。 对于工作组,你可以check out和锁定文件,这样你的组员就不能够覆盖相同文件名的文件。 项目面板使用和Dreamweaver MX相同的结构,所以它很像是给Dreamweaver用户使用的,它也可以让项目面板扩展为版本控制工具。 ActionScript 2 新版本的ActionScript(AS2) 使得大型复杂的产品更加好管理,也提供了一些人可以炫耀的途径。 首先,AS2还是会支持你Flash Player 6。 这意味着你可以开始学习AS2即使你的客户还没准备好说要让他们的客户支持Flash Player 7。 虽然整体来说是完全符合ECMA标准的,但还是有些有意思的东西在新的AS2中。 严格的数据类型构造使得你的代码更清晰,而且你可以更详细的编译错误。 同样,一些新的类声明是固有的组件,因为他们都存储在外部文件中。 你可以混合和匹配地创建类,例如,你可以从一个类扩展一个读图片的类,让它也可以读声音,并且播放声音。 写类文件就好比在用ActionScript语言创造你自己的库一样。 关于时间--拼写检查工具终于,Macromedia Flash 有了一个拼写检查工具。 虽然我不确定人是不是很完美,但这意味着你不会再打错字了。 并且,还要说,你已经有了一个可以查找和替换的工具,因为……像很多独特的Macromedia Flash 特性一样,你不只是可以查找文字,而且可以查找字体使用或者在图片中特定的颜色。 虽然这些特性都放在了“关于时间”这章,他们确实是可以减少你的产品制作时间。 ----------一些有助于产品的特性---------- 对于我来说,代码提示和代码完善也许一直是最大的减少制作时间的因素。 这些小特性合计起来也算是一个真实的改进,我在这章关注的这些特性将会真正的减少你的制作时间,减少你鼠标点击率,减少你受挫折的感觉。 我打赌这些很多都不是在纸上谈兵,而且我觉得他们是提供给Flash 老手用的。 吸附排列你知道“Snap to Object”有多实用吗?新加入的“Snap Align”特性也是这么有用并且强大。 它是很简单华丽的……我恐怕我不能简单的解释这个了。 简单说,你现在可以选择并且移动对象,而且你可以看到有虚线显示在附近的对象旁,这是非常直观而且实用的。 如果你不爱上这个特性的话恐怕你不是人类吧……图 4. 吸附排列一些特性会导致的冲突这里有一个列表是我其他比较喜欢的特性:1, 所有打开的文件会按照一个标签按钮显示,这样你就可以很快的在文件中切换或者迅速的存储它们。 (Macromedia Flash MX 专业版2004也提供给你专门存储ActionScript的AS文本)2, 信息面板有一个嵌入选项是更改比率的,这样你输入数字以后图像的比例就不会变了;3, 数据类型构造(AS2的特性)加入了有利于定义变量名称的代码提示。 例如,“var myS:String=”phil””然后你输入“myS.”之后就可以看到对于这个字符串类型的相关代码提示了4, 界面上的面板现在是可以以边缘吸附的了,就像Dreamweaver的一样(这个特性只支持Microsoft Windows平台)历史面板最后一个减少产品时间的因素我要说是历史面板,他可不只是一个美化了的“UNDO”工具,虽然它也可以那么做。 在历史面板内产生的代码使用了“JavaScript Flash Language”(JSFL)语言,它控制着Macromedia Flash的工作区域。 JSFL使得你可以你可以完成重复的或者复杂的工序(DS:就好像PS的Action)几乎任何你通常用手完成的开发工作现在你可以记录并且使用脚本回放出来。 历史面板内也使用相同的语言记录了你的每一步动作。 图5. 历史面板-------扩展Macromedia Flash:自定义并且简化你的工作流程---------- 这里有个新闻:Macromedia Flash是可以扩展的!这意味着你可以自定义工作区,创建命令自动化你的工作流程,并且安装别人制作的插件。 我猜这意味着没人知道在未来的几个月里你到底能用Flash MX 2004可以做出什么来,有些人也许还在研究如何自定义工作流……JSFL 命令历史面板可以让你用Javascript Flash (JSFL)像宏一样执行命令。 注意观察我画了一个方形以后请参看图6的一些历史面板的状况变化。 图 6.历史面板记录了操作的历史你不只是可以在历史面板里逐步执行,你也可以自己选择几行来存储命令,或者更进一步,拷贝JSFL并且编辑后执行一个命令,这些是稍微动态一些的。 例如。 这里有一些代码是画一个在舞台后面的遮罩。 1 var width=();2 var height=();3 ()({left:-500, top:-500, right:width+500,bottom:height+500}, 0);4 ()();5 ()({left:0, top:0, right:width, bottom:height});6 ()();认为这些代码看起来很复杂吗?其实不然,大家看我怎么弄。 首先我通过画一个方形创造了一个处理描述,选择一个区域,然后取消选择。 然后我拷贝在历史面板里的JSFL。 我不需要担心场景大小,因为我想我的命令可以自适应任何场景尺寸。 我替换了开头两个数字为两个代表场景长宽的属性(是在文档里找到的)。 你可以在命令菜单中运行这段代码或者其他的JSFL代码。 只要存储JSFL文件并读入Flash中,或者读入你已经放进Flash环境中的SWF。 你在过去也许能安装Window SWFs,但现在你可以用代码控制你打开文件,实际上JFSL可以,创建,打开并且存储Flash MX 2004文件,甚至有可能启动并且执行JSFL在没绑定的Macromedia Flash MX 2004中。 虽然JSFL不可避免会出现一些问题,但我保证你看到的将会是一些非常酷的工作方法自动在你的工作流程中执行。 XML 转换为 UI 对话框虽然JSFL包含真正的命令影响Flash 的工作流程,但你还是要经常通过用户界面打开他们,这就是XML到UI所涉及的。 这对你来说是一个传统的方法可以定义输入机构—总体操作窗口。 例如,我能把上面的遮罩的例子命令放入一个对话框中,用户可以通过这个新的UI元素更改这个遮罩的填充颜色(我的例子只简单的使用了当前的颜色填充)行为实际上,如果我想要为我的例子增加一个面板我可能会把它做成SWF,但XML到UI更适合做行为。 你也许起初会认为行为是一个新手ActionScript插入向导,但实际上,我发现他们更加的有用,可以插入我使用的代码片断。 行为只是一个ActionScript执行的界面,你可以通过对话框输入参数并且通过同样的行为界面重编代码。 自定义工具面板这是另一个你可以扩展Flash的工具,选择Edit>Customize Tools Panel,然后你将发现你如何管理和增加新的工具。 虽然你只能在这个版本内发现一个特殊的叫PolyStar的,我可以保证你马上会看到其他经典的。 顺便,你可以学习PolyStar是如何通过类代码嵌入的。 自定义工具对程序来是不是很难的。 例如,我看到过一个扩展了基本直线工具的可以自动画箭头,就跟你用手画的一样。 另一个是做了一个3D的方块,基本上没什么算法,就是JSFL,和XML到UI(有参数的对话框)准备好一些灵活的插件和更多开发者一起参予这些可扩展的特性吧,你将会看到更多的工具出现来解决这些。 假想一下,如果有人现在想到了一个建议给Macromedia Flash开发组来改进,你也许会听到人家这样说:“你自己去做好了!”。 当然Macromedia Flash会继续开发,但他会以新的不可思议的面貌出现。 ---------更多!更多!更多: Top 50 个特性的开始---------- 当然,一个文章不可能覆盖每个方面,但我还要想要成为第一个介绍你这些我说到的或者没说到的酷特性的人。 这里只是我TOP50特性的开始,一个我保证会接下去的列表:· 字符串面板和对Unicode的支持,对地区性语言的表现。 · 新特性帮你抓取Mp3的ID3数据而不用下载整个文件。 · 新运行时FLV支持也意味着你可以在视频播放时开启嵌入的事件,这些事件像暗点,但你可以在用Flash Communication Server录制的时候即时动态插入他们。 · 新的组件和改进后的组件,虽然我已经过了这个。 这些组件不只是具有好看的皮肤,而且具有数据绑定功能,他们也支持“.”语法访问,例如,使用++ 替换原来的 (()+1)· 你喜欢的特性:“Let Macromedia know” 也是在Flash MX 2004中很有用的工具我还能写出来,但我想说出关键: Macromedia Flash MX 2004普通版和专业版将会扩展你想做的以及客户想要从你的多功能网络产品中看到的。 还有,上面也说了,新版本让你控制代码和数据,控制你的设计和媒体,以及控制你如何去工作。 DS:深感Flash MX 2004的核心方向开始进化,虽然还没有我期待的3D支持,也没有右键屏蔽(似乎是不太可能了),不过Macromedia所带给我们的是一个产品经济,是未来网络产品迅速发展的有力工具,希望大家合理使用。

更新时间:2024-10-10 19:16:45