|
登录后查才能浏览下载更多咨询,有问题联系QQ:3283999
您需要 登录 才可以下载或查看,没有账号?入住遨海湾
×
废话不多说 现在开始
% _4 J7 G, Z% K8 a% u. j新见一层动作层 5 g6 }7 X8 Q( O5 \: l; ?# b0 ]
+ `$ m. n8 X& ? T
在第一帧中加入以下flash代码
% D; o+ `& C( ~! k1 N6 t" hloadMovieNum("http://imgfree.21cn.com/free/flash/67.swf", 1); 6 y7 X% R- Z1 U+ u( R) \0 p/ N
loadMovieNum("http://imgfree.21cn.com/free/flash/75.swf", 2);
1 c4 B ~; f8 h4 ?' gloadMovieNum("http://imgfree.21cn.com/free/flash/25.swf", 3);
9 T9 Z' |$ o/ y4 Q) a5 qloadMovieNum("http://imgfree.21cn.com/free/flash/62.swf", 4);
# K$ \3 Q+ o! m: }! p" P; p下面我来介绍一下loadmovie 与loadMovienum的区别
: s$ \* Z0 k! \' w L8 R一、loadMovie("url",target [, method]) 描述:函数;在播放原始 SWF 文件的同时将 SWF 文件或 JPEG 文件加载到 Flash Player 中目标影片剪辑的路径。
+ v: x F# P+ L9 J+ S首先我们可以看到该函数有3个参数:url、target、method。其中,最后一个参数“method”是一个可选参数。 $ E5 a5 V% m" @3 }) d
1.参数url:要加载的 SWF 文件或 JPEG 文件的绝对或相对 URL(路径)。 ( x7 K5 d0 \* @3 p
这就是说这个url可以是本地的文件路径,也可以是Internet上的文件地址。但是,无论从何处加载,都只能是 SWF 或 JPEG 文件。并且,该参数是一个字符串,所以必须写在半角双引号中,如:
5 ~) p2 o% @6 c0 EloadMovie("01.swf", _root) ) s! W3 _+ H6 |# p, ]
loadMovie("01.jpg", _root) ' @' u. x: R/ S: c" K. W' k6 v/ n
loadMovie("http://www.abc.com/01.swf", _root)
! ]% G4 }( f$ f/ `( m( A2 oloadMovie("http://www.abc.com/01.jpg", _root) $ V( C7 e$ j/ E4 l" l
2.参数target:指向目标影片剪辑的路径。目标影片剪辑将替换为加载的 SWF 文件或图像。
( a. F: q- j/ Z! y这个参数表示要影片将被加载到的路径,它指向目标影片剪辑的路径。加载后,目标影片剪辑将替换为加载的 SWF 文件或图像。如: loadMovie("01.swf", _root) # U0 {" z! v8 l. h& b
loadMovie("01.swf", _root.loading) ' A* t) G) z# e
loadMovie("01.swf", _root.loading.01) / h. K+ {9 q. g' |% @0 `
3.参数method:可选参数,指定用于发送变量的 HTTP 方法。该参数必须是字符串 GET 或 POST。如果没有要发送的变量,则省略此参数。GET 方法将变量追加到 URL 的末尾,它用于发送少量的变量。POST 方法在单独的 HTTP 标头中发送变量,它用于发送大量的变量。 5 p, T! u5 y/ n7 s) X: e, u
2 g$ N4 [( f& u 二、loadMovieNum("url",level [, variables])
; k. {! F2 R1 a* _; L* S: d! [2 s描述:函数;在播放原来加载的 SWF 文件的同时将 SWF 文件或 JPEG 文件加载到 Flash Player 中的某个级别。 2 j) V* Y, D& j9 z V
首先我们可以看到该函数有3个参数:url、target、variables。其中,最后一个参数“variables”是一个可选参数。 1.参数url:要加载的 SWF 文件或 JPEG 文件的绝对或相对 URL(路径)。 % H6 }% h9 o l: }$ K1 B8 z; t
1.参数url:要加载的 SWF 文件或 JPEG 文件的绝对或相对 URL(路径)。 4 V# z8 H/ H7 j
该函数的此参数和上面loadMovie中的此参数用法完全一致,这里不再作解释。 2.参数level:一个整数,指定 SWF 文件将加载到 Flash Player 中的哪个级别。 0 f9 M/ S$ f+ L7 _ c
2.参数level:一个整数,指定 SWF 文件将加载到 Flash Player 中的哪个级别。
1 N: A: z% x0 ^3 f加载的时候,可以这样来写: 3 U8 F2 `% V) n8 Z' I
loadMovieNum("01.swf", 1);
S0 I' ?1 l, G; bloadMovieNum("01.swf", 2);
/ L7 _9 I7 J. r0 [) N8 Y f: Y' vloadMovieNum("01.swf", 3);
# m4 E; {: M, ^控制的时候,可以这样使用: _level1._x=10 ; $ ~. X' \9 l( P+ \: S
_level2.aa._alpha=50 ; 4 C* |6 Y8 ^1 ~1 R7 `
_level3.aa.bb._width=110; & H. Z2 |- d0 z5 B
需要注意的的是,每一个级别只能同时存在一个 SWF 或 JPEG 文件。如果两个 SWF 或 JPEG 文件的级别相同,那么后者将替换掉前者。级别不同的_level,级别大的将覆盖掉级别小的,即:数字大的将处于数字小的之上。
1 L$ `7 u: o1 {6 t6 d* V5 h- W3.参数variables:可选参数,指定发送变量所使用的 HTTP 方法。该参数必须是字符串 GET 或 POST。如果没有要发送的变量,则省略此参数。GET 方法将变量追加到 URL 的末尾,它用于发送少量的变量。POST 方法在单独的 HTTP 标头中发送变量,它用于发送大量的变量。
2 W, y) P/ p- k* [1 Q三、loadMovie/loadMovieNum 的定位
/ e! z4 O$ q, Z1 s" D" w! M$ L我想,也许这才是大家真正要找的东东:)
; g5 p% G/ L( i, e1.loadMovie的定位 8 D3 v8 q4 Y) w) a* D
由于用loadMovie加载进来的 SWF 或 JPEG 文件,最后是放置于目标影片剪辑里的,所以我们完全可以像控制MC的_x和_y,来控制加载到的目标影片剪辑。就好像我们在墙壁(_root)上挂上了一个相框(目标影片剪辑),然后又在相框里面放入(加载)了一张相片(SWF 或 JPEG 文件),那么当我们想挪动相片的位置的时候,只要移动相框的位置就可以了。 # Y4 m0 Y+ d( B- F' A
比如在主场景中有一个实例名为aa的MC(坐标为(20,30)),我们要在里面加载一个02.swf文件,并且要加载后这个放到相框(_root.aa)中的相片(02.swf)出现在主场景(_root)坐标系的(50,100)处。代码如下: ) _4 O/ J9 p. @* r Y1 \, k/ {) ]' T* Y
loadMovie ( "02.swf" , _root . aa ); ! s2 L" [/ n7 ~
_root . aa . _x = 50 ; ; E2 D7 {2 q N3 ?
_root . aa . _y = 100 ; * r9 m) I* L2 i) S' a9 s
在实际应用中,其实更加倾向于用AS创建一个空MC,然后在这个MC中加载外部 SWF 或 JPEG 文件。代码如下: 1 [9 E/ f6 A2 k) q. d1 c
_root . createEmptyMovieClip ( "aa" , 1 );
6 H/ A& ^7 S' { j9 Rwith ( aa ) { + W S. b5 [3 v) O8 V3 H D
_x = 50 ; : k, _4 X# g$ `% f3 X5 m
_y = 100 ;
& i+ x% T7 V" p5 Z, jloadMovie ( "02.swf" ); " d+ M# {7 x7 U8 p; x
} . G* h! K; A( u
2.loadMovieNum的定位 ' x* _. J' }( N
从前面我们已经知道了,函数loadMovieNum是将 SWF 或 JPEG 文件加载到_level(级别)的。并且是用_level1._x、_level2._x、_level1.aa._x之类的来定位的。比如我们要将02.swf加载到主场景坐标系的(50,100)中,代码如下:
- U$ p$ U8 u$ {* }- a) Y" ~- tloadMovieNum ( "02.swf" , 1 ); 9 P1 z# f! ~' [' i" ?6 c: ?
_level1 . _x = 50 ; 4 Z' y7 k# ^- O# U% R; V
_level1 . _y = 100 ; 2 E) m4 [1 e' d& Y! u" ~9 g
但是在测试的时候大家会发现加载进来的02.swf并没有如我们预期的那样出现在主场景坐标系的(50,100)位置,这是为什么呢?
% I1 w' Q# f3 g" N, _) a原来,在没有使用loadMovieNum以前,所有的图形、MC等等都是处于_level0里的,我们通常使用的_root其实就是_level0。你可以作个测试:trace(_root==_level0),你会发现返回值是“true”。
' [) v) s' t% V' z1 U那么,我们用loadMovieNum加载 SWF 或 JPEG 文件的时候,程序就要对你指定的_level进行创建,随后再紧接着载入 SWF 或 JPEG 文件。如果像刚才代码中写的那样,不判断_level是否存在而调用其属性,势必无功而反。
2 T2 ^! G7 |5 ^$ R 解决的方法也很简单,就是用一个循环来判断指定的_level是否存在。一旦_level产生,那么它的种种属性自然可以调用了。代码如下: . ? M7 Y) Q+ K0 m. J9 x$ [( c
loadMovieNum ( "02.swf" , 1 );
) p# @2 @+ ?+ m5 B5 o8 W8 TonEnterFrame = function () {
+ S' i1 V2 o. \if ( _level1 ) { 4 }8 P2 d/ _: V( _
with ( _level1 ) {
, [7 s3 v& J* A: Y. B$ J_x = 50 ; $ b$ V+ d* f% {
_y = 100 ; 6 ^% j2 N$ }" T# D- v- @
} " u& _1 b G' g' O) ]' J$ K/ c
delete onEnterFrame ;
. j' p) |' B" |; A}
9 g, U- U0 n# ~1 D% v" Z4 d};
K0 y3 R, z6 ]* J% o或者:
5 v8 O- _9 A/ r# I- tloadMovieNum ( "02.swf" , 1 ); ! Q4 [$ n7 k3 O2 ]) k+ U6 v% g
function go () {
/ G: F4 e, E( z9 P7 i% Oif ( _level1 ) { 9 Y( L+ H( M+ j0 x) D4 X+ e2 H& c
with ( _level1 ) {
2 X$ i9 K$ p5 K, G5 U2 D_x = 50 ; + Y/ B1 i* m) Q! j) u
_y = 100 ;
: M# j( s8 } X' O7 P} 5 S7 B( Q6 S; u. h6 p$ D- ?
clearInterval ( fps ); a- n l Z. l1 J
} . {$ z1 A1 U' M7 V, M
}
. f2 w) g' @& C4 tfps = setInterval ( go );
/ Q. L6 i. S* f& I
4 \4 L$ x R F5 ]" B0 t limengdeai |
|