|
[转]Flex学习&积累
: v0 v1 a: E2 T1 u+ {/ S由于项目的需要,需要用到Flex,于是决定自学,在自学的过程中,遇到很多问题,而这些小问题应该积累下来,以方便以后参考。。。嘿嘿。。此文以后不定期更新。
* `( Q [- ]* w# Y: Z j1。初学者当然要COPY网上的代码,但COPY后常遇到问题,总以为是代码有问题,其实不然。5 G$ [' M c/ ~# u* v2 F d* T4 j
比如我在网上随便COPY了一段代码(因代码过长,将不影响说明的部分代码删除):
: B; y' \1 ^ Z! z2 s. N' f% m<?xml version=”1.0″ encoding=”utf-8″?>, q; A2 w/ A! a! B
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute” width=”214″ height=”214″>+ e9 ]( u% ~* p; S7 V$ ~4 Z
<mx:Script>4 T+ }: K3 w& U: O3 }
<![CDATA[; v7 t, i5 T: f' l$ a" N
import mx.events.CloseEvent;
) g5 O- e7 c& v0 x1 _3 \' Oimport mx.controls.Alert;
- J9 ` h" a" `1 ^" Q' {" S5 eimport flash.net.navigateToURL;8 t+ U/ P" t) j
//由于fms使用的是amf0而flex3中的as3默认使用的是amf3.所以要让flex使用AFM0" K4 h5 o: l$ j: o' q' F
NetConnection.defaultObjectEncoding = ObjectEncoding.AMF0;
& D! r$ z( l" r: Cprivate static const DEFAULT_WIDTH:Number = 160; //摄像头显示高度
3 g+ D( m1 v s/ g' H7 mprivate static const DEFAULT_HEIGHT:Number = 120; //摄像头显示高度
: |+ h) n, n3 n, {/ U0 V6 fprivate var m_camera:Camera; //定义一个摄像头
) h0 }$ k# j4 y I" zprivate var m_microphone:Microphone; //定义一个麦克风' T, q# A2 u; R: F; U
private var m_localVideo:Video; //定义一个本地视频. i6 q5 M8 b( E% }% l: k
private var m_netConnection:NetConnection; //定认一个网络连接+ a, u c4 K. ]% h
private var m_outStream:NetStream; //定义一个输出流
* Q$ u" v" I6 Z% Y$ l2 k: \9 v0 Lprivate var m_fmsServer:String; //视频服务器地址
- H3 `9 p% X9 J# l% y* _private var m_userId:String; //用户ID
2 c) y8 ]8 h0 q8 _2 _]]>
) d* V. T9 V! _9 t7 j</mx:Script>" N+ f: ]) B1 k3 @$ o" o" U3 _
<mxanel x=”16″ y=”16″ width=”180″ height=”162″ layout=”absolute” title=”在线认证视频” fontSize=”12″>
- Y4 G, t g2 j' I) W! m9 R<mx:VideoDisplay id=”t_vd_Video” width=”160″ height=”120″/>! W E* C+ W8 L1 q! z% H
</mxanel>& `; m* t" y* ^! }/ N
<mxabel id=”t_lbl_Info” x=”14″ y=”184″ text=”视频认证就绪” fontSize=”12″ color=”#FFFFFF”/>
4 Q/ @* \" D) B</mx:Application>
7 W/ J* E# `7 f% p# f6 L1 M////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////; `" `& x0 q4 R6 B0 d& G) E
//上面的代码,在flex builder上,是运行不了的。出现了莫明其妙的错误,原因在于符号″,应该改成“ 。
0 _! x. K! t, v' {6 b//在Edit->Find/Replace-->Replace All可令全文更改,更改了之后,还是有错误,原因在于:
" N3 n9 y6 J: A; p, ^7 q<mxanel x="16" //注意,这里数字的右分号和数字一样是红色的,要将红色的右分号改成黑色即可。) S3 H# |9 S( Q* h4 W5 z+ R) t
" a* I. ] i# |8 Y7 o5 t
2。显示手型图标。
; d8 g) c7 I+ S8 w显示手型图标在大部分的控件上都是一样的,如下(仅以Button,Label,Panel为例子):
4 U$ r* c+ o2 i8 P+ u, h6 d: D<?xml version="1.0" encoding="utf-8"?>
+ _$ ~3 _* A; U( Q. E6 W<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
) a; T0 X! x5 f1 D& T2 X+ R<mx:Button x="115" y="79" label="Button"( f6 J' B, t7 ~/ t* P. X9 _4 b
butt useHandCursor="true" />1 ?1 A2 `- a0 _: [4 v
4 c/ k7 {: [% {, w) N# {+ X<mxabel x="35" y="173" text="Label"
1 `1 N6 L. ?0 `+ @4 F* ~ butt useHandCursor="true" //除了在Label上显示不出来,其它大部分的控件都可以的。7 J1 U! F% }3 W) }. ]4 }; @! W4 S' e
mouseChildren="true" width="116" height="72"/>* l+ P% u" H0 h7 J
$ V& _5 b4 {- O( k
<mxanel x="210" y="45" width="250" height="200" layout="absolute"
" I% k* ^) Q; {: j* Q2 m9 C7 @ butt useHandCursor="true" >
! o7 c7 V7 `2 w1 H0 u' b</mxanel>2 Z% h- p& k$ W9 l$ i5 ]5 ~# N# D
</mx:Application>
" V- @8 o! b5 i7 W, ]" j9 ?9 M; E6 R
学了很长时间,发现自己走了一些弯路。由于Flex涉及内容较多,完全自学不看相关资料,还是比较费力。前一段时间在网上看到一本书机械的《Flex完全自学手册》,感觉不错。。买了一本。很快就发现把自己一直疑惑的问题给解决了。所以,这里给大家推荐一下。具体内容可以参考:http://www.china-pub.com/209227。 |
|