该用户从未签到
|
[转]Flex学习&积累' w$ }. a7 a; X6 Z6 F
由于项目的需要,需要用到Flex,于是决定自学,在自学的过程中,遇到很多问题,而这些小问题应该积累下来,以方便以后参考。。。嘿嘿。。此文以后不定期更新。
& a' s" _. K* k: x- g1。初学者当然要COPY网上的代码,但COPY后常遇到问题,总以为是代码有问题,其实不然。3 u4 O9 I/ W4 @$ n8 \, f3 o
比如我在网上随便COPY了一段代码(因代码过长,将不影响说明的部分代码删除):
/ k0 b* d9 y6 T. P<?xml version=”1.0″ encoding=”utf-8″?>" r. `6 h c& h3 v4 ^" v
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute” width=”214″ height=”214″>+ |( E5 M. K, G g8 Y. o
<mx:Script>$ P$ c* y8 c$ ~' |* l" N5 j
<![CDATA[
8 ~6 z1 j8 J( }; E* s4 y# Timport mx.events.CloseEvent;5 ~) D [; w3 @0 e3 T
import mx.controls.Alert;, |/ d5 ], o; s k6 r
import flash.net.navigateToURL;: v$ I ]2 L; i6 ^ z
//由于fms使用的是amf0而flex3中的as3默认使用的是amf3.所以要让flex使用AFM04 J9 J% n; N% C5 {
NetConnection.defaultObjectEncoding = ObjectEncoding.AMF0;0 E5 ~: c- {; M q- e. L) A' M
private static const DEFAULT_WIDTH:Number = 160; //摄像头显示高度( t0 t7 b- X0 h/ s: f* x* `% ?
private static const DEFAULT_HEIGHT:Number = 120; //摄像头显示高度
5 o [# |9 S2 k4 o4 `: p9 j0 Gprivate var m_camera:Camera; //定义一个摄像头* o+ j7 d( J6 b5 u. `/ _& K
private var m_microphone:Microphone; //定义一个麦克风. ^2 `9 G' q( \
private var m_localVideo:Video; //定义一个本地视频
- D, B* f) Z; d @ |private var m_netConnection:NetConnection; //定认一个网络连接
; Z6 R( M! ]6 A) t! B) ~private var m_outStream:NetStream; //定义一个输出流
5 Z, T, Q/ x$ N7 t% R; Tprivate var m_fmsServer:String; //视频服务器地址, F% T3 P2 {8 \7 R4 t6 @& Q1 c
private var m_userId:String; //用户ID9 y9 z" x0 i* F6 W; w; @9 B9 ]
]]>
{" C0 l" H' i</mx:Script>' K, N" I/ [" k# h) ]' W3 O
<mxanel x=”16″ y=”16″ width=”180″ height=”162″ layout=”absolute” title=”在线认证视频” fontSize=”12″>
% C" T# ]( f% S, R) f# e6 M<mx:VideoDisplay id=”t_vd_Video” width=”160″ height=”120″/>3 y9 N7 A% C4 _# x
</mxanel>3 b) Q+ l, s# J. w. Y
<mxabel id=”t_lbl_Info” x=”14″ y=”184″ text=”视频认证就绪” fontSize=”12″ color=”#FFFFFF”/>9 T K" e. s" G, b- ?" a4 R
</mx:Application>
' z# q( q0 Y9 ~5 R9 x7 w////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////, X. @ R* P$ w* m4 \
//上面的代码,在flex builder上,是运行不了的。出现了莫明其妙的错误,原因在于符号″,应该改成“ 。
) m$ U: \+ d& \//在Edit->Find/Replace-->Replace All可令全文更改,更改了之后,还是有错误,原因在于:' }( F) p' z- |) x6 w
<mxanel x="16" //注意,这里数字的右分号和数字一样是红色的,要将红色的右分号改成黑色即可。
% i/ h1 P+ \% L5 i0 @( _ R, N+ F7 o6 S; V
2。显示手型图标。
5 s5 \9 ^) W9 I9 {) Q显示手型图标在大部分的控件上都是一样的,如下(仅以Button,Label,Panel为例子):
. i x0 u5 [) Y4 ^$ G<?xml version="1.0" encoding="utf-8"?>
; j" [* Y2 d7 h, m, @2 r# r& ?5 J<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
% k! ]9 y) k7 k2 f. M! V<mx:Button x="115" y="79" label="Button"9 Y& D4 q% S& A* N6 o6 G
butt useHandCursor="true" />
+ D& K$ B1 j: m% a1 R/ p- ~
+ d$ U+ W& Q* }: I/ r<mxabel x="35" y="173" text="Label"' U) A( Y: t3 a `4 a4 X6 C, x
butt useHandCursor="true" //除了在Label上显示不出来,其它大部分的控件都可以的。$ L3 x2 u$ H8 @) ?: ?" |! g! Z# Y
mouseChildren="true" width="116" height="72"/>
: ?6 z( Q& Y: N
8 |" t% c) Q# |, F" O<mxanel x="210" y="45" width="250" height="200" layout="absolute"
. ]& y/ j4 M. ~7 k& J: L butt useHandCursor="true" >0 y: a9 `: p" x% Q; r9 f
</mxanel>( S) b, }) q9 M8 ` f
</mx:Application>
. v9 \ Y; p5 A3 b. S n4 D" i1 R) U; g. e
学了很长时间,发现自己走了一些弯路。由于Flex涉及内容较多,完全自学不看相关资料,还是比较费力。前一段时间在网上看到一本书机械的《Flex完全自学手册》,感觉不错。。买了一本。很快就发现把自己一直疑惑的问题给解决了。所以,这里给大家推荐一下。具体内容可以参考:http://www.china-pub.com/209227。 |
|