|
[转]Flex学习&积累
6 q/ }% i! R. A/ R8 R由于项目的需要,需要用到Flex,于是决定自学,在自学的过程中,遇到很多问题,而这些小问题应该积累下来,以方便以后参考。。。嘿嘿。。此文以后不定期更新。* e$ ~9 `9 ? N, ?
1。初学者当然要COPY网上的代码,但COPY后常遇到问题,总以为是代码有问题,其实不然。; q. d( Y0 Y3 D/ B3 o9 W
比如我在网上随便COPY了一段代码(因代码过长,将不影响说明的部分代码删除):
c# X" g( w* f4 J<?xml version=”1.0″ encoding=”utf-8″?>+ h5 Y8 H' K3 g1 {5 A
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute” width=”214″ height=”214″>
6 K' @( M. C( a( a& X) _8 q2 }1 x<mx:Script>; n$ |, z$ v: _3 V3 j+ ?9 Q6 }
<![CDATA[
2 F0 @. _8 Q4 q% b! @/ pimport mx.events.CloseEvent;
# e! {$ x& \ I6 K' n" s- Eimport mx.controls.Alert;0 y Q# _3 W* z" d
import flash.net.navigateToURL;
! \4 Z2 \" x5 n//由于fms使用的是amf0而flex3中的as3默认使用的是amf3.所以要让flex使用AFM03 z4 `# K3 c6 X- X. F
NetConnection.defaultObjectEncoding = ObjectEncoding.AMF0;- K8 g: I! H& E, e
private static const DEFAULT_WIDTH:Number = 160; //摄像头显示高度
1 C) x2 S0 a$ Z& Lprivate static const DEFAULT_HEIGHT:Number = 120; //摄像头显示高度
. v. P8 s0 _, Y. \2 mprivate var m_camera:Camera; //定义一个摄像头
1 w {4 ]* e) [4 x6 |" sprivate var m_microphone:Microphone; //定义一个麦克风
! D7 u/ |/ \6 X% F1 @; E7 Dprivate var m_localVideo:Video; //定义一个本地视频
9 ^2 E- D2 o: Aprivate var m_netConnection:NetConnection; //定认一个网络连接
8 k/ v: P* S+ Q: B/ T% N. Uprivate var m_outStream:NetStream; //定义一个输出流
# v& T6 ^6 l5 G2 W) c) ?- }private var m_fmsServer:String; //视频服务器地址
; E" }. M- F# T0 o3 q rprivate var m_userId:String; //用户ID; J3 W! Q: T7 \
]]>
' M# t: `$ x+ {$ p( \ {7 }! E</mx:Script>
' ~/ b, z3 v* v& ^+ H<mxanel x=”16″ y=”16″ width=”180″ height=”162″ layout=”absolute” title=”在线认证视频” fontSize=”12″>6 e$ E2 F6 @4 j) K
<mx:VideoDisplay id=”t_vd_Video” width=”160″ height=”120″/>5 ]% @1 e( O, q6 ~% f1 i. ?
</mxanel>
, C9 X- V% i! Z ?- V: f: ]4 j$ N<mxabel id=”t_lbl_Info” x=”14″ y=”184″ text=”视频认证就绪” fontSize=”12″ color=”#FFFFFF”/>
. C) b8 _9 |: K</mx:Application>! G5 [) J; s6 O, r3 f6 R
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
, d m: {! K. b8 v//上面的代码,在flex builder上,是运行不了的。出现了莫明其妙的错误,原因在于符号″,应该改成“ 。
& l0 v) I+ B3 B7 z |/ N0 Q1 P//在Edit->Find/Replace-->Replace All可令全文更改,更改了之后,还是有错误,原因在于: |( S* A9 D1 o5 S0 H. C! v6 l0 j7 Z; ~
<mxanel x="16" //注意,这里数字的右分号和数字一样是红色的,要将红色的右分号改成黑色即可。
' Z5 C" B! r5 j8 u! Q' x# V# ~. H# g1 R5 q {9 i6 d1 m
2。显示手型图标。
9 T! p/ A' D" _) i* p显示手型图标在大部分的控件上都是一样的,如下(仅以Button,Label,Panel为例子):
# f! z( @% f+ r2 a7 l8 t+ ]$ V5 a<?xml version="1.0" encoding="utf-8"?>
$ p8 _* Z7 t/ W n6 j& H9 Y, `<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
: B) E, ?. A6 r% ?# M0 n) i/ f9 P4 E<mx:Button x="115" y="79" label="Button": m! W4 Q/ m# r: o
butt useHandCursor="true" />' p- N1 s& N0 n5 _
$ u( \% u1 m5 C& P: _9 }
<mxabel x="35" y="173" text="Label"% d5 _3 z- D! y. V
butt useHandCursor="true" //除了在Label上显示不出来,其它大部分的控件都可以的。6 U: ]8 C, W6 V
mouseChildren="true" width="116" height="72"/>
5 z0 w5 O2 X. @) k( p% u& h
4 _0 G4 m& z3 q3 Y9 Z! x<mxanel x="210" y="45" width="250" height="200" layout="absolute"
9 [: ?' X. S2 J0 \ @6 D6 Y. ? butt useHandCursor="true" >
) D* G' t% c* n' ^- l</mxanel> U8 {9 v( O1 ^4 i5 L$ r/ w
</mx:Application>. T: X! y4 z |) I
y; p1 R/ b6 v1 v; d( ?
学了很长时间,发现自己走了一些弯路。由于Flex涉及内容较多,完全自学不看相关资料,还是比较费力。前一段时间在网上看到一本书机械的《Flex完全自学手册》,感觉不错。。买了一本。很快就发现把自己一直疑惑的问题给解决了。所以,这里给大家推荐一下。具体内容可以参考:http://www.china-pub.com/209227。 |
|