|
[转]Flex学习&积累* p4 H5 \7 s# a) Q; F8 L
由于项目的需要,需要用到Flex,于是决定自学,在自学的过程中,遇到很多问题,而这些小问题应该积累下来,以方便以后参考。。。嘿嘿。。此文以后不定期更新。9 C. ~( m4 `; D& Q5 j
1。初学者当然要COPY网上的代码,但COPY后常遇到问题,总以为是代码有问题,其实不然。
# @2 i& H9 l$ e# D9 @+ O比如我在网上随便COPY了一段代码(因代码过长,将不影响说明的部分代码删除):' c8 e* g3 U9 M4 D/ m
<?xml version=”1.0″ encoding=”utf-8″?>' B6 T7 s0 v. N% q. P1 w
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute” width=”214″ height=”214″>
2 o& G) y0 O- c<mx:Script>
5 r) A6 y3 j2 H( \) G: s4 \<![CDATA[6 [1 \; e/ f0 n J9 k
import mx.events.CloseEvent;$ B G; Z; e$ J I# F$ ]0 G4 F
import mx.controls.Alert;4 Z$ G: h0 N( q# E' j" d6 ~# l
import flash.net.navigateToURL;
7 U4 B4 n! t5 I" x//由于fms使用的是amf0而flex3中的as3默认使用的是amf3.所以要让flex使用AFM0
- U1 A- i8 V; J1 S' INetConnection.defaultObjectEncoding = ObjectEncoding.AMF0;( u5 ^1 h$ c7 @4 r9 G0 Z
private static const DEFAULT_WIDTH:Number = 160; //摄像头显示高度5 }4 t5 n. B- O. }7 `: F
private static const DEFAULT_HEIGHT:Number = 120; //摄像头显示高度
0 c0 }8 F4 Z3 f& L. hprivate var m_camera:Camera; //定义一个摄像头
; C- S/ f" J- @. q% @3 f* ~7 k _private var m_microphone:Microphone; //定义一个麦克风
$ I: P# J% m8 j% R* `% I& Yprivate var m_localVideo:Video; //定义一个本地视频2 b$ M3 t2 L9 c. K0 A
private var m_netConnection:NetConnection; //定认一个网络连接
$ P3 A( `+ G5 {1 N+ tprivate var m_outStream:NetStream; //定义一个输出流# _3 \5 F; w$ ?) v
private var m_fmsServer:String; //视频服务器地址7 Z, E2 J; r8 p( x) c
private var m_userId:String; //用户ID$ O q$ r7 B4 H+ ]
]]>& ~, ?- i! @! b, i9 j2 z# p
</mx:Script>3 E0 n' {9 V* P; a7 X C
<mxanel x=”16″ y=”16″ width=”180″ height=”162″ layout=”absolute” title=”在线认证视频” fontSize=”12″>
1 C( a7 _( L0 A; c( \# C D0 i<mx:VideoDisplay id=”t_vd_Video” width=”160″ height=”120″/>
, z* X4 k( Q+ ]- y2 [) v/ b</mxanel>
% a$ P' R1 H. r/ f- y7 S<mxabel id=”t_lbl_Info” x=”14″ y=”184″ text=”视频认证就绪” fontSize=”12″ color=”#FFFFFF”/>
, Y2 [' h2 p: g2 H</mx:Application>
. H0 q& X3 g! o2 D////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
5 ~# N) n: e0 G6 r& L& e" D- x//上面的代码,在flex builder上,是运行不了的。出现了莫明其妙的错误,原因在于符号″,应该改成“ 。5 g' i8 K5 }; z9 `, M! y3 h
//在Edit->Find/Replace-->Replace All可令全文更改,更改了之后,还是有错误,原因在于:
1 U) V. h) M9 _) R7 z9 ?9 \<mxanel x="16" //注意,这里数字的右分号和数字一样是红色的,要将红色的右分号改成黑色即可。
/ \& {, D( @( t n6 T1 h
! N+ z. o; }8 b2 g3 B) M2。显示手型图标。3 c# m* s4 O* _ `: v, c
显示手型图标在大部分的控件上都是一样的,如下(仅以Button,Label,Panel为例子):
* `& }8 a5 r& S( ~" y<?xml version="1.0" encoding="utf-8"?>/ C' M7 |; G( `7 H: _
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> P4 h0 E# u; s2 Y) P4 b
<mx:Button x="115" y="79" label="Button", T' R# ^( _7 y9 B7 V& y# x/ C- ~1 I
butt useHandCursor="true" />. D. R* i8 _. u9 B
) f, C0 q S0 ^
<mxabel x="35" y="173" text="Label"! p W8 c5 [" j+ E0 L0 Z
butt useHandCursor="true" //除了在Label上显示不出来,其它大部分的控件都可以的。
9 g1 F2 Q& s! L8 U u i9 E mouseChildren="true" width="116" height="72"/>) m. Q& m8 [" g3 ]
6 a, }' ^) v6 F# Z$ U
<mxanel x="210" y="45" width="250" height="200" layout="absolute"
0 k# b* S$ a. \! I7 a butt useHandCursor="true" >4 q6 x4 u6 i1 {) ^. y/ L2 r
</mxanel>2 v+ {9 t$ c) W5 J8 `" d
</mx:Application>
' P, R* m: T5 }( a Y! \/ T( k$ U u* j% O- X9 g, k4 O- e# f
学了很长时间,发现自己走了一些弯路。由于Flex涉及内容较多,完全自学不看相关资料,还是比较费力。前一段时间在网上看到一本书机械的《Flex完全自学手册》,感觉不错。。买了一本。很快就发现把自己一直疑惑的问题给解决了。所以,这里给大家推荐一下。具体内容可以参考:http://www.china-pub.com/209227。 |
|