Flex面试题
1.使用Flex Bulider3建立一下新的.mxml的页面时默认的背景是蓝的,请问用什么办法能修改掉此背景颜,以至于下次创建时背景不是为默认的蓝的呢?请写出你认为正确的方法。
答:修改sdk\frameworks\projects\framework\default.css里Application的backgroundColor: #0000FF;
2.使用Flex Bulider3如何跟踪程序?
答:我知道的三种1.trace() 2.设置断点 3.当不在调试模式时可以调用as的Alert.show()或js的alert() 如:navigateToURL(new URLRequest("javascript:alert(traceMsg)"), "_self");
3.请问enterFrame和timerEvent这2个事件有什么区别?请说下具体的使用方法和相关的使用场合?
flash控件怎么下载答:enterFrame是按帧发生,timeEvent是根据设置的Timer类参数发生。如:
用ENTER_FRAME控制小球圆周运动:
addEventListener(Event.ENTER_FRAME,ballMove);
用TIMER控制小球圆周运动:
var myTimer:Timer=new Timer(83.3,0);//关于该数的设置见TIMER类的说明
myTimer.start();
myTimer.addEventListener(TimerEvent.TIMER,ballMove);
4.请说下你理解AS3的事件机制是什么机制?你认为正确的就可以说出来.
答:建立一个完整的事件机制需要四个步骤:注册侦听、分发事件、侦听事件、移除侦听。建立成功后,触发事件,事件流会进行捕获、目标和冒泡三个阶段。捕获阶段由FP沿显示列表从根容器往下层层寻触发事件的目标对象,到后即进入目标阶段。然后,事件对象从目标对象再次沿显示列表往上移动至根容器,遇到注册侦听的节点就调用侦听函数。如果想中途中断冒泡,可以使用stopPropagation。
5.请问addEventListener里面有几个参数,你能说出具体的使用方法嘛?
答:addEventListener(type:String, listener:Function, useCapture:Boolean(默认值为false), priority:int(默认值为0), useWeakReference:Boolean(默认值为false))
type:String, 事件的类型
listener:Function, 监听函数
useCapture:Boolean = false, 是否打开捕获功能
priority:int = 0, 优先级别
useWeakReference:Boolean = false 是否使用弱引用
6.请问我想判断一个字体是否是数字,用什么办法去判断呢?
答:isNaN(parseInt(strPara) 或 strPara is Number
7.请问我想判断一个字符或者一个对象的类型怎么判断呢?
答:typeof(obj)
8.请问你了解 internal 控制符么?能说下具体使用方法和场合嘛?
答:internal是默认的包内访问,体现了封装思想和package模块化思想。举例来说,A类需要使用B类和C类的方法和属性,但又不希望它们对其他类暴露,只要将A,B,C放入同一包内,包外的其他类就无法使用B,C类了。
9.我想在某一点不去执行任何内容,也就是说我想停止执行了,你知道要怎么做嘛?
答:设置断点
10.请问 undefined 和 null 是否一样,如果不一样能否说出其中的区别呢?
答:undefined是尚未初始化的无类型变量或未初始化的动态对象属性的特殊值。null是一个可以分配给变量的或由未提供数据的函数返回的特殊值。它们的相同之处在于都未初始
化,不同在于undefined是无类型或动态类型的。如:
var v1;trace(v1);//undefined
var v2:*;trace(v2);//undefined
var v3:Object;trace(v3);//null
11.创建常量知道怎么创建嘛?说下你是怎么创建的.
答:const PI:Number = 3.1415926; public static const STARTUP:String = "startup";
12.请问用什么方法自定义一个事件呢?说下具体的方式.
答: (1) 扩展Event类或其子类
(2) 定义一个static const常量作为事件的type传入构造函数
(3) 定义一个私有变量作为事件的Data保存数据,并为其添加getter和setter
(4) 覆盖toString()和clone()方法
13.请问怎么样检测本机的内容呢,比如说,我想知道本机的操作系统,是否有视频等这些.
答: flash.system.Capabilities.os 当前的操作系统
flash.system.Capabilities.hasStreamingVideo系统是否可以播放视频流
14.请问用什么办法解决安全域的问题?如果你不知道安全域的问题的话,可以在本机中绑定一下图片,然后再放到服务器上,就会出现此问题了.
答:配置安全沙箱的策略文件l放置到服务器根目录,如:
<?xml version="1.0" encoding="UTF-8"?>
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>
15.有三种基本数字类型:number, int, 和uint 请问有什么区别.具体说一下.
答:number数字类型包含浮点型(正0负); int 整型(正0负); uint(无符号整型)
16.parseInt此方法转化为int型的方法,请问你知道此方法的第二个参数是什么意思嘛?
答:指定第一个参数字符串的进制,范围为2-36。例如parseInt(“100”,2)=4
und( ), Math.floor( ) 和il( ) 三个方法都是四舍五入,请问有什么区别?
答:round 是取最接近的整数,即原数+0.5后取整;floor向下取整;ceil向上取整
18.请问一个数组里可以放不同的类型嘛?
答:可以,如var x:Array = ['a',1,new Button()];
19.var letters:Array = ["a", "b", "c"];我想在这个数组里搜索‘c’字符,请问怎么办?
答:
for(var i:* in letters)
if(letters[i] == 'c') trace("c's position is " + i);或
String().indexOf('c') > 0)
trace( "c's position is " + String().indexOf('c') );
20.怎么样转换数组为字符串,怎么样将字符串转化为数组?
答:
数组->字符串:trace(new Array('a','b','c').join("").toString());
字符串->数组: var arr:Array = new String("a,b,c").split(',');
21.我想创建的视图居中怎么办?
答:布局策略里面限定为居中,即horizontalAlign="center" verticalAlign="middle";或者在每个控件都以舞台的中心作为相对坐标来计算各自的xy值。
22.请问知道层级的概念嘛?如果知道请问怎么样交换2个组件的层级呢?
答:层级表示的是显示对象在显示列表中的位置,从第0层开始,位于最下面。
交换组件层级可以使用id交换,也可以直接交换层级索引。如:
my_sprite.swapChildren(my_ball2, my_ball1);
my_sprite.swapChildrenAt(2, 1);
23.请问你知道loader,URLLoader,URLStream这个三种动态加载资源的具体使用场合,以及有什么区别嘛?
答:
(1)Loader像2.0中MovieClip的loadMovie功能,用于加载外部的图片和SWF文件。使用 loa
d() 方法来启动加载。被加载的显示对象将作为 Loader 对象的子级添加。在使用Loader加载数据,添加侦听事件时,一定要给Loader的contentLoaderInfo属性增加事件,而不是给Loader对象增加事件。
(2)URLLoader类以文本、二进制数据或URL编码变量值对的形式先从URL下载数据,然后才将数据用于ActionScript。它会发出有关下载进度的通知,通过bytesLoaded和bytesTotal属性以及已调度的事件,可以监视下载进度。
(3)URLStream类提供对下载URL的低级访问。数据一下载,便可随即为应用程序使用,这和使用URLLoader需要等到整个文件下载完不同。并且URLStream类还允许在完成下载前关闭流。已下载文件的内容将作为原始二进制数据提供。
(4)URLStream、URLLoader、Loader等读取外部数据的类,类里的load方法参数值是URLRequest对象。如:
var request:URLRequest=new URLRequest("httpURL地址");
loader.load(request);
24.如何把MouseEvent 的localX 和localY 属性转化成全局坐标?
答:全局坐标系:stageX,stageY。原点位于舞台左上角。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论