文章标签 ‘Flash’

[转载]Event类的几个属性 – 赵杰民 – 博客园. var mc:MovieClip = new MovieClip(); mc.graphics.beginFill(0x0066cc); mc.graphics.drawRect(100,100,200,200); addChild(mc); mc.addEventListener(MouseEvent.CLICK,onClick); function onClick(e:MouseEvent):void { trace(e.type) // Event类下的,表示事件的类型 trace(e.bubbles) // Event类下的,指示事件是否为冒泡事件 trace(e.cancelable) // Event类下的,表示是否忽视事件的默认行为 } bubbles  默认false  true 说明可以使用冒泡事件false 说明不可以 cancelable默认false如果不执行默认行为,则此值为 true;否则为 false。它是只读属性如果要修改可以用preventDefault()方法,可以取消默认行为 代码可通过访问 cancelable 属性来检查是否可以阻止任何指定事件对象的默认行为。 cancelable 属性包含一个布尔值,用于指示是否可以阻止默认行为。 您可以使用 preventDefault() 方法阻止或取消与少量事件关联的默认行为。 cancelable 还可以这样理解表示某个事件的默认行为能否被阻止。 true表示可以阻止,false表示不可以。 Event类的eventPhase属性也是只读属性,表示事件流的阶段。1、表示捕获阶段 2、目标阶段 3、冒泡阶段 var sp1:Sprite = new Sprite(); var [...]

2012年2月1日09:53 评论关闭

转载实现Flex的TextArea文本中关键字的高亮显示 – STF – 博客园. 最近做的Flex项目中有一个需求,要求在一个TextArea中输入文本时,当文本中出现SQL关键字(如select,from,where等)时,让这些关键字高亮显示。 经过一个下午的研究最终算是基本上实现了,实现的过程就是一个学习的过程。 前几天机器重装了系统,FlexBuilder要重新装,从官网上下了最新版的FlexBuilder4.6装到机器上,算是尝了鲜,不过感觉和4.5差别并不大。接下来便是一步步实现的过程了。 首先要知道使用TextArea的change事件和TextRange类可以动态更改TextArea部分文本的样式。 ——————————————– mx.controls.TextArea.change 当 TextArea 控件中的文本通过用户输入发生更改时分派。使用数据绑定或 ‏‏‎‎ActionScript 代码更改文本时不会引发此事件。 即使 Event.bubbles 属性的默认值是 true,该控件也会在 Event.bubbles 属性设置为 false 时分派此事件。 事件类型: flash.events.Event.CHANGE 语言版本: 3.0 Player 版本: Flash 9, AIR 1.1 产品版本: Flex 3 ——————————————– mx.controls.textClasses.TextRange TextRange 类提供在 Label、Text、TextArea、TextEditor 和 RichTextEditor 控件中选择和格式化文本范围的属性。 ——————————————– mx.controls.textClasses.TextRange.TextRange(owner:UIComponent, modifiesSelection:Boolean=false, beginIndex:int=-1, endIndex:int=-1) 创建提供文本控件内容子集的新 TextRange Object,包括格式化信息。 参数: owner [...]

2011年12月30日10:24 评论关闭

[转载]常用图表控件总汇 – Eric_ – 博客园. 数据可视化,图形化显示是当前工业领域、商业领域、金融领域等不可或缺的元素,通常采用图表进行数据可视化展示,直观地显示数据、对比数据、分析数据,很多项目开发中都会需求到图表控件,这里简单介绍下各个开发平台下的常用图表控件。 Flash类的图表: 该类图表主要使用Flash Player作为载体,使用XML作为数据输入,优点是可以跨平台、跨浏览器,支持多种开发语言,快速上手且使用简单,支持多种类型的图表、仪表和地图,具备交互功能且可连接多种数据库 1. AnyChart图表控件 AnyChart控件是一款当前流行的数据可视化解决方案,使客户可以创建交互地、生动的图表和仪表、地图。该控件提供极好的视觉外观和配色方案能 够使客户根据不同的需求设计图表,AnyChart是一款跨浏览器的工具,可以被用于Web、Desktop和Mobile应用程序,AnyChart可 运行于当前PC和Mac上所有主流的浏览器,如:Chrome, Safari, Firefox, Internet Explorer和Opera,并且可用于所有移动平台(Android (2.2+) 和 iOS (iPhone, iPad, iPod Touch). )上的主流浏览器,全面支持HTML5和SVG 具体介绍和在线事例请查看>> 2. FusionCharts图表控件 FusionCharts帮助开发人员创建动态的和交互式的图表应用程序,可用于PCs, Macs, iPads, iPhones和其他主流的移动驱动,控件使用Flash和JavaScript(HTML5)来创建图表,使用XML或者JSON作为数据输入,支持 ASP, ASP.NET, PHP, JSP, ColdFusion, Ruby on Rails等脚本语言和多种数据库,支持多种图表类型、仪表和地图。 具体介绍和在线事例请查看>>>> .NET类图表 该 类图表主要是针对.NET平台设计,并不需要Flash Player等作为载体,可直接在WebForm和WinForm窗体上显示,控件提供了直连数据源接口,不需使用XML作为数据输入,可直接绑定各种数 据源到控件,同样支持多种图表、仪表类型,具备各种交互功能,实时数据显示 1. TeeChart for .NET TeeChart for .NET是Steema软件公司的一款老牌图表控件,历经15年,已经被全球多个领域广泛使用,支持WPF, Silverlight,ASP.NET, [...]

2011年10月13日10:29 评论关闭

[转载]如何实现一个c/s模式的flv视频点播系统 – haibindev – 博客园. 如何实现一个c/s模式的flv视频点播系统 一、写在前面 视频点播,是一个曾经很热,现如今依然很热的一项视频服务技术。本人最近致力于研究将各种视频格式应用于点播系统中,现已研究成功FLV, F4V, MP4, TS格式的视频点播解决方案,完全支持以上格式中存放H.264编码视频的情况,并将继续研究其他格式。 这里有一点需要说明的是,F4V本来指的是Adobe基于ISO/IEC 14496-12标准推出来的视频格式,与MP4格式相同,但因为国内许多的视频网站,均把存放H.264编码视频的FLV文件标注为.f4v格式,所以,为了避免更加混淆,我沿用了它们的命名方式,因此,“FLV”将仅指不包含H.264/AAC编码的一般FLV视频。 本文简单介绍如何实现一个简单的基于flv的视频点播系统。 二、FLV格式 FLV(Flash Video)是Adobe公司推出的视频格式,是一种专门用来在网络上传输的视频存储容器格式。其格式相对简单,不需要很大的媒体头部信息,因此加载速度 极快。国内各大视频网站,均有采用FLV格式作为其点播、甚至直播的视频格式。FLV容器格式的主要特点是tag,整个FLV由Video Tag, Audio Tag以及其他Tag组成,没有映射表。 基本上,可以把FLV格式简要画为如下形式: 其中,FLV Header指的是FLV的头部,只有9个字节,和常规的MP4文 件头部相比,这个小太多了。FLV MetaData存放的是一些整个视频文件的媒体信息,包括作者、视频宽高、时长、关键帧列表等等,这些信息对于解析视频文件来说,当然很重要,不过可惜 的是,因为FLV的MetaData是可有可无的,所以有不少FLV没有MetaData,而且即便有,其MetaData中的信息也是不正确的,这导致 MetaData非常不值得信赖。所以,在解析FLV的时候,应该直接忽略FLV MetaData部分,通过遍历FLV的所有Tag,来获取相应的媒体信息。 三、方案 点播系统的实现,有几个关键点,最重要的应该是“播放网络流”和“拖动”这两点。其中,关于“拖动”,由于整个系统是基于网络的,客户端在拖动之后,必须重新向服务器端发送请求,服务器根据客户端的拖动请求,寻找最接近的拖动点,返回可以播放的数据流,从而完成点播拖动。 对于FLV来说,因为其格式简单,头部非常小,而MetaData可以不要,所以只需要寻找到关键帧,然后拼上FLV Header,就可以组成一个可播放的视频文件。如下图所示: 根据FLV格式的特点,已经拖动后生成新的可播放文件的方法,可以将flv点播系统设计成如下方案: 1. 服务器端 首先,解析flv文件,生成flv视频关键帧列表,表明时间和便宜量的对应关系。然后,当接收到客户端发来的数据请求时,根据客户端拖动的时间 点的请求,找出时间距离最近的关键帧,根据偏移量,读取flv的文件数据,然后拼接flv的9字节文件头部(还需要再加上4个字节全零的pre tag size,共13字节),返回。 2. 客户端 客户端需要特别注意的,除了正确的解析视频流并播放,还需要小心时间轴的行进,因为用户拖动的时间位置并不一定是关键帧,所以,需要根据服务器返回的关键帧的真实时间,重新定位播放进度。 四、实现 服务器可以实现为一个http server,只需要提供http下载,在响应下载之前,需要完成之前所描述的逻辑。可以完全自己实现,可以直接使用现有的成熟web server,如果对性能要求很高,强烈推荐nginx,借助于nginx强大的处理性能,通过实现自己的nginx module,可以完成你所有的需求。 客户端播放器,对于不太熟悉播放器开发技术的,可基于libvlc,借助于vlc良好的网络播放能力,基本可以满足需要。

2011年9月21日09:07 评论关闭

[转载]挑战类Flash游戏测试用例设计 – 寻觅2010 – 博客园. 前端时间参与了Flash游戏的功能测试,发现游戏测试的内容比较的繁多,因此总结一下测试用例的编写思路,便于以后能快速进行同类游戏的用例设计。 所测试的Flash游戏类似<雪地漂移上百层>这款游戏,先简介一下这款游戏的需求:这是一款考验快速反应的益智游戏,游戏的过程就是通过控制角色在空中左右平移吃掉屏幕中的上升道具来保证自己一直向上升,如果角色速度减到0然后滞空掉落,将显示角色所达到的最大高度以及得分。 1)首先是游戏初始界面 2)随后进入道具说明界面 3)游戏开始先滑入跑道获取起飞初速度 4)游戏当中左右平移操作 5)挑战失败后的成绩统计 〖备注〗 游戏的安装、卸载、升级的功能不划为本次功能测试的讨论内容。 此款游戏的需求不算太复杂,既没有多种模式的选择(水果忍者游戏),也没有多种关卡设计(祖玛游戏),在测试时偏重操作性及数据正确性。进行功能测试用例编写之前,首先进行测试用例设计: 『首先是基本功能的验证』 测试用例首先应该对基本功能进行覆盖,基本功能就是能保证玩家能够进行一个完整的流程操作,即启动—开始—退出三个基本步骤,然后再根据每一步进行测试项分解: 每个测试项有相应的测试点,比如游戏启动测试项,其测试点根据图标、显示方式、启动时间、按键操作分类后进行测试内容细化: 测试项 测试内容 游戏图标 图标的大小符合需求中的设计 图案跟需求说明书的原型一致 界面显示 在不同的分辨率下显示全屏 启动成功后,光标模型显示正确 启动项检查 启动时间不超过需求中规定的约束值 启动成功后,游戏的进程名没有错误 按键操作 启动过程中通过功能键强制中断 其他的测试点的细则不一一列举,根据游戏中的实际情况进行细化。 『每个界面的测试』 基本功能虽然能保证游戏的操作流程正常,但对于游戏内容的正确性是无法保证的,界面也是玩家在体验过程中会关注的内容,因此对于游戏内容的检查首先应该根据各个界面进行下手,其中每个界面的跳转路径测试,也保证除基本流程之外的分支流程能够正确,其测试项有: 『游戏元素的细分』 界面只是游戏内容的一小部分,实际上游戏内容远不止繁多的界面,通常还有角色人物、道具、音效、成绩、奖惩规则等元素。此款游戏没有生命值的需求,所以奖惩规则没有在测试设计中考虑,根据游戏元素整理的测试项如下: 『占用资源的关注』 游戏的资源占用也属于功能测试的重要内容,测试结果需要在测试报告中记录,通常都是记录游戏的CPU占用及内存消耗,需要注意的是这两项数值都是实时变化的,因此需要记录的数据需要进行筛选,选择重要的初始值和峰值进行记录。 如何才能得到这两类数据的峰值?这需要设计合理的测试场景:1)CPU占用理论上是游戏线程越多,读写数据操作越频繁,则CPU占用的数值就越高,因此CPU占用的峰值测试场景为玩家操作频繁的界面中。2)内存消耗则是根据游戏在运行时加载的资源多少来决定的,因此理论上玩家玩的时间越长,加载的界面、元素越多,内存的消耗就越大,因此峰值的测试场景需要尽量遍历所有界面、接触到所有道具,测试时间也需要在4个小时以上。 『异常场景设计』 异常场景的是对测试用例覆盖率最有效的补充,往往最容易暴露问题的就是异常的操作或环境。用例的设计需要考虑游戏与系统如何进行数据交互、游戏采用框架以及哪些数据需要跟其他软件进行传递的。 测试的Flash游戏运行在Linux环境,与底层系统的交互涉及到操作数据和玩家成绩:操作数据(角色在游戏中的左右移动)是通过pipe管道与底层系统进行交互,玩家成绩(最高高度和最大得分)的则是通过scroe.xml文件进行保存。因此异常场景的测试项有: 此款游戏的测试用例设计思路已经基本完成,然后就需要对每个测试项进行测试点的细化,最后执行测试进行功能验证了。 后记:是否完成了功能验证,就意味着游戏没有严重问题?实际上这款游戏上线之后,根据服务器的一段时间日志统计,并没有多少玩家去玩,虽然游戏不存在影响运行问题,但此款游戏在市场上表现并不成功,我们忽视了游戏开发环节中一项重要的工作,那就是用户体验测试,在完成游戏功能测试之后,应该在公司内部或现网试运行阶段进行游戏体验,收集和筛选反馈建议,查看游戏哪些内容需要丰富以增加用户粘度、是否存在捷径可以刻意降低游戏难度、哪些元素缺少吸引需要去掉等。

2011年8月3日09:02 评论关闭
备案信息:冀ICP备10007948号