|
[转]Flex学习&积累
& b9 F% r- S6 Z5 a由于项目的需要,需要用到Flex,于是决定自学,在自学的过程中,遇到很多问题,而这些小问题应该积累下来,以方便以后参考。。。嘿嘿。。此文以后不定期更新。
: S) E+ [* \* I! H1。初学者当然要COPY网上的代码,但COPY后常遇到问题,总以为是代码有问题,其实不然。
# F5 L2 h6 V/ O: v比如我在网上随便COPY了一段代码(因代码过长,将不影响说明的部分代码删除):
1 C" r+ L( h9 B<?xml version=”1.0″ encoding=”utf-8″?>
% a# \' W7 t' B$ K<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute” width=”214″ height=”214″>1 b1 x3 H* b' a" j+ Z2 c% |( l
<mx:Script># n6 F( j9 f. e. T2 }
<![CDATA[
6 V" w. ]$ M' G4 qimport mx.events.CloseEvent;4 N7 V) @( M. {- J: y0 e
import mx.controls.Alert;1 \) M3 x& C- p% R: i; W- @5 _5 e
import flash.net.navigateToURL;- R) a ?, t0 p0 G9 e/ m. F
//由于fms使用的是amf0而flex3中的as3默认使用的是amf3.所以要让flex使用AFM0
5 [- b$ q. s* cNetConnection.defaultObjectEncoding = ObjectEncoding.AMF0;
, U2 {# B) c2 M# s' mprivate static const DEFAULT_WIDTH:Number = 160; //摄像头显示高度$ R/ N* \. D- J
private static const DEFAULT_HEIGHT:Number = 120; //摄像头显示高度
& b0 O6 ^1 P n% k3 ]/ aprivate var m_camera:Camera; //定义一个摄像头8 S& Z# G3 c8 [! `( C) F
private var m_microphone:Microphone; //定义一个麦克风; v# k2 J/ H% l9 h
private var m_localVideo:Video; //定义一个本地视频
- r$ U1 f6 i8 J! P7 N8 G* Fprivate var m_netConnection:NetConnection; //定认一个网络连接% U) a, c! o2 ^; |$ p* e
private var m_outStream:NetStream; //定义一个输出流. g7 W% m8 T; k' _
private var m_fmsServer:String; //视频服务器地址
& L1 W) y6 |. v) J% R+ o; Qprivate var m_userId:String; //用户ID+ `" U( _9 s8 D, j/ u
]]> c* ~; y0 n3 M4 D
</mx:Script>
( ]1 W2 K. v! ^<mxanel x=”16″ y=”16″ width=”180″ height=”162″ layout=”absolute” title=”在线认证视频” fontSize=”12″>( x4 I2 D/ n" h) T! s* g5 I
<mx:VideoDisplay id=”t_vd_Video” width=”160″ height=”120″/> z$ y& R! C" W
</mxanel>. v g" U1 N. m8 L: V3 J
<mxabel id=”t_lbl_Info” x=”14″ y=”184″ text=”视频认证就绪” fontSize=”12″ color=”#FFFFFF”/>- ^7 y- G& W& |: a4 k* u7 }; C$ N& u
</mx:Application>
# K9 J0 r/ n. B; z. e///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// W7 Q2 Q8 |4 V6 U' n) ~: j$ C) s" y, p
//上面的代码,在flex builder上,是运行不了的。出现了莫明其妙的错误,原因在于符号″,应该改成“ 。
# Q6 t( l5 S- K//在Edit->Find/Replace-->Replace All可令全文更改,更改了之后,还是有错误,原因在于:; l7 z$ c* e7 @# `, z
<mxanel x="16" //注意,这里数字的右分号和数字一样是红色的,要将红色的右分号改成黑色即可。
/ h$ x0 e# l/ Y& N) T
) U# f$ N* H2 g0 a$ L4 V/ N, c2。显示手型图标。+ k5 D: s5 z" @2 n' h: I
显示手型图标在大部分的控件上都是一样的,如下(仅以Button,Label,Panel为例子):
3 p0 B8 }5 _% _1 G q- J<?xml version="1.0" encoding="utf-8"?>
- a) H- y" M) f<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
. r, x) g0 B9 f* W) m<mx:Button x="115" y="79" label="Button"5 u; c# y" b7 w' ]6 y: |! X
butt useHandCursor="true" />
/ u2 |! ^5 M3 \3 {. g! @6 z% n
6 {+ l- o( n7 n) `$ }<mxabel x="35" y="173" text="Label"
8 U+ Y9 H; _2 f2 s butt useHandCursor="true" //除了在Label上显示不出来,其它大部分的控件都可以的。
" R( Y& |# {; v mouseChildren="true" width="116" height="72"/>! N. w8 R4 d$ s
$ s8 g/ V# N0 I% q9 t' t<mxanel x="210" y="45" width="250" height="200" layout="absolute"5 N9 _! E- K- W6 i4 g( m8 C
butt useHandCursor="true" >
& m3 o5 i* `" b: q$ u) c7 X</mxanel>* @7 R9 `$ q9 G
</mx:Application>
* }) }1 h, D& n& G2 x
% l# v" g; R; Y6 m* L学了很长时间,发现自己走了一些弯路。由于Flex涉及内容较多,完全自学不看相关资料,还是比较费力。前一段时间在网上看到一本书机械的《Flex完全自学手册》,感觉不错。。买了一本。很快就发现把自己一直疑惑的问题给解决了。所以,这里给大家推荐一下。具体内容可以参考:http://www.china-pub.com/209227。 |
|