该用户从未签到
|
[转]Flex学习&积累
4 H& y/ P- x; [* T, H5 u- K由于项目的需要,需要用到Flex,于是决定自学,在自学的过程中,遇到很多问题,而这些小问题应该积累下来,以方便以后参考。。。嘿嘿。。此文以后不定期更新。2 Q! O- S' c9 w/ C# p
1。初学者当然要COPY网上的代码,但COPY后常遇到问题,总以为是代码有问题,其实不然。
/ c& g; W0 n5 Y: R! {比如我在网上随便COPY了一段代码(因代码过长,将不影响说明的部分代码删除):; V3 i* b7 E+ d- `( `3 B$ ?
<?xml version=”1.0″ encoding=”utf-8″?>5 e$ J9 B2 E0 a6 G
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute” width=”214″ height=”214″>
; ?/ W8 f3 g4 n/ `<mx:Script>, p; }" x4 |6 v" W
<![CDATA[
' e# M8 T% y) e3 y; k4 y% I6 u* ]8 yimport mx.events.CloseEvent;& u+ V3 L8 x- u+ W Z# L' [9 E
import mx.controls.Alert;: }$ b6 h9 @# y8 M
import flash.net.navigateToURL;
& ]) J: j- f1 ~9 _; K0 Z//由于fms使用的是amf0而flex3中的as3默认使用的是amf3.所以要让flex使用AFM0
4 H& C/ z. U: H+ S' E" h: YNetConnection.defaultObjectEncoding = ObjectEncoding.AMF0;$ B6 Y7 @; f7 c" S2 B1 G
private static const DEFAULT_WIDTH:Number = 160; //摄像头显示高度
# X; z x- s, h4 yprivate static const DEFAULT_HEIGHT:Number = 120; //摄像头显示高度
/ r* L8 V; u* M: K1 W- R; tprivate var m_camera:Camera; //定义一个摄像头
" P5 u8 s' E' ~" S9 Aprivate var m_microphone:Microphone; //定义一个麦克风
. D5 U3 g' d. e* dprivate var m_localVideo:Video; //定义一个本地视频4 V. m! l2 O0 D+ C( q) A
private var m_netConnection:NetConnection; //定认一个网络连接
& ^% z) H6 o" r/ P* N. Z6 z: jprivate var m_outStream:NetStream; //定义一个输出流
# ^( U* Q6 `+ W* L/ jprivate var m_fmsServer:String; //视频服务器地址. `8 V( d1 u! Z! O
private var m_userId:String; //用户ID+ C2 B( P, b6 G9 c: u( {; ?, {
]]>
" U) `! Q# H# s1 Z( P</mx:Script>
' T- H/ _ m/ m9 f<mxanel x=”16″ y=”16″ width=”180″ height=”162″ layout=”absolute” title=”在线认证视频” fontSize=”12″>, K& {; L/ w* o/ Q. z; V U
<mx:VideoDisplay id=”t_vd_Video” width=”160″ height=”120″/>0 O* c8 d0 t8 D* e" O
</mxanel>& {! I; W! P6 {3 V7 L) n
<mxabel id=”t_lbl_Info” x=”14″ y=”184″ text=”视频认证就绪” fontSize=”12″ color=”#FFFFFF”/>
3 ^: P0 A! v! H3 k+ C, s J</mx:Application>* H+ i: k. y* e( H+ v7 ?- o
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
& ~6 P0 v. r$ `) v4 I$ L( ]5 z+ }//上面的代码,在flex builder上,是运行不了的。出现了莫明其妙的错误,原因在于符号″,应该改成“ 。% q& P- K+ n( G5 J5 x5 W( ~4 l& |
//在Edit->Find/Replace-->Replace All可令全文更改,更改了之后,还是有错误,原因在于:
! _5 K& L2 G' o; j7 R# U+ D<mxanel x="16" //注意,这里数字的右分号和数字一样是红色的,要将红色的右分号改成黑色即可。; k. Q* ]; S; s+ D+ K4 O# m
C) J8 P" a6 O. _" U2。显示手型图标。
. m# c/ a# }0 k3 L$ S显示手型图标在大部分的控件上都是一样的,如下(仅以Button,Label,Panel为例子):
- I, a* I+ V+ l4 J<?xml version="1.0" encoding="utf-8"?>+ c% l6 S' m+ r" R, P
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
7 | b- ~4 a) n7 G+ T: d" S$ n<mx:Button x="115" y="79" label="Button"
* Y0 E K& ]& i, C butt useHandCursor="true" />
, i% g9 S+ _% @ 7 ?( z% u' G' L/ I4 g& t. C, ]3 I
<mxabel x="35" y="173" text="Label"
# P" q* |) k; G6 s5 `; i- b8 w3 p butt useHandCursor="true" //除了在Label上显示不出来,其它大部分的控件都可以的。% h3 v! p, B$ D0 R/ h
mouseChildren="true" width="116" height="72"/>& K! W6 F W p& d( C! D
2 S8 X$ r, D5 e. E, P9 H. z<mxanel x="210" y="45" width="250" height="200" layout="absolute"
B" C8 m1 K* _8 M, O butt useHandCursor="true" ># m6 k3 x, U! a: J6 f6 I; c H
</mxanel>6 P" ]( U5 t' m. B7 Z4 l
</mx:Application># T$ ]6 ~ ~1 E* f& V. ]" L. Y
- Q* [+ N/ y/ k. Q* E& v学了很长时间,发现自己走了一些弯路。由于Flex涉及内容较多,完全自学不看相关资料,还是比较费力。前一段时间在网上看到一本书机械的《Flex完全自学手册》,感觉不错。。买了一本。很快就发现把自己一直疑惑的问题给解决了。所以,这里给大家推荐一下。具体内容可以参考:http://www.china-pub.com/209227。 |
|