|
[转]Flex学习&积累
: K5 b6 o+ W z- h0 [由于项目的需要,需要用到Flex,于是决定自学,在自学的过程中,遇到很多问题,而这些小问题应该积累下来,以方便以后参考。。。嘿嘿。。此文以后不定期更新。' |. X- n3 b, V- K- @
1。初学者当然要COPY网上的代码,但COPY后常遇到问题,总以为是代码有问题,其实不然。7 y( Z2 n' b! \% \3 [3 D; B* ~* F
比如我在网上随便COPY了一段代码(因代码过长,将不影响说明的部分代码删除):% I) a! k9 U) Z' z+ F9 t7 L9 D
<?xml version=”1.0″ encoding=”utf-8″?>
- B$ S+ d+ \" Y6 N( x3 Y3 R8 `<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute” width=”214″ height=”214″># x. X `6 n; ]0 P+ e# w1 _
<mx:Script>
& R5 t% _! Q, x<![CDATA[1 _" X2 T a) P# Z8 ]0 p; s9 D7 n
import mx.events.CloseEvent;
6 c [- j& X# J# M0 n( M/ K0 _# _. |import mx.controls.Alert;
& z: H9 L2 A' p0 f3 Y3 ?! qimport flash.net.navigateToURL;, t0 g6 t4 w$ a! `; J% K" C y% s
//由于fms使用的是amf0而flex3中的as3默认使用的是amf3.所以要让flex使用AFM0/ i2 \" S5 z8 ?- |. x/ m
NetConnection.defaultObjectEncoding = ObjectEncoding.AMF0;0 [6 v$ Z" q: h- G5 B* G7 A
private static const DEFAULT_WIDTH:Number = 160; //摄像头显示高度
0 f1 K& N" Q t1 u: mprivate static const DEFAULT_HEIGHT:Number = 120; //摄像头显示高度
9 e' y7 s8 z" |/ dprivate var m_camera:Camera; //定义一个摄像头8 Z* n% z/ T/ [( ^0 ]
private var m_microphone:Microphone; //定义一个麦克风1 W+ v4 Z" x5 k* `- A. y9 b
private var m_localVideo:Video; //定义一个本地视频
) T* V5 W# z# D8 K. wprivate var m_netConnection:NetConnection; //定认一个网络连接/ J3 h+ o8 c: L H$ Z1 h7 ^% m
private var m_outStream:NetStream; //定义一个输出流
3 ^5 ?, f; y6 Fprivate var m_fmsServer:String; //视频服务器地址
3 H/ N5 x& U2 g7 nprivate var m_userId:String; //用户ID
- I, Q8 f0 u b: C% v, i7 l- H* d]]>/ {! G. i/ Z: C: Z' w0 S, s
</mx:Script>
% J, m2 S5 I( @/ x' A<mxanel x=”16″ y=”16″ width=”180″ height=”162″ layout=”absolute” title=”在线认证视频” fontSize=”12″>
5 `$ T. y- H6 q& l: k<mx:VideoDisplay id=”t_vd_Video” width=”160″ height=”120″/> J4 Y4 j) a. e8 r3 e! L7 Z- h9 {
</mxanel>
3 J# n. z* s) O, K9 {5 _( B<mxabel id=”t_lbl_Info” x=”14″ y=”184″ text=”视频认证就绪” fontSize=”12″ color=”#FFFFFF”/>
4 W2 G5 \ N- i I1 G1 S) h</mx:Application>
1 U: z. A' y, M1 [$ I////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////( y2 u8 \7 u/ y4 P
//上面的代码,在flex builder上,是运行不了的。出现了莫明其妙的错误,原因在于符号″,应该改成“ 。' ]2 L, Y( c2 r8 b: Z- Y
//在Edit->Find/Replace-->Replace All可令全文更改,更改了之后,还是有错误,原因在于:& J2 A4 j6 c( _4 {! f p# _" T
<mxanel x="16" //注意,这里数字的右分号和数字一样是红色的,要将红色的右分号改成黑色即可。
$ ]- f/ I! x- F1 s& J( b q+ d' }- w
! v9 I+ `! I: Z5 z( n2。显示手型图标。
8 U, k1 W( |# W; B8 X+ {9 a显示手型图标在大部分的控件上都是一样的,如下(仅以Button,Label,Panel为例子):* l5 l- q+ n) J# o8 b) O
<?xml version="1.0" encoding="utf-8"?>6 Z# R8 b5 \* h' L& p- c
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">4 F: c. h/ M3 m9 ?, |1 N
<mx:Button x="115" y="79" label="Button"
9 a& N4 K# \9 q- V- \! f/ v butt useHandCursor="true" />: E3 ]+ ]% p a8 ]
0 a8 @- `' t6 R8 J5 J/ h) j<mxabel x="35" y="173" text="Label"$ p3 D# C( Z" V. a. D
butt useHandCursor="true" //除了在Label上显示不出来,其它大部分的控件都可以的。
7 h2 L9 t' g5 I4 b mouseChildren="true" width="116" height="72"/>- m& t5 y2 c @3 h: K
4 q" k. P0 a' q% S3 ]: G<mxanel x="210" y="45" width="250" height="200" layout="absolute"7 ~9 {( P6 A! b0 c) j: N( I. L
butt useHandCursor="true" ># r9 `+ z9 g5 b! x! r5 g
</mxanel>2 I2 ]* U' x% r9 K6 J; r/ U
</mx:Application>, i* ?3 N* \! ?
3 D) R) S5 t& y$ m
学了很长时间,发现自己走了一些弯路。由于Flex涉及内容较多,完全自学不看相关资料,还是比较费力。前一段时间在网上看到一本书机械的《Flex完全自学手册》,感觉不错。。买了一本。很快就发现把自己一直疑惑的问题给解决了。所以,这里给大家推荐一下。具体内容可以参考:http://www.china-pub.com/209227。 |
|