该用户从未签到
|
[转]Flex学习&积累% e$ D# H# a C: L
由于项目的需要,需要用到Flex,于是决定自学,在自学的过程中,遇到很多问题,而这些小问题应该积累下来,以方便以后参考。。。嘿嘿。。此文以后不定期更新。' O; X5 T, i; G
1。初学者当然要COPY网上的代码,但COPY后常遇到问题,总以为是代码有问题,其实不然。
D7 O: }5 Z k7 f& `+ j比如我在网上随便COPY了一段代码(因代码过长,将不影响说明的部分代码删除):
& H* x# q! g! w5 @" N<?xml version=”1.0″ encoding=”utf-8″?>
% `( e9 k: h, T( \- Q' Q* [<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute” width=”214″ height=”214″>5 r9 i2 B& Y, l5 I1 V
<mx:Script>4 u$ \% ?* r9 h/ e. |9 q* x
<![CDATA[
, [4 D3 A$ S& P+ R7 ximport mx.events.CloseEvent;
4 _ u5 b# R4 ^" [import mx.controls.Alert;
: ?/ C2 z* m9 |8 _6 wimport flash.net.navigateToURL;
2 X( V# p: c- k% y* g4 u* C//由于fms使用的是amf0而flex3中的as3默认使用的是amf3.所以要让flex使用AFM0+ Q" [, l- K" ~- x1 \6 m# A1 ^
NetConnection.defaultObjectEncoding = ObjectEncoding.AMF0;: y. H* Y& J& f8 e* c( c- X
private static const DEFAULT_WIDTH:Number = 160; //摄像头显示高度
/ H( C$ R2 C$ ^& q+ U3 Tprivate static const DEFAULT_HEIGHT:Number = 120; //摄像头显示高度, [4 n$ T2 }4 c$ Z& r z8 D
private var m_camera:Camera; //定义一个摄像头+ j: t$ Q. w$ R5 F+ M& y! t% {; ]
private var m_microphone:Microphone; //定义一个麦克风
& S# R0 N; l8 i+ K* C" Dprivate var m_localVideo:Video; //定义一个本地视频
' k# R7 b e, J: n7 @private var m_netConnection:NetConnection; //定认一个网络连接; [0 b( K) t$ j
private var m_outStream:NetStream; //定义一个输出流6 J$ }! |( J+ `( f5 k$ J/ g
private var m_fmsServer:String; //视频服务器地址
: {7 O1 v: F6 o8 ^private var m_userId:String; //用户ID
$ U6 y0 Y4 I7 {9 n$ d ]9 t# _]]>; ^9 {% \2 |& H. i
</mx:Script>% g0 F6 N2 q* p8 p% b) q7 Z
<mxanel x=”16″ y=”16″ width=”180″ height=”162″ layout=”absolute” title=”在线认证视频” fontSize=”12″>+ k3 Q% W; |. \* k* K% y c
<mx:VideoDisplay id=”t_vd_Video” width=”160″ height=”120″/>' S- [( [) \9 O; Z# A4 x7 t
</mxanel>
9 ?/ m" J4 j x% u: u8 l& R5 f<mxabel id=”t_lbl_Info” x=”14″ y=”184″ text=”视频认证就绪” fontSize=”12″ color=”#FFFFFF”/>
# _/ ]2 n+ B3 A</mx:Application>+ L L1 A" b" _( W$ t2 O& Q9 T3 f7 N+ X
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////# W' i) {& j. |! e/ {: N
//上面的代码,在flex builder上,是运行不了的。出现了莫明其妙的错误,原因在于符号″,应该改成“ 。
8 Y8 h& s5 h8 S) m+ l! B//在Edit->Find/Replace-->Replace All可令全文更改,更改了之后,还是有错误,原因在于:
; m4 m: F6 V" n. J( {: P5 }3 t) L<mxanel x="16" //注意,这里数字的右分号和数字一样是红色的,要将红色的右分号改成黑色即可。8 C/ J* V: V9 u2 d
1 V5 i2 @5 U" h" R! ~
2。显示手型图标。" s j1 Q" s# m# h6 U5 U3 D$ @
显示手型图标在大部分的控件上都是一样的,如下(仅以Button,Label,Panel为例子):
" a. j h7 \% k, e% E<?xml version="1.0" encoding="utf-8"?>
1 C6 ^2 z, m1 d. W, @+ {: z<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">2 I# d: k; ?3 P9 y$ v; y2 U6 m
<mx:Button x="115" y="79" label="Button"' {' H5 L3 w4 t9 C9 @2 _
butt useHandCursor="true" />+ F1 d, H! x& G* W2 T3 f `
3 E6 v O, Y) o8 f# [8 {# [
<mxabel x="35" y="173" text="Label"
+ ^$ u8 j, g0 C( l( y" V7 Z& T butt useHandCursor="true" //除了在Label上显示不出来,其它大部分的控件都可以的。
4 P5 b0 [$ w+ E9 t5 y1 @+ q% O mouseChildren="true" width="116" height="72"/>
/ m z! Y" l( j: ^9 v
u4 o% h i: _. b2 D<mxanel x="210" y="45" width="250" height="200" layout="absolute"1 @. b9 a, V+ s0 B! K0 o
butt useHandCursor="true" >
2 ?* }4 [0 R0 s' n% N</mxanel>
* v' n8 {! E O$ Y" H</mx:Application>
0 E( |" \0 G$ r+ E( i. T8 D: g3 h( p) s: L. G
学了很长时间,发现自己走了一些弯路。由于Flex涉及内容较多,完全自学不看相关资料,还是比较费力。前一段时间在网上看到一本书机械的《Flex完全自学手册》,感觉不错。。买了一本。很快就发现把自己一直疑惑的问题给解决了。所以,这里给大家推荐一下。具体内容可以参考:http://www.china-pub.com/209227。 |
|