该用户从未签到
|
[转]Flex学习&积累
2 s- g0 n7 \3 N" \9 \5 p0 E由于项目的需要,需要用到Flex,于是决定自学,在自学的过程中,遇到很多问题,而这些小问题应该积累下来,以方便以后参考。。。嘿嘿。。此文以后不定期更新。; F, U8 h# G C: y
1。初学者当然要COPY网上的代码,但COPY后常遇到问题,总以为是代码有问题,其实不然。$ e9 p, R$ q5 C, f4 L5 K- e
比如我在网上随便COPY了一段代码(因代码过长,将不影响说明的部分代码删除):
# F6 p% r8 r) I7 u<?xml version=”1.0″ encoding=”utf-8″?> y& m/ D& `! ?: r
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute” width=”214″ height=”214″>
. R* {6 y4 e0 V8 H" b' D/ D \<mx:Script>) V$ v1 P) l! P3 g4 Z8 I
<![CDATA[ g# N l+ v# _% ?) f. K" P( ?
import mx.events.CloseEvent;0 _: h* M% A: o- U: {% d
import mx.controls.Alert;" q- t) p1 X# F( [8 s0 h6 ]# B
import flash.net.navigateToURL;+ O8 ]/ i, n, d
//由于fms使用的是amf0而flex3中的as3默认使用的是amf3.所以要让flex使用AFM0. i0 c) l# M# H0 [& {
NetConnection.defaultObjectEncoding = ObjectEncoding.AMF0;8 v/ G& y% _- l5 A+ M
private static const DEFAULT_WIDTH:Number = 160; //摄像头显示高度
0 ?9 [! Q; Z# B7 Z# [0 ]private static const DEFAULT_HEIGHT:Number = 120; //摄像头显示高度
4 m# e( v, L, Q1 cprivate var m_camera:Camera; //定义一个摄像头
/ u; R1 G& \7 o3 r7 }* n/ x, uprivate var m_microphone:Microphone; //定义一个麦克风+ ^/ c6 @# [' ~
private var m_localVideo:Video; //定义一个本地视频
~1 W5 |2 {/ T, C$ d, cprivate var m_netConnection:NetConnection; //定认一个网络连接 @- `$ R6 l" n% j
private var m_outStream:NetStream; //定义一个输出流) t9 T5 K) l% H- X& w% g0 d7 t
private var m_fmsServer:String; //视频服务器地址: [* n1 v2 a" ~5 y2 t! ^
private var m_userId:String; //用户ID
. @7 w: U; B% u9 F0 }. ^8 u]]>( q8 B) i1 P: \: Q7 p) Y1 U
</mx:Script>
: i- s( \3 k% }" a; L% T- N<mxanel x=”16″ y=”16″ width=”180″ height=”162″ layout=”absolute” title=”在线认证视频” fontSize=”12″>2 E7 I* b& c/ X5 o
<mx:VideoDisplay id=”t_vd_Video” width=”160″ height=”120″/>7 k# @: S6 ~/ n; I& \: b2 g
</mxanel>5 K$ Y: w* o0 q# ^
<mxabel id=”t_lbl_Info” x=”14″ y=”184″ text=”视频认证就绪” fontSize=”12″ color=”#FFFFFF”/>' D7 z; p) T, G2 T3 S
</mx:Application>
2 t4 V! s9 R! t( a6 ^////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7 J3 d0 G5 D, f# z& o4 C* X
//上面的代码,在flex builder上,是运行不了的。出现了莫明其妙的错误,原因在于符号″,应该改成“ 。6 L9 [1 T @( }* L+ ]! s3 i
//在Edit->Find/Replace-->Replace All可令全文更改,更改了之后,还是有错误,原因在于:
- b, m" y/ U& [8 \, f) r<mxanel x="16" //注意,这里数字的右分号和数字一样是红色的,要将红色的右分号改成黑色即可。
- Z% W; {6 h a4 `( G1 d! l) z* {4 M$ G- l, s- F
2。显示手型图标。4 j5 j; L" p) J" D0 @. ~
显示手型图标在大部分的控件上都是一样的,如下(仅以Button,Label,Panel为例子):
$ }8 U0 |" B! t3 P5 n<?xml version="1.0" encoding="utf-8"?>3 T5 n6 y$ B. a* s
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">. Z7 c0 |* i5 {7 ?& u+ w" p
<mx:Button x="115" y="79" label="Button"
+ d I( L1 W. b5 P; l5 H butt useHandCursor="true" />- s# R9 x4 b' m7 A3 c
, S: s# `7 M7 j- g7 n. }
<mxabel x="35" y="173" text="Label"% ?" o$ _, `1 I% |& o1 U
butt useHandCursor="true" //除了在Label上显示不出来,其它大部分的控件都可以的。
4 h0 Y5 L3 p% b4 v! e, Y mouseChildren="true" width="116" height="72"/>* g- n0 A; d/ e; L
" p9 ~! E% A3 `' B+ A5 ?- J
<mxanel x="210" y="45" width="250" height="200" layout="absolute"
3 D* r& c0 }- B$ J8 Q3 c/ E3 { butt useHandCursor="true" > W1 n" T- W1 t% v2 C
</mxanel>
1 [; t( u" A1 s$ F7 `+ C* M</mx:Application>
& l, T* b6 J, v7 y: y3 t# T
, t/ b. K# b d1 g+ A8 @9 J1 t学了很长时间,发现自己走了一些弯路。由于Flex涉及内容较多,完全自学不看相关资料,还是比较费力。前一段时间在网上看到一本书机械的《Flex完全自学手册》,感觉不错。。买了一本。很快就发现把自己一直疑惑的问题给解决了。所以,这里给大家推荐一下。具体内容可以参考:http://www.china-pub.com/209227。 |
|