|
登录后查才能浏览下载更多咨询,有问题联系QQ:3283999
您需要 登录 才可以下载或查看,没有账号?入住遨海湾
×
废话不多说 现在开始
4 W8 E( @% t! V0 ?' B新见一层动作层 3 M) g- I6 v) d; t: ?+ y
( Y1 W9 S+ }9 S( d
在第一帧中加入以下flash代码 7 W$ o# H0 x. p( _# ]1 O8 A6 e! P) z
loadMovieNum("http://imgfree.21cn.com/free/flash/67.swf", 1);
% h1 W* Q+ o4 M" P/ ]" sloadMovieNum("http://imgfree.21cn.com/free/flash/75.swf", 2);
. d& V' s$ D9 k% J9 UloadMovieNum("http://imgfree.21cn.com/free/flash/25.swf", 3);
i# w. n1 }5 s) W/ qloadMovieNum("http://imgfree.21cn.com/free/flash/62.swf", 4);
9 A. D" }5 \! m' j: P/ K下面我来介绍一下loadmovie 与loadMovienum的区别 ; I& F! J2 {. c. j. a3 j0 g p% P
一、loadMovie("url",target [, method]) 描述:函数;在播放原始 SWF 文件的同时将 SWF 文件或 JPEG 文件加载到 Flash Player 中目标影片剪辑的路径。
9 d( |0 G; A$ t7 A8 f# @首先我们可以看到该函数有3个参数:url、target、method。其中,最后一个参数“method”是一个可选参数。
2 }: C% C5 {/ I& q# b( W5 e1.参数url:要加载的 SWF 文件或 JPEG 文件的绝对或相对 URL(路径)。
) I) K1 V5 A7 d4 H) ?* R这就是说这个url可以是本地的文件路径,也可以是Internet上的文件地址。但是,无论从何处加载,都只能是 SWF 或 JPEG 文件。并且,该参数是一个字符串,所以必须写在半角双引号中,如: " b5 `; j& O& ~8 F% O
loadMovie("01.swf", _root)
+ G/ O5 s }& l4 WloadMovie("01.jpg", _root) & A! y, D0 B7 [" w9 g' z
loadMovie("http://www.abc.com/01.swf", _root)
* @: L2 P+ Y' i1 G1 FloadMovie("http://www.abc.com/01.jpg", _root)
! A4 x- i3 H3 X1 n e8 W: t* M2.参数target:指向目标影片剪辑的路径。目标影片剪辑将替换为加载的 SWF 文件或图像。 + B' T. B' S$ o& C" H9 y
这个参数表示要影片将被加载到的路径,它指向目标影片剪辑的路径。加载后,目标影片剪辑将替换为加载的 SWF 文件或图像。如: loadMovie("01.swf", _root)
4 b% q# P! z0 d: S" z6 D+ NloadMovie("01.swf", _root.loading)
$ X- \( N) t" ~9 rloadMovie("01.swf", _root.loading.01) # N. O9 o2 ^! E! g
3.参数method:可选参数,指定用于发送变量的 HTTP 方法。该参数必须是字符串 GET 或 POST。如果没有要发送的变量,则省略此参数。GET 方法将变量追加到 URL 的末尾,它用于发送少量的变量。POST 方法在单独的 HTTP 标头中发送变量,它用于发送大量的变量。
: V1 g: J$ |) _1 q/ o' Q8 B1 o2 W# m; c0 ?
二、loadMovieNum("url",level [, variables])
* w! l" i# J( b) A' D' w描述:函数;在播放原来加载的 SWF 文件的同时将 SWF 文件或 JPEG 文件加载到 Flash Player 中的某个级别。 6 K5 g4 s$ \! e# z
首先我们可以看到该函数有3个参数:url、target、variables。其中,最后一个参数“variables”是一个可选参数。 1.参数url:要加载的 SWF 文件或 JPEG 文件的绝对或相对 URL(路径)。
( s0 ^ E7 K+ l) e B/ k1.参数url:要加载的 SWF 文件或 JPEG 文件的绝对或相对 URL(路径)。
* r/ G+ Q3 r0 W& r$ X4 N* i该函数的此参数和上面loadMovie中的此参数用法完全一致,这里不再作解释。 2.参数level:一个整数,指定 SWF 文件将加载到 Flash Player 中的哪个级别。
: v9 y' e6 M7 V8 x5 ^6 h2.参数level:一个整数,指定 SWF 文件将加载到 Flash Player 中的哪个级别。
# j, J- h; h7 H" {" _4 Z加载的时候,可以这样来写:
* U/ c' ^0 A$ W: vloadMovieNum("01.swf", 1); " I2 J9 X6 f* s6 v( v8 ]. P
loadMovieNum("01.swf", 2); # T! `; S: `- d7 o6 o' L
loadMovieNum("01.swf", 3);
7 t# }) }3 |" c! m6 N4 Q ^- {控制的时候,可以这样使用: _level1._x=10 ; $ I! v3 k* a, F
_level2.aa._alpha=50 ; " g& j& X o* ]- @$ W( `0 w8 Y
_level3.aa.bb._width=110;
& C' s1 v7 v- A9 Z 需要注意的的是,每一个级别只能同时存在一个 SWF 或 JPEG 文件。如果两个 SWF 或 JPEG 文件的级别相同,那么后者将替换掉前者。级别不同的_level,级别大的将覆盖掉级别小的,即:数字大的将处于数字小的之上。 . n4 ]: h$ k" A
3.参数variables:可选参数,指定发送变量所使用的 HTTP 方法。该参数必须是字符串 GET 或 POST。如果没有要发送的变量,则省略此参数。GET 方法将变量追加到 URL 的末尾,它用于发送少量的变量。POST 方法在单独的 HTTP 标头中发送变量,它用于发送大量的变量。
& Q+ U4 ]- n* c三、loadMovie/loadMovieNum 的定位 & ~2 h4 g& U9 ~3 z
我想,也许这才是大家真正要找的东东:)
$ `0 r6 x7 f9 T3 J$ _- O1.loadMovie的定位 b6 i1 J' z7 ]7 R
由于用loadMovie加载进来的 SWF 或 JPEG 文件,最后是放置于目标影片剪辑里的,所以我们完全可以像控制MC的_x和_y,来控制加载到的目标影片剪辑。就好像我们在墙壁(_root)上挂上了一个相框(目标影片剪辑),然后又在相框里面放入(加载)了一张相片(SWF 或 JPEG 文件),那么当我们想挪动相片的位置的时候,只要移动相框的位置就可以了。
5 y9 T" Y+ e+ y% ]/ [1 W' f# U 比如在主场景中有一个实例名为aa的MC(坐标为(20,30)),我们要在里面加载一个02.swf文件,并且要加载后这个放到相框(_root.aa)中的相片(02.swf)出现在主场景(_root)坐标系的(50,100)处。代码如下:
: Q- G$ i' H. {+ ~/ O) iloadMovie ( "02.swf" , _root . aa ); - |; Q$ b. H$ J
_root . aa . _x = 50 ; $ A, [$ A: }9 d+ e, h. u
_root . aa . _y = 100 ;
" I0 f2 ~2 c+ t$ w9 ]' L( x- L 在实际应用中,其实更加倾向于用AS创建一个空MC,然后在这个MC中加载外部 SWF 或 JPEG 文件。代码如下: 8 y8 }% N7 ~0 G3 }6 A3 f9 Z
_root . createEmptyMovieClip ( "aa" , 1 ); / l* n& ?# y( E2 V3 Z
with ( aa ) {
b3 D( ]* {5 V; G2 i$ z: `2 r' E_x = 50 ; 4 l; J( K. y3 B* s" o
_y = 100 ;
- r2 x3 c/ @+ S6 [loadMovie ( "02.swf" );
: a. V+ ?- O) o4 Z) p8 y} O' y/ v2 ~3 U1 ?% G
2.loadMovieNum的定位
1 Q y: g% Z, p4 x' L) g0 S 从前面我们已经知道了,函数loadMovieNum是将 SWF 或 JPEG 文件加载到_level(级别)的。并且是用_level1._x、_level2._x、_level1.aa._x之类的来定位的。比如我们要将02.swf加载到主场景坐标系的(50,100)中,代码如下: H6 D( z. k5 Q( l5 `4 D) A
loadMovieNum ( "02.swf" , 1 ); & I) z8 @, ]1 Z. H+ j# x: x
_level1 . _x = 50 ; ( F: I0 Z9 s& T4 [3 p6 y4 @ @
_level1 . _y = 100 ;
' d+ a$ R5 x" a$ O: g/ S 但是在测试的时候大家会发现加载进来的02.swf并没有如我们预期的那样出现在主场景坐标系的(50,100)位置,这是为什么呢? 0 k3 N- m |) K3 I6 G- H4 C& w
原来,在没有使用loadMovieNum以前,所有的图形、MC等等都是处于_level0里的,我们通常使用的_root其实就是_level0。你可以作个测试:trace(_root==_level0),你会发现返回值是“true”。
* `" u* P$ F/ a3 e那么,我们用loadMovieNum加载 SWF 或 JPEG 文件的时候,程序就要对你指定的_level进行创建,随后再紧接着载入 SWF 或 JPEG 文件。如果像刚才代码中写的那样,不判断_level是否存在而调用其属性,势必无功而反。
2 g8 [3 y/ \2 s2 t* f8 C6 j 解决的方法也很简单,就是用一个循环来判断指定的_level是否存在。一旦_level产生,那么它的种种属性自然可以调用了。代码如下:
4 L3 z( }7 k2 p; O7 n/ MloadMovieNum ( "02.swf" , 1 );
5 u8 g0 `& J! z' C# \1 SonEnterFrame = function () { 8 B' o! `( c- R k4 O: U- F+ t# l
if ( _level1 ) { ' T% u5 w0 }6 Y
with ( _level1 ) {
, N4 A. e- F: j* }9 M, Q' A& U_x = 50 ;
: N, I, u: f% l8 |- b_y = 100 ;
, R: e; D# Z! A) n0 ~/ m} ' S! S8 U+ I' c
delete onEnterFrame ;
9 Z/ v2 X- Z2 q+ n }1 g}
1 v) T' C( l, y}; 6 J, |5 }7 s/ S) ^9 q
或者:
H6 Y4 j" @" W4 S; p1 D2 dloadMovieNum ( "02.swf" , 1 );
$ N) Y/ S' R, L6 J6 v. Y0 {2 G, ~function go () { 6 ` P2 q. I2 E# d8 n* `
if ( _level1 ) {
+ y8 a" m8 O% V5 M5 @7 ^% E) vwith ( _level1 ) { ( [, t; J1 q0 u1 X% x5 f/ ~
_x = 50 ; ) J4 O# j8 G. T! A# h4 ^& G) T2 d
_y = 100 ; . |* x) `6 d; l" X& i
}
2 p Z+ p1 y3 bclearInterval ( fps );
% l% U( a1 V3 ]7 T1 z( y) u2 M} 0 I3 B- D9 e: M9 Y/ N
}
" F) F+ J$ I9 X$ t2 bfps = setInterval ( go );
; r H" N! F2 [- ~
* I" B- f/ z; e6 b8 k limengdeai |
|