首页 » 技术分享 » 2011年11月01日

2011年11月01日

 

2011年11月01日

  重要提醒:系统检测到您的帐号可能存在被盗风险,请尽快查看风险提示,并立即修改密码。 | 关闭

  网易博客安全提醒:系统检测到您当前密码的安全性较低,为了您的账号安全,建议您适时修改密码 立即修改 | 关闭

  1、 Timer,setinterval,enterFrame的使用方法和区别?

  1>使用指定的 delay 和 repeatCount 状态构造新的 Timer 对象。计时器不会自动启动;必须调用 start() 方法来启动它。

  2>用法 1:下面的示例每隔 1000 毫秒(1 秒)调用一个匿名函数。

  setInterval( function(){ trace("interval called"); }, 1000 );

  用法 2:下面的示例定义两个事件处理函数并调用它们中的每一个。第一个 setInterval() 调用将调用 callback1() 函数,该函数包含 trace() 语句。 第二个 setInterval() 调用将 "interval called" 字符串作为参数传递给函数 callback2()。

  3>播放头进入新帧时调度。如果播放头不移动,或者只有一帧,则会继续以帧速率调度此事件。此事件为广播事件,这意味着具有注册了此事件的侦听器的所有显示对象都会调度此事件。

  2、 什么是Flex?

  Flex 是一个高效、免费的开源框架,可用于构建具有表现力的 Web 应用程序,这些应用程序利用 [b]Adobe Flash Player[/b]和 [b]Adobe AIR[/b], 运行时跨浏览器、桌面和操作系统实现一致的部署。虽然只能使用 Flex 框架构建 Flex 应用程序,但[b]Adobe Flash Builder[/b][b]?[/b](之前称为 Adobe Flex? Builder?)软件可以通过智能编码、交互式遍历调试以及可视设计用户界面布局等功能加快开发。

  3、 写出加载并显示远程图片的as3代码,并阐述在何种场合会遇到跨域问题?应如何解决?

  4、 写代码画出A,B,C,D,E,F六个矩形,位置随机并进行碰撞检测,要求代码运行高效。

  5、 小球每隔10帧其透明度从0变到1,再从1变回0;。

  6、 冒泡排序。

  7、 求1-200万之间有多少个1?

  8、 Bitmap与BitmapData有什么区别?(3)

  9、 请说出FlashBuilder4中以下快捷键的作用?(5)

  Ctrl+F、Alt+/、Ctrl+/、Ctrl+Shift+C、F11。

  10、 请你说出对as3接口和抽象类的理解?(7)

  11、 编写程序计算从2002到2011这10年总共有多少天。(6)

  12、 实现"演示.exe"中的类三维旋转效果。

  注意

  1."试题.fla"中提供了完成该试题需要的图形和元件,可以在此基础上进行制作。

  2.该效果只允许使用Action Script脚本实现,不可手工画出来。

  3.考试时间为3小时,若在规定时间内未能完全实现要求的功能,则实现多少就告知我们你实现了多少,并确保所实现的功能能够正常运行。

  4.完成测试后回复.FLA源文件。

  5.如果对题目有疑问请及时提出。

  13、 加载5张图片,列表排列在舞台的顶部,点击小图出现大图,点击大图,大图消失。

  14、 你的5(或3)年前景规划和在5(或3)年后在flash行业要达到的目标(及个人职业规划)?

  建议:

  1.尽量选择有自主产品的公司,而非单纯的外包公司。(有自己的产品,代表你可以对你自己的产品进行持续维护和改良,对你自身的编程能力是一种持续性的提高)

  2.尽量选择待成长型的公司,而并非公司越大越好。(成长型的公司往往产品更有创意,开发成本更小,效率更高,有利于你在短时间内积累更多的作品)

  3.尽量远离广告制作公司。

  15、 你对个人的评价(性格、职业、技能等)?

  16、 Flash Programming Project

  Basic test:

  Draw a rectangle on the stage.

  When a user presses down on the mouse, create a ball inside the rectangle.

  When the user releases the mouse, the ball should drop.

  The ball should bounce when it hits the walls of the rectangle.

  The user must be able to create as many balls as he wants.

  For extra credit: make the ball dynamics as realistic as possible and add more user interaction. Examples:

  Set random initial speeds for the balls, or an initial speed based on mouse movement.

  Take into account gravity and friction.

  Change the bounciness of the balls.

  Requirements:

  Object oriented AS3, show that you can use classes.

  Compile for Flash Player 10.

  Efficient use of memory and CPU.

  Embed your swf in an HTML document that we can see in any browser.

  Working Model

  答案大意:点击舞台生成一个小球,跟随你的鼠标。松开鼠标的时候,小球自由落体,底部及四周都有挡板,小球接触时需要和它们有弹性正碰

  17、 写段代码.实现可以正确输入计算机的IP地址。

  18、 Sprite、MovicClip、shape的区别?

  Shape:创建简单形状;

  Sprite:不需要时间轴的对象的相应基类;

  movieclip:不同于 Sprite 对象,MovieClip 对象拥有一个时间轴;

  Sprite与shape:前者也包括 graphics 属性,并且它包括不可用于 Shape 类的其它功能。 例如,Sprite 对象是显示对象容器,而 Shape 对象不是(并且不能包含子显示对象)。 由于此原因,Shape 对象会比包含相同图形的 Sprite 对象消耗的内存少。 但是,Sprite 对象支持鼠标单击事件,而 Shape 对象不支持。

  Sprite与movieclip:sprite是去掉了时间轴的MovieClip;movieclip是动态类,而sprite不是;

  19、 Loader与URLLoader的区别?

  a.所在包不同

  b.应用范围

  Loader: swf,图片(jpg,png,gif)

  URLLoader:文本文件(xml,php,jsp…)

  20、 下面的输出结果是什么,为什么?

  var a = Number(10);

  var b = int(10)

  trace(a ===b);

  答案:true

  21、 注册点和中心点的区别和联系

  答案:在FLASH IDE下控制元件的坐标,参照点是元件信息面板上选择的参照点,默认是元件中心点;控制元件缩放,参照点是元件中心点,也就是圆圈所在位置;使用AS控制元件的坐标和缩放,参照点都是元件的注册点,也就是元件上的十字标记。

  22、 flash事件对象的target与currentTarget属性的区别?

  target属性在事件流的目标阶段,而currentTarget属性在事件流的冒泡阶段(如currentTarget有时指父级)或目标阶段(两属性的指向相同),当然也可以是捕获阶段。

  23、 请问 undefined 、 null和NaN是否一样,如果不一样能否说出其中的区别呢?

  答案:不一样,null是没有值的意思。undefined是申明未完成,或者类型未定等情况。

  NaN:不是个数字

  24、 Math.round( ), Math.floor( ) 和Math.ceil( ) 三个方法都是四舍五入,请问有什么区别? Math.round(-11.5)==-11的值是多少?

  答案:都是取整:round 是取靠近最近整数;floor向下取 整;ceil向上取整

  Math.round(-11.5)==-11

  25、 flash与flex是如何协调开发的?

  这个问题可以这样来理解,如果是确实需要用到FLEX SDK的应用,那我们就可以建立一个flex工程,具体需要flash做UI的时候,输出成swc作为flex的skin,如果说并不需要flex sdk,只是为了编码方便而选择flex的话,那我们只要建立一个as工程,让flex作为flash的编码器。

  26、 获取加载的SWF的信息:获取被加载SWF的帧频。

  27、 请问 trace( NaN == NaN ) 结果为true 还是false,为什么? NaN具有独特的数学属性,任何涉及该属性的比较运算都计算为false。改用全局isNaN()函数检测NaN值

  trace(NaN==NaN);//false!

  trace(NaN!=NaN);//还是false!

  trace(isNaN(NaN));//true

  28、 写个单例?

  package {

  public class MySubClass {

  private static var mySubClass:MySubClass; public function MySubClass() { if (MySubClass.mySubClass!=null) { throw new Error("只能产生一个实例");

  }

  }

  public static function getInstance():MySubClass

  {

  if (mySubClass==null) {

  mySubClass = new MySubClass();

  }

  return mySubClass;

  }

  }

  }

  29、 请解释下单例模式

  单例模式,是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为,简化了在复杂环境下的配置管理。

  实现单例模式的思路是:一个类能返回对象一个引用(永远是同一个)和一个获得该实例的方法(必须是静态方法,通常使用getInstance这个名称);当我们调用这个方法时,如果类持有的引用不为空就返回这个引用,如果类保持的引用为空就创建该类的实例并将实例的引用赋予该类保持的引用;同时我们还将该类的构造函数定义为私有方法,这样其他处的代码就无法通过调用该类的构造函数来实例化该类的对象,只有通过该类提供的静态方法来得到该类的唯一实例。

  30、 请解释下自定义事件机制

  事件在代码中表现为事件对象,必须是flash.events.Event类或其类的子类的实例。还可以通过dispatchEvent()方法手工派发事件, 所有事件派发的子类都可以调用此方法。基本语法如下:

  objectInstance.dispatchEvent(new Event("event_type"):Boolean

  参数event_type是Event对象的type属性.可以使用此方法派发任意事件, 而不仅仅是用户自定义事件。

  当需要在事件对象中加入额外的属性或方法时,就需要自定义事件类,自定义事件需要使用静态的常量属性,从而更方便快捷的进行各个类之间的调用

  31、 请解释下MVC模式

  MVC(Model-View-Controller),即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层――模型层、视图层、控制层。

  视图(View):代表用户交互界面,MVC设计模式对于视图的处理是限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。

  模型(Model):业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC的核心。

  控制(Controller):可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求,但是它却不做任何的数据处理。

  它的优势在于:开发人员可以只关注整个结构中的其中某一层,可以很容易的用新的实现来替换原有层次的实现,可以降低层与层之间的依赖(脱耦),有利于标准化,利于各层逻辑的复用

  32、 说说就你所知道的用flash做网站建设的优缺点

  优点:全面的控制更丰富的媒体内容、更体贴用户的流畅交互、跨平台和瘦客户端的支持、以及与其它Flash应用方案无缝连接集成等

  限制:受带宽与下载时间的限,下载速度有时候很慢;受搜索引擎的限制,现在大部分的搜索引擎搜不到Flash站点信息,但是google搜索引擎已经解决了这个问题。

  33、 代码var f:Function;trace((f=function(){return 10},f()/2)); 输出什么?

  34、 请问我现在有一个正方形的图片,我想把他做成圆形,有什么办法呢?

  35、 写出数学Math类中的常用函数及角度与弧度的转换公式?

  弧度=角度 * Math.PI/180;

  36、 下列哪些是 actionscript的关键字()

  A、break B、function C、default D、void

  37、 旋转数组数据。(函数的应用)

  38、 Var arr:Array = [[0,0,0,0],[0,1,1,0],[0,0,1,1],[0,0,0,0]]

  39、 按↑的键,这个数组里面的数据,变成:

  [[0,0,1,0],[0,1,1,0],[0,1,0,0],[0,0,0,0]]

  [[0,0,0,0],[1,1,0,0],[0,1,1,0],[0,0,0,0]]

  [[0,0,0,0],[0,0,1,0],[0,1,1,0],[0,1,0,0]]

  [[0,0,0,0],[0,1,1,0],[0,0,1,1],[0,0,0,0]]

  40、 计算1-20万中有多少个1。(程序越少越好)正则

  41、 写一个视频播放器,包括视频总时间和播放时间,加载进度,播放进度,暂停,回放与停止。可以拖动播放进度条实现视频的拖动播放。

  42、 as3怎样连接数据库?

  答:as3 要和数据库通信 一般通过第三方语言 比如jsp php 等。

  43、 多场景如果互相切换?

  答:通过nextscene()函数

  或者用Loader 加载另外的swf文件 来场景切换。

  44、 怎么获取舞台居中的位置??

  答:mc.x=stage.StageWidth/2,mc.y=stage.StageHeight/2

  45、 了解as3与PHP通信么?

  主要用到 urlloader urlrequest urlvariable等类 用urlrequest.data 属性和Urlrequest.method等属性 来和php传参数。

  Php里面 发送什么 as就可以接收到什么 这样可以实现as3和php的通信。

  46、 谈谈对A*寻路算法的理解

  答: 一个估值函数 f(n)=g(n)+h(n)

  g(n)就是当时目标的位置到指定点的位置的一个值

  h(n)就是指定点的位置到目标点的位置的的一个值

  47、 as2与as3.的最主要区别是什么?

  答:as2和as3最大的区别在于 as2是面向过程的 as3是纯面向对象的

  As3增加了很多新的东西 比如正则表达式 ,垃圾回收机制,增加了很多error类。里面的函数架构变了很多 顶级函数缩减了很多 as3的架构更合理

  as2和as3是完全不同的语言,几乎没有兼容性,as2编译用AVM1,as3用AVM2,速度快,提供了一些基础异常处理,as3是纯oop,强类型语言。

  48、 请说下你理解AS3的事件机制是什么机制?你认为正确的就可以说出来. 答:从应用程序到最外层的容器在到容器里的组件或容器遍历注册的事件,然后按照原路返回冒泡响应事件。建立一个完整的事件机制需要四个步骤:注册侦听、分发事件、侦听事件、移除侦听。建立成功后,触发事件,事件流会进行捕获、目标和冒泡三个阶段。捕获阶段由FP沿显示列表从根容器往下层层寻找触发事件的目标对象,找到后即进入目标阶段。然后,事件对象从目标对象再次沿显示列表往上移动至根容器,遇到注册侦听的节点就调用侦听函数。如果想中途中断冒泡,可以使用stopPropagation。

  AS3事件流分三个阶段:

  1.捕获阶段 (即由根节点流向子节点,检测每个节点是否注册了监听器)

  2.目标阶段 (激发在目标对象本身注册的监听程序)

  3.冒泡阶段 (从目标节点到根节点,检测每个节点是否注册了监听器)

  当中涉及了两个属性target和currentTarget,target是事件的派发者,currentTarget是正在检测的对象,当开始了事件流,事件的currentTarget属性处于不断变化中.

  49、 as3.0垃圾回收器是如何工作的?

  flash player 8之前采用的是引用计数法,在flash player 8 之后用的是标记法,简单的说就是:从应用的根节点开始,遍历所有其上的引用,标记每个它所发现的对象。然后迭代遍历每个被标记的对象,标记它们的子对象。这个过程第归进行,直到Player遍历了应用的整个对象树并标记了它所发现的每个东西。在这个过程技术的时候,可以安全地认为,内存中那些没有被打标记的对象没有任何活动引用,因此可以被安全地释放内存。一般来说,flash player采用的是一种低频的垃圾回收机制,Flash Player的垃圾回收发生在Flash Player需要另外请求内存之前。但并不是每次应用申请内存时都会导致垃圾回收的执行,只有当Flash占用的内存紧张到一定程度时才会执行真正的垃圾回收,一定程度上取决于客户端计算机的物理内存的大小。

  50、 什么是游戏引擎和对他的认识?

  答:是指应用通常游戏设计的模型构建一个“平台“,能够

  方便的支持游戏开发后续的工作。引擎就是“用于控制所有游戏功能的主程序,从计算碰撞、物理系统和物体的相对位置,到接受玩家的输入,以及按照正确的音量输出声音等等

  51、 使用Flex Bulider3建立一下新的.mxml的页面时默认的背景是蓝色的,请问用什么办法能修改掉此背景颜色,以至于下次创建时背景不是为默认的蓝色的呢?请写出你认为正确的方法.

  答:修改sdk\frameworks\projects\framework\default.css里Application的backgroundColor: #0000FF;

  52、 使用Flex Bulider3如何跟踪程序?

  答:我知道的三种1.trace() 2.设置断点 3.当不在调试模式时可以调用Alert.show()或js的alert() 如:navigateToURL(new URLRequest("javascript:alert(traceMsg)"), "_self");

  53、 如果避免内存泄露?

  注意不要循环引用,特别是在使用Timer的时候要格外注意,不要忘记全局对象上的引用的清除,在创建控制器和模型的时候要注意一定要使用单件模式。在addEventListener时候尽量采用弱引用、自引用、或者子对象引用,在使用bitmapdata的时候要用dispose来释放所占用的内存,在从服务器上加载视频流后要close流,以避免内存泄漏。

  54、 flex和后台语言是如何交互的?

  remote object 或者是Http service或者Web service。

  55、 请问enterFrame和timerEvent这2个事件有什么区别? enterFrame:播放头进入新帧时调度。如果播放头不移动,或者只有一帧,则会继续以帧速率调度此事件。此事件为广播事件,这意味着具有注册了此事件的侦听器的所有显示对象都会调度此事件

  timerEvent:它的启动是通过start()方法,暂停是通过stop()方法来实现。它的调用是运行的时间每次达到delay时调度

  56、 请问怎么样检测本机的内容呢,比如说,我想知道本机的操作系系,是否有视频等这些.

  答:flash.system.Capabilities.os 是系统类型

  flash.system.Capabilities.playerType 是视频播放器类型

  57、 请问我想判断一个字符或者一个对象的类型怎么判断呢?

  答:typeof(obj)

  58、 我想在某一点不去执行任何内容,也就是说我想停止执行了,你知道要怎么做嘛?

  答:设置断点

  59、 flash事件对象的target与currentTarget属性的区别?

  target属性在事件流的目标阶段,而currentTarget属性在事件流的冒泡阶段(如currentTarget有时指父级)和目标阶段(两属性的指向相同),当然也可以是捕获阶段。

  60、 parseInt此方法转化为int型的方法,请问你知道此方法的第二个参数是什么意思?

  答:进制 2 8 16 等

  61、 请问一个数组里可以放不同的类型嘛?

  答:可以 var x:Array = ['a',1,new Button()];

  62、 如何获取系统里的字体?

  import flash.text.Font;

  var fontList:Array = Font.enumerateFonts(true);

  fontList.sortOn("fontName", Array.CASEINSENSITIVE);

  for each (var font:Font in fontList)

  {

  trace(font.fontName);

  }

  63、 FileReference对象的几个相关的事件?

  select, cancel, complete。

  64、 不想在容器里显示滚动条,应怎么做?

  不显示水平滚动条:horizontalScrollPolicy= ScrollPolicy.OFF;

  不显示垂直滚动条: verticalScrollPolicy=ScrollPolicy.OFF;

  65、 FlashBuilder里可以建几种不同的项目?

  Flex项目,Flex库项目,Flash Professional项目,ActionScript项目。

  66、 请问swc是做什么用的,怎样制作一个swc及如何使用?

  允许在flash中创建交互、效果、状态、变换等内容,转换为元件导出后可以在Flex应用程序中使用,这样有助于设计与开发结合起来。可以把SWC文件看做是Flex的压缩包文件,就像java里的jar文件一样。如果把扩展名.swc修改成.zip,可以用winrar打开。SWC文件由一个swf文件和一个catalog.xml文件组成。

  制作:

  1、在flash中做完设计;

  2、选中设计的元素,转换为元件并导出一个类;

  3、右键刚才转换的元件,选择导出swc命令;

  使用:

  1、新建一as3工程或者flex工程;

  2、右击项目属性――>构建路径――>添加swc;

  3、选择要添加的swc文件,确定即完成swc的导入;

  67、 如何获取Application里当前运行的URL?

  68、 Alert里有几个属性,怎样设置图片?

  69、 用js调用as的函数,该怎么办? 70、 slice,substring,substr 3种解析字符串方法的不同之处?

  substring:

  1.起始点和终点不能为负数,否则会被当成0处理。

  2.如果起始点索引大于终点索引,执行时索引位置会互换。

  3.如果只填写起始索引,则结束索引默认为最后一个字符

  slice:

  1.起点索引和终点索引均支持负数索引,当索引为负时,代表从右向左数

  2.如果起始点大于终止点,则返回一个空字符

  3.如果只填写起始索引,则结束索引默认为最后一个字符

  substr:

  参数支持正数和负数。

  71、 我想创建的视图居中怎么办?(Flex中的视图布局)

  答:布局策略里面限定为剧中。即 horizontalAlign="center" verticalAlign="middle"

  或者在每个控件都以舞台的中心作为相对坐标来计算各自的xy值。

  72、 请问你知道loader,URLLoader,URLStream这个三种动态加载资源的具体使用场合,以及有什么区别嘛?

  答:URLStream类提供对下载 URL 的低级访问。 数据一下载,便可随即为应用程序使用,这和使用 URLLoader 时需要等到整个文件下载完不同。并且 URLStream 类还允许在完成下载前关闭流。 已下载文件的内容将作为原始二进制数据提供。

  在 URLStream 中的读取操作是非阻塞模式的。

  73、 我怎么设置把一个文本框,设置成一个密码框?

  答displayAsPassword=true;

  74、 我想在文本框里只能输入abcd,有什么办法能做到呢?如果我想输入除abcd以外的其它都能输入又怎么做呢?

  答:Txt.restrict="a-d";txt.restrict="^a-d";

  75、 请问condenseWhite 这个属性在TextInput里是表示什么意

  思?

  答:获取或设置一个布尔值,该值指示是否从包含 HTML 文本的 TextArea 组件中删除额外空白。 空格和换行符都属于组件中的额外空白。 true 值指示删除多余的空白;false 值指示不删除多余的空白。

  此属性只影响使用 htmlText 属性设置的文本,而不影响使用

  text 属性设置的文本。 如果使用 text 属性设置文本,则忽略 condenseWhite 属性。

  76、 我现在刚创建的文件的text为 this is a text,我想设置光标在 is 上,请问怎么设置?

  答:txt.text="this is a text";

  tex.setFocus();

  stage.focus=txt;

  txt.setSelection(5,7);

  77、 请问怎么样在文本框里添加超链接?

  答:文本框里属性里有个链接,把链接的网站输进去就可以, var s:String="百度";

  textInp.htmlText=s;

  78、 请问addEventListener里面有几个参数,你能说出具体的使用方法嘛?

  答:参数分别为:Event名称,响应(回调)函数,是否冒泡时响应,Event级别

  79、 请问用什么方法自定义一个事件呢?说下具体的方式.

  答:先用as创建一个event类, 然后

  可以用addEventListener直接响应

  也可以用元标签声明 [Event(name=事件名称,type=事件类)],然后创建对象->dispatchEvent(创建的对象)->mxml标签中使用事件名称来响应

  80、 sharedObject的作用是什么,与浏览器cookie的区别是什么?

  两者都是存储本地的一些简单的数据类型,sharedObject默认是不会过期, cookie会在session结束时过期,它是在浏览器通过Http地址请求获得的。

  81、 下面的输出结果是什么,为什么?

  var a = Number(10);

  var b = Number(10);

  trace(a == b);

  输出结果是true 因为a和b都被强制转化成number类型了

  82、 请写出加载资源的关键代码?

  var req:URLRequest = new URLRequest("1.swf");

  var loader:Loader = new Loader();

  loader.load(req);

  loader.contentLoaderInfo.addEventListener(Progress Event.PROGRESS, prograssHandler);

  function prograssHandler(event:ProgressEvent):void{

  var aa = event.bytesLoaded;

  var bb = event.bytesTotal;

  txt.txt_txt.text = String(Math.round(aa/bb* 100))+ "%";

  }

  83、 把局部坐标转变为全局坐标的方法

  84、 flex和与服务器端的通讯方式:HttpService、WebService、RemoteObject

  85、 垃圾回收,内存优化。

  86、 任意十一个点,至少几条直线把他们隔开?

  87、 trace([[[[]]]].length);

  88、 var a:int=1;

  var b:uint=1;

  var c:Number=1;

  trace(a==b);

  trace(a===c);

  89、 说出三种as中程序设计模式的名称,并简述思想

  90、 设i初始值为0,每5秒累加10,当i>5000停止

  91、 使用Loader加载资源需要考虑到那些数据和事件?

  加载过程即progressEvent.和加载完成complete;

  92、 我不想在容器里显示滚动条怎么办?

  verticalScrollPolicy="off" horizontalScrollPolicy="off"

  93、 我想在application里获取当前运行的URL,我要怎么获取.

  94、 Embed和Loader加载图片的优缺点?

  Loader:在Flash运行阶段动态加载资源,这种方式不会影响swf文件的体积,而且可以很灵活地更改你要加载的资源,但是有可能会遇到路径变更或者跨域问题,同时,过多地使用Loader去动态加载无疑会加重服务器负担,因此需要和Embed权衡使用。 Embed:在Flash编译阶段就将资源嵌入,也就是说图片资源是会被编译进swf文件里面去的;这样子的好处是代码比较简洁,使用方便,也不存在加载顺序的问题,缺点是会增大swf文件的体积。

  95、 请问知道层级的概念嘛?如果知道请问怎么样交换2个组件的层级呢?

  答:层级表示的是显示对象在显示列表中的位置,从第0层开始,位于最下面。

  交换组件层级可以使用id交换,也可以直接交换层级索引。如:

  my_sprite.swapChildren(my_ball2, my_ball1);

  my_sprite.swapChildrenAt(2, 1);

  96、 parseInt此方法转化为int型的方法,请问你知道此方法的第二个参数是什么意思嘛?

  答:指定第一个参数字符串的进制,范围为2-36。例如parseInt(“100”,2)=4

  97、 请问用什么办法解决安全域的问题?如果你不知道安全域的问题的话,可以在本机中绑定一下图片,然后再放到服务器上,就会出现此问题了.

  答:配置安全沙箱的策略文件crossdomain.xml放置到服务器根目录,如:

  

  

  

  

  98、 TitleWindow的组件是可以拖动的,我不想让他拖动我要怎么办呢?

  isPopUp = true

  99、 请问新创建的一个sprite能否被直接加到ui容器里?如果不能

  请说出用什么办法能加入.

  答:不能。先将sprite加入一个扩展自UIComponent的类,再加入UI容器。

  100、 var fruits:XML =

  Apple

  Orange

  Pear

  Watermelon

  以下有一个字符串,我现在知道了color为orange,我想知道此

  color相对应的name节点的值,我应该怎么做?

  答:原题的XML不规范。找到name节点值可以用

  fruits.fruits(@color==’orange’).name

  101、 请说下目前使用flex和后台交互的几种方法,以及适用场合.

  答:(1)基于AMF消息格式的RemoteObject组件,如

  Lcds/BlazeDs,AMFPHP等

  (2)基于SOAP消息格式的WebService,对于使用SOAP的服

  务器方便连接。

  (3)基于纯文本或拥有良好格式的XML消息格式的

  HTTPService组件

  一般来说,选用高效稳定的RemoteObject中间件。

  102、 我现在想在flex里调用JS方法,我要怎么办呢?

  答:直接在AS中使用ExternalInterface.call()来调用JS方法。

  如:

  import flash.external.ExternalInterface;

  ExternalInterface.call("simpleJSFunction");

  ExternalInterface.call("simpleJSFunctionWithParame ters","myParameter");

  Var result:String=ExternalInterface.call("simpleJSFunc tionWithR

  eturn");

  103、 我想用JavaScript调用ActionScript函数,我要怎么办呢?

  答:使用ExternalInterface.addCallback在JavaScript里设置

  104、 对Flex的回调方法并且在JavaScript里调用ActionScript方

  法。

  AS:

  ExternalInterface.addCallback("function1",callback 1);

  privatefunctioncallback1():void

  {

  Alert.show("callback1executed");

  }

  JS:

  container[swf].function1();

  105、 FileReference 请说下此对象的几个相关事件

  答:browse(typeFilter:Array = null):Boolean显示一个文件浏

  览对话框,让用户选择要上载的文件。

  cancel():void取消正在对该 FileReference 对象执行的任何

  上载或下载操作。 download(request:URLRequest, defaultFileName:String = null):void打开对话框,以允许用户从远程服务器下载文件.

  upload(request:URLRequest, uploadDataFieldName:String =

  "Filedata", testUpload:Boolean = false):void开始将用户选择

  的文件上载到远程服务器。

  106、 请问我想在list里选中多行信息,我要怎么做呢?

  答:设置allowMultipleSelection为true

  107、 Alert里面有几个属性,我想设置图片怎么办呢?

  答:使用iconClass属性指定图片

  108、 请问你是否设置过样式呢,我想动态设置样式怎么办呢?如果

  我想在as代码里设置样式我又要怎么办呢?

  答:使用setStyle()

  109、 TitleWindow的组件是可以拖动的,我不想让他拖动我要怎么

  办呢?

  答:让isPopUp属性=false,同时设置弹出窗口为模态窗口,

  禁止与其他窗口交互。

  110、 你是否做过flex 前端的性能优化,你觉得怎么做是比较完美

  的?

  答:(1)、避免容器的多级嵌套,减少相对尺寸、相对定位的

  使用。

  (2)、尽量使用轻量级的容器

  (3)、避免使用大体积的组件,比如DataGrid、

  AdvancedDataGrid

  (4)、处理数据时多用分页的方式

  (5)、少使用setStyle

  (6)、使用延迟实例化加载子组件

  111、 你是否了解E4X,请说明一下优,缺点?

  答:E4X是在ECMA-357标准中定义的,并成为AS3的一部分。

  优点是提供更简明和可读性强的语法从XML中查找和提取数

  据。

  112、 请说明一下ShareObject的使用方法?以及优,缺点?

  答:getLocal()用来指定存储在客户端的路径。

  data属性用来指定要存储的数据内容。

  flush方法负责把数据内容写入。

  clear方法用于清除储存的信息。

  113、 请列举一下,你认为不错的网站或者blog.

  答:insideRIA,AS天地会,AIRIA,javeeye,N神,杜增强,牛牛猪研究所,黑羽

  114、 我现在给你100万做一个flex项目,你认为成功的要素在哪呢?

  答:(1)数据和需求等传统软件项目的成功要素(需求分析)

  (2)模块化开发,MVC框架

  (3)swf文件减肥,运行效率,内存泄露问题,前台优化

  (4)开源组件的使用

  115、 我想创建的视图居中怎么办?

  答:当父容器的layout属性为“absolute”时:可以通过设置

  子控件的horizontalCenter="0" verticalCenter="0"属性控制

  子控件的居中显示;

  当父容器的layout属性为“horizontal”或“vertical”时:可

  以通过设置父容器的horizontalAlign="center"

  verticalAlign="middle"属性控制子控件的居中显示。

  116、 请问你知道loader,URLLoader,URLStream这个三种动态加载

  资源的具体使用场合,以及有什么区别嘛?

  答:(1) Loader

  Loader 类可用于加载 SWF 文件或图像(JPG、PNG 或 GIF)

  文件。使用 load() 方法来启动加载。被加载的显示对象将作

  为 Loader 对象的子级添加。

  (2) URLLoader

  URLLoader 类以文本、二进制数据或 URL 编码变量的形式从

  URL 下载数据。在下载文本文件、XML 或其它用于动态数据

  驱动应用程序的信息时,它很有用。

  URLLoader 对象会先从 URL 中下载所有数据,然后才将数据

  用于 ActionScript。它会发出有关下载进度的通知,通过

  bytesLoaded 和 bytesTotal 属性以及已调度的事件,可以监 视下载进度。

  在加载非常大的视频文件(如 FLV 的视频文件)时,可能会

  出现内存不足错误。

  (3) URLStream

  URLStream 类提供对下载 URL 的低级访问。数据一下载,

  便可随即为应用程序使用,这和使用 URLLoader 时需要等到

  整个文件下载完不同。并且 URLStream 类还允许在完成下载

  前关闭流。已下载文件的内容将作为原始二进制数据提供。

  在 URLStream 中的读取操作是非阻塞模式的。这意味着您在

  读取数据之前必须使用 bytesAvailable 属性来确定是否能够

  获得足够的数据。如果不能获得足够的数据,将引发 EOFError

  异常。

  117、 如何把MouseEvent 的localX 和localY 属性转化成全局坐

  标?

  答:var localPoint:Point = new Point( event.localX,

  event.localY );

  // 得到全局坐标

  var globalPoint:Point =

  event.target.localToGlobal( localPoint );

  118、 如何提升Flex运行效率,请从各方面进行简述。

  1、避免容器的多级嵌套,减少相对尺寸、相对定位的使用。

  在使用百分比来给容器内的元件定尺寸,一旦容器中的任何一

  个元件的位置和尺寸变化,都会引发容器对所有子级的重定位

  动作。如果嵌套的级别很深,这个计算量会很大。

  2、尽量使用轻量级的容器

  Canvas是体积最小的容器,它只支持绝对定位。很多时候,

  都可以使用它来代替HBOx和VBox。另外,Canvas也是我们

  编写自定义容器性质组件的一个首选。它具有容器的基本功

  能,利于扩展。

  3、避免使用大体积的组件,比如DataGrid、AdvancedDataGrid

  大个子组件的功能强大,但开销也是非常大的。由于功能的复

  杂性,使得皮肤、样式、itemRenderer的实现都格外复杂。

  4、处理数据时多用分页的方式

  在使用数据类型控件时,尽量减少数据一次的显示量。比如

  TileList,它会把数据一次性全部创建,不管是不是需要显示,

  这样很浪费资源。 ViewStack、TabNavigator等在处理元件时,

  并不是一次创建,只要元件在第一次被显示时才创建,这样,

  就避免的不必要的开销。

  119、 请试着列几个国内的AS或RIA方面的网站或社区.

  120、 gotoAndPlay()方法是什么类的方法?

  121、 currentFrame属性是描述什么的?在哪个类中定义的?

  122、 你知道在AS2环境下,一个按钮mybtn添加一个鼠标点击方

  法应该如何书写?如果知道请试着书写出来.

  123、 ApplicationDomain类中具有一个以字母 c 开头静态常量,

  他的名称是什么,值是什么类型

  124、 trace([[[[]]]].length);

  125、 抽奖大转盘的概率控制:

  1、 声明一些变量a:整形;b:无符号整形;c,d,e三种不同的显示对象容器,f:无类型;

  2、 简述Flash事件机制的几个阶段;

  3、 在显示对象层级关系中填充所缺的元素

  (顶级显示对象)DisplayObject――>____________――>DisplayObjectContainer――>_______MovieClip;

  4、 声明一个函数fun;fun可以接受不定个数的参数,并将这些参数打印到控制台;

  

  

  

转载自原文链接, 如需删除请联系管理员。

原文链接:2011年11月01日,转载请注明来源!

0