|
[转]Flex学习&积累 U. i/ I" C& O: r* J @) s
由于项目的需要,需要用到Flex,于是决定自学,在自学的过程中,遇到很多问题,而这些小问题应该积累下来,以方便以后参考。。。嘿嘿。。此文以后不定期更新。0 F1 Z5 X1 ~6 `1 @6 S, m
1。初学者当然要COPY网上的代码,但COPY后常遇到问题,总以为是代码有问题,其实不然。
' `4 x* _. I, Q4 v6 p) r" C4 I B比如我在网上随便COPY了一段代码(因代码过长,将不影响说明的部分代码删除):
3 p7 J+ g; |9 I f* E<?xml version=”1.0″ encoding=”utf-8″?>$ _, R; e! s3 B8 F0 r
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute” width=”214″ height=”214″>
( w* x; w7 ^, N y; }<mx:Script>* a, L4 q: Y6 H) e
<![CDATA[
! w7 p6 g" |( r3 z4 B fimport mx.events.CloseEvent;
& @! i5 ~" _, S6 X* M4 E0 Y+ p+ oimport mx.controls.Alert;$ i5 T- ?+ \1 `6 n; \! x
import flash.net.navigateToURL;
7 s8 Z" I0 y$ y5 j& f8 X d//由于fms使用的是amf0而flex3中的as3默认使用的是amf3.所以要让flex使用AFM0
% K$ q6 u2 h/ F! _ VNetConnection.defaultObjectEncoding = ObjectEncoding.AMF0;" k$ Q' J: V) S- |8 k# c' i% x6 u
private static const DEFAULT_WIDTH:Number = 160; //摄像头显示高度5 b$ {+ ~- m, s" ?: {3 G
private static const DEFAULT_HEIGHT:Number = 120; //摄像头显示高度
5 U; ^$ U% H0 S2 Lprivate var m_camera:Camera; //定义一个摄像头
: ]5 K& p0 l9 _private var m_microphone:Microphone; //定义一个麦克风* W, T6 F0 y/ Y# P
private var m_localVideo:Video; //定义一个本地视频4 o% f+ Y+ G6 ~7 x$ ]2 U: i
private var m_netConnection:NetConnection; //定认一个网络连接# a1 d N4 D l
private var m_outStream:NetStream; //定义一个输出流
* S& h( T- @! ?5 r. M' Y" dprivate var m_fmsServer:String; //视频服务器地址4 c1 @! U8 v. _" Q
private var m_userId:String; //用户ID
& W$ }7 Q Q- N- E" \]]>+ R8 S1 q: f+ v' ] T
</mx:Script>
L+ @+ o5 F8 Q8 O2 T. O<mxanel x=”16″ y=”16″ width=”180″ height=”162″ layout=”absolute” title=”在线认证视频” fontSize=”12″>% q' L7 s3 S- ]
<mx:VideoDisplay id=”t_vd_Video” width=”160″ height=”120″/>. a: d! t" F1 i# A2 c. }, T1 u' Z$ _0 K
</mxanel>
% k! j5 T- ^# I# Y; w. ]<mxabel id=”t_lbl_Info” x=”14″ y=”184″ text=”视频认证就绪” fontSize=”12″ color=”#FFFFFF”/>
1 X' ?$ b' [; c9 E0 ~, c# w0 j1 p4 r</mx:Application>: N: F" w- I$ J1 j# t2 a8 Q: ?
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
, k0 r+ n% a+ _$ I//上面的代码,在flex builder上,是运行不了的。出现了莫明其妙的错误,原因在于符号″,应该改成“ 。
& C: s6 r% I, Q& m m! j( ]1 J//在Edit->Find/Replace-->Replace All可令全文更改,更改了之后,还是有错误,原因在于:# @1 ^2 J( ~8 k; D1 J
<mxanel x="16" //注意,这里数字的右分号和数字一样是红色的,要将红色的右分号改成黑色即可。
, `- m# }! B8 s! z& M' Q# Q# G" t3 L" J
) i. u& y9 `" d% {" C" j2。显示手型图标。: C/ h* |$ a& n! N9 ~8 ~: R
显示手型图标在大部分的控件上都是一样的,如下(仅以Button,Label,Panel为例子):6 ]' y5 `- N( L+ C
<?xml version="1.0" encoding="utf-8"?>; a0 M+ Y$ B$ F+ [6 {/ F
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">( @4 h0 c5 S/ E- ]! b7 _+ G
<mx:Button x="115" y="79" label="Button"/ \ S- I* @+ i S# N! A; U
butt useHandCursor="true" />4 I7 i0 F3 f& _4 s3 I3 g! Z, n
6 S5 h* p. a) q8 K; a
<mxabel x="35" y="173" text="Label"" w0 d8 w# J Q! Z: [1 T
butt useHandCursor="true" //除了在Label上显示不出来,其它大部分的控件都可以的。
3 p+ V* p$ g7 D0 A- w% X2 o mouseChildren="true" width="116" height="72"/> V+ d. J' J. |
4 X% f6 q- C" J6 C+ K5 x
<mxanel x="210" y="45" width="250" height="200" layout="absolute"
9 \+ `' F( X; I' _ butt useHandCursor="true" >, t8 _; i1 ]! ?% R- ~- v8 k0 B% o2 B
</mxanel>
1 @1 E2 j; {1 O2 s</mx:Application>* _. u2 P) A2 f! w
' K* c; B; ^- x: s Q( d学了很长时间,发现自己走了一些弯路。由于Flex涉及内容较多,完全自学不看相关资料,还是比较费力。前一段时间在网上看到一本书机械的《Flex完全自学手册》,感觉不错。。买了一本。很快就发现把自己一直疑惑的问题给解决了。所以,这里给大家推荐一下。具体内容可以参考:http://www.china-pub.com/209227。 |
|