该用户从未签到
|
[转]Flex学习&积累
; y+ Q% D) O4 L. t4 r- a由于项目的需要,需要用到Flex,于是决定自学,在自学的过程中,遇到很多问题,而这些小问题应该积累下来,以方便以后参考。。。嘿嘿。。此文以后不定期更新。
2 [& d# N- a! c L6 Y5 Z) y1。初学者当然要COPY网上的代码,但COPY后常遇到问题,总以为是代码有问题,其实不然。* c0 l0 t7 L7 i' a- [
比如我在网上随便COPY了一段代码(因代码过长,将不影响说明的部分代码删除):6 Z- X1 |, q4 Y0 a, g0 j
<?xml version=”1.0″ encoding=”utf-8″?>) l9 }' p2 {$ c+ g0 q
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute” width=”214″ height=”214″>( L; P/ I/ P& w7 E5 Q
<mx:Script>
# ?3 \& O( j: v) D& K<![CDATA[
4 H8 M5 \$ k$ d( r7 d; fimport mx.events.CloseEvent;
" X/ X" \( N- U- }9 x+ timport mx.controls.Alert;- y8 x3 j) j6 ^! X5 m+ H; o2 o
import flash.net.navigateToURL;
7 _7 C' _* Q8 P5 N) U* `5 ]//由于fms使用的是amf0而flex3中的as3默认使用的是amf3.所以要让flex使用AFM0
3 ^* I, M+ a |$ p9 Q) |; ^NetConnection.defaultObjectEncoding = ObjectEncoding.AMF0;5 T" {0 _" ]' ~2 T# B7 X
private static const DEFAULT_WIDTH:Number = 160; //摄像头显示高度' j# M7 c U0 k1 `5 g4 P) v
private static const DEFAULT_HEIGHT:Number = 120; //摄像头显示高度/ F8 w! I/ t2 E' |4 {
private var m_camera:Camera; //定义一个摄像头
; j$ B& K' |1 z. C- Eprivate var m_microphone:Microphone; //定义一个麦克风
! V. w I" p: W% u0 q/ R) }/ xprivate var m_localVideo:Video; //定义一个本地视频# X. T$ f7 ?* m1 ?: L, k* b. b7 M
private var m_netConnection:NetConnection; //定认一个网络连接
! b7 x& B6 s" Z: n c( Nprivate var m_outStream:NetStream; //定义一个输出流
* @3 Y, L. X/ Qprivate var m_fmsServer:String; //视频服务器地址 l5 ]1 }3 N3 f) f% n
private var m_userId:String; //用户ID3 E, `) Q' |3 B3 ?$ t
]]>
6 G+ L) {9 ^ F- F! o! h</mx:Script>$ }7 P+ @; ?, n. |* g* y* q: _9 C
<mxanel x=”16″ y=”16″ width=”180″ height=”162″ layout=”absolute” title=”在线认证视频” fontSize=”12″>3 }' j! j% f0 S5 U' f
<mx:VideoDisplay id=”t_vd_Video” width=”160″ height=”120″/> F2 U8 M$ B$ `- }
</mxanel>
) A, K" i7 H8 S" f6 m# N" G<mxabel id=”t_lbl_Info” x=”14″ y=”184″ text=”视频认证就绪” fontSize=”12″ color=”#FFFFFF”/>7 \- r% S8 W$ K/ m- P4 V- r
</mx:Application>$ d# G1 K& T+ o
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0 x4 l+ |! z# ?& @9 I l
//上面的代码,在flex builder上,是运行不了的。出现了莫明其妙的错误,原因在于符号″,应该改成“ 。 K( \7 \) s E
//在Edit->Find/Replace-->Replace All可令全文更改,更改了之后,还是有错误,原因在于:
. X2 u1 s8 g1 b, P k' o6 l<mxanel x="16" //注意,这里数字的右分号和数字一样是红色的,要将红色的右分号改成黑色即可。
! C# r" p6 O( `3 f
/ K( z3 E9 l4 l7 ^ b2。显示手型图标。: z% a6 I; B. V8 Q$ _
显示手型图标在大部分的控件上都是一样的,如下(仅以Button,Label,Panel为例子):
( Q2 f5 t/ k2 J- N, S<?xml version="1.0" encoding="utf-8"?>
6 r2 N0 k4 d" a2 R6 h0 e<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">" B; h7 q( c! L3 l: I7 b
<mx:Button x="115" y="79" label="Button"$ k1 j, i4 k0 J! p/ k
butt useHandCursor="true" />
6 F6 \- w, F! S , b) \2 f1 {: ^+ }8 A6 v5 h$ F
<mxabel x="35" y="173" text="Label"
1 E" c% p- t3 Z& c# A: q1 E9 B butt useHandCursor="true" //除了在Label上显示不出来,其它大部分的控件都可以的。% l4 F) U1 {1 E
mouseChildren="true" width="116" height="72"/>$ n( w, J0 n$ @0 r' U
6 k0 f9 W# e! K& n" Y I& Y1 V
<mxanel x="210" y="45" width="250" height="200" layout="absolute"* |. O. d) ?& D j- P$ R
butt useHandCursor="true" >
" L4 t- `0 e2 c: f7 n; M</mxanel>/ E$ v9 y& |9 s2 u5 Q* z) i" C
</mx:Application>& S! f; H% q9 t t! G) Q$ I
" ~; V+ s( r/ o' s' a8 G! |+ j. x
学了很长时间,发现自己走了一些弯路。由于Flex涉及内容较多,完全自学不看相关资料,还是比较费力。前一段时间在网上看到一本书机械的《Flex完全自学手册》,感觉不错。。买了一本。很快就发现把自己一直疑惑的问题给解决了。所以,这里给大家推荐一下。具体内容可以参考:http://www.china-pub.com/209227。 |
|