该用户从未签到
|
[转]Flex学习&积累
& Y& o3 i, w6 ]; k- G6 \由于项目的需要,需要用到Flex,于是决定自学,在自学的过程中,遇到很多问题,而这些小问题应该积累下来,以方便以后参考。。。嘿嘿。。此文以后不定期更新。
; k, {+ n* a0 J) C7 q) X, o1。初学者当然要COPY网上的代码,但COPY后常遇到问题,总以为是代码有问题,其实不然。
5 C" X0 \/ t* s* v0 e9 \* a# y; i比如我在网上随便COPY了一段代码(因代码过长,将不影响说明的部分代码删除):
3 s1 X) B# g- g, N+ r<?xml version=”1.0″ encoding=”utf-8″?>
3 m3 r0 h2 F0 n) V1 i B<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute” width=”214″ height=”214″>
/ d/ ?# ^3 ?) v& ~) F<mx:Script>
~3 l) ?* T, A<![CDATA[
+ s+ s; @2 S( n7 Vimport mx.events.CloseEvent; H, e' @, i0 ^- M
import mx.controls.Alert;& G ?$ v$ R9 P( s6 S5 j* y- {
import flash.net.navigateToURL;
" {0 H5 }# C9 _- D4 \# x//由于fms使用的是amf0而flex3中的as3默认使用的是amf3.所以要让flex使用AFM0
: Y! n7 G* M' J' l% BNetConnection.defaultObjectEncoding = ObjectEncoding.AMF0;
8 d0 o- T) l! F, y1 b% Aprivate static const DEFAULT_WIDTH:Number = 160; //摄像头显示高度! v( J: W1 q8 H. B7 h
private static const DEFAULT_HEIGHT:Number = 120; //摄像头显示高度
+ z% G5 Y6 }2 C7 K F- |( Bprivate var m_camera:Camera; //定义一个摄像头
& |, a, G8 C- T" Y* C$ Iprivate var m_microphone:Microphone; //定义一个麦克风
0 g! I0 x; s4 h* m3 M! O' \4 vprivate var m_localVideo:Video; //定义一个本地视频
+ j& q& @# E) M) x7 O1 @private var m_netConnection:NetConnection; //定认一个网络连接( ]- k* T$ F4 X. [) E5 c% _; G5 T
private var m_outStream:NetStream; //定义一个输出流
4 u- v( x) p' C" gprivate var m_fmsServer:String; //视频服务器地址
0 t# H0 G' ^" u; ~# F7 `, R" l0 Zprivate var m_userId:String; //用户ID
0 {( I- k K7 E; q- _]]>/ @6 k6 l6 \! y4 S
</mx:Script>
0 r z5 |) d2 C<mxanel x=”16″ y=”16″ width=”180″ height=”162″ layout=”absolute” title=”在线认证视频” fontSize=”12″>
$ m# I5 C% Z* n9 K<mx:VideoDisplay id=”t_vd_Video” width=”160″ height=”120″/>
* g3 |! P2 `% q</mxanel>
/ J( d; i: j: B6 z9 `& P<mxabel id=”t_lbl_Info” x=”14″ y=”184″ text=”视频认证就绪” fontSize=”12″ color=”#FFFFFF”/>
& [) V2 h. m+ Z* r! w/ n</mx:Application>9 x! U: P3 n) }+ p Q5 n
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
; [5 }4 @1 ?4 N//上面的代码,在flex builder上,是运行不了的。出现了莫明其妙的错误,原因在于符号″,应该改成“ 。
+ L4 n5 V. o7 p9 N$ m( w//在Edit->Find/Replace-->Replace All可令全文更改,更改了之后,还是有错误,原因在于:
) O# A8 g4 w. N& v+ B1 ]<mxanel x="16" //注意,这里数字的右分号和数字一样是红色的,要将红色的右分号改成黑色即可。+ n% T$ Q. N. |9 V. {* ~* z
0 D. r% L5 R7 n4 v& [# k5 C: c
2。显示手型图标。8 a' t5 V7 q4 \8 [ f7 H# ?9 F
显示手型图标在大部分的控件上都是一样的,如下(仅以Button,Label,Panel为例子):
4 L! m9 H, U1 }<?xml version="1.0" encoding="utf-8"?>1 ~8 s' W% a) X: g
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">1 P2 w. U1 |1 z) a( H1 ^% `, g* Z
<mx:Button x="115" y="79" label="Button"
1 Z. P" k, U$ X) y" n butt useHandCursor="true" />8 q3 U. {& m) |8 D
4 W4 ~; {# k5 e) _9 `- ~2 l1 z<mxabel x="35" y="173" text="Label"
4 o- Y3 g6 U$ [" S butt useHandCursor="true" //除了在Label上显示不出来,其它大部分的控件都可以的。
* s8 V1 l# X( I M7 a, W, t mouseChildren="true" width="116" height="72"/>
7 [$ v; L5 s9 Z _
- \- g0 Y7 z% o3 o% f<mxanel x="210" y="45" width="250" height="200" layout="absolute"
; p; v/ t; _1 V6 L2 H& e9 |) t butt useHandCursor="true" >
5 Z! w/ X# u5 u+ V$ P7 G</mxanel>) @. @ {: V: a7 Y. ^
</mx:Application>
) n7 f1 ]$ ?" c2 O; b y
! P/ C+ { c$ k. [" v- @+ m' D学了很长时间,发现自己走了一些弯路。由于Flex涉及内容较多,完全自学不看相关资料,还是比较费力。前一段时间在网上看到一本书机械的《Flex完全自学手册》,感觉不错。。买了一本。很快就发现把自己一直疑惑的问题给解决了。所以,这里给大家推荐一下。具体内容可以参考:http://www.china-pub.com/209227。 |
|