|
[转]Flex学习&积累
% M- m3 e( Z1 a& e9 i由于项目的需要,需要用到Flex,于是决定自学,在自学的过程中,遇到很多问题,而这些小问题应该积累下来,以方便以后参考。。。嘿嘿。。此文以后不定期更新。! Q/ i7 n$ L+ j$ Z3 [+ {
1。初学者当然要COPY网上的代码,但COPY后常遇到问题,总以为是代码有问题,其实不然。
) M2 F q: ~2 ^" r7 F) T比如我在网上随便COPY了一段代码(因代码过长,将不影响说明的部分代码删除):* M+ o/ J5 V% L1 u S
<?xml version=”1.0″ encoding=”utf-8″?>
# ^, W! c6 y# ~* r5 e7 s+ P<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute” width=”214″ height=”214″>" a( ?3 d: o' R6 h1 M. q. t
<mx:Script>
" k2 B( o2 y( C<![CDATA[
# x! [* T( R4 g* l/ pimport mx.events.CloseEvent;
) ]5 ?, d5 ^0 v+ s4 A7 F9 c- vimport mx.controls.Alert;
2 s( A! f2 P* C9 z: m4 y4 Kimport flash.net.navigateToURL;. m, ~0 M6 R) { M4 Z
//由于fms使用的是amf0而flex3中的as3默认使用的是amf3.所以要让flex使用AFM0
: ? \3 ~+ K4 \NetConnection.defaultObjectEncoding = ObjectEncoding.AMF0;
, B7 G9 u# R4 d; K2 d! {private static const DEFAULT_WIDTH:Number = 160; //摄像头显示高度. f1 S1 K; ~0 o3 y3 g+ L- A, Y1 X8 ~
private static const DEFAULT_HEIGHT:Number = 120; //摄像头显示高度
0 i1 ^9 l( Y$ rprivate var m_camera:Camera; //定义一个摄像头
% A' K `, R! {: r! |1 F4 x- S" nprivate var m_microphone:Microphone; //定义一个麦克风4 ^; W# S8 q% E& l) e% u- U
private var m_localVideo:Video; //定义一个本地视频
. H2 _6 B( A3 e% hprivate var m_netConnection:NetConnection; //定认一个网络连接8 J) E+ J8 m1 ]2 V- v. B
private var m_outStream:NetStream; //定义一个输出流/ O3 D/ m, j% f) R3 X3 B& v
private var m_fmsServer:String; //视频服务器地址+ b; {# {, ]. L! O' N/ r
private var m_userId:String; //用户ID+ m7 i5 T' E( A- C! r2 o
]]>% b$ S' s+ {, W/ |5 R3 A) o
</mx:Script>& T' _% y3 L' }* G
<mxanel x=”16″ y=”16″ width=”180″ height=”162″ layout=”absolute” title=”在线认证视频” fontSize=”12″>
0 o: n: X5 n/ ?5 v4 {8 I+ I# G<mx:VideoDisplay id=”t_vd_Video” width=”160″ height=”120″/>: R" g& W/ K2 x' O2 f: D8 _/ E% |
</mxanel>
, @' s' x2 X# V, z8 K3 J, v* c4 I, c<mxabel id=”t_lbl_Info” x=”14″ y=”184″ text=”视频认证就绪” fontSize=”12″ color=”#FFFFFF”/>6 r$ O, G& \) D9 ~, ~
</mx:Application>3 |6 H, U8 _ D* Y# N- O) D: f% r7 {
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
, H( D/ i+ W0 x6 G( ~0 P. q2 n- U1 H//上面的代码,在flex builder上,是运行不了的。出现了莫明其妙的错误,原因在于符号″,应该改成“ 。
4 J$ d! ^4 i8 v1 G4 ~//在Edit->Find/Replace-->Replace All可令全文更改,更改了之后,还是有错误,原因在于:. l, m" c' O" U X0 ^! n. P
<mxanel x="16" //注意,这里数字的右分号和数字一样是红色的,要将红色的右分号改成黑色即可。
$ u' W* ~3 v$ B2 b, {
8 @2 v( o4 U& ?1 l7 D! V, d2。显示手型图标。
1 d5 Z& K! d! ]2 @1 A显示手型图标在大部分的控件上都是一样的,如下(仅以Button,Label,Panel为例子):' s5 ^' \8 s. N0 q2 l, S) ]
<?xml version="1.0" encoding="utf-8"?>6 U. X1 v& V0 x4 `
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
( P6 g! y0 i) _+ _: @<mx:Button x="115" y="79" label="Button"' E$ G7 ^$ H$ j- N$ F
butt useHandCursor="true" />
. j6 \) y8 b+ I: e! I8 W* c ' ]. M: W; G2 S3 V6 A
<mxabel x="35" y="173" text="Label"& ?9 s# u1 p6 I% x4 [: @, k9 ~5 Z" I
butt useHandCursor="true" //除了在Label上显示不出来,其它大部分的控件都可以的。
0 y( T) h- v4 Y" N9 {, y mouseChildren="true" width="116" height="72"/>7 W# @% D f; W0 s/ O/ y B, B$ O* e
' i K& Y( ^* `4 w. A' Y+ S<mxanel x="210" y="45" width="250" height="200" layout="absolute"
9 @& j0 f" p. U1 v: |! O9 o# f: G" L butt useHandCursor="true" >3 L% U* q1 F- |0 J) Z g" Q
</mxanel> R2 H1 B/ `" h+ E1 d
</mx:Application>3 \5 x! y, a$ \0 z
2 t7 `& z8 e7 G) B5 _- O学了很长时间,发现自己走了一些弯路。由于Flex涉及内容较多,完全自学不看相关资料,还是比较费力。前一段时间在网上看到一本书机械的《Flex完全自学手册》,感觉不错。。买了一本。很快就发现把自己一直疑惑的问题给解决了。所以,这里给大家推荐一下。具体内容可以参考:http://www.china-pub.com/209227。 |
|