|
登录后查才能浏览下载更多咨询,有问题联系QQ:3283999
您需要 登录 才可以下载或查看,没有账号?入住遨海湾
×
废话不多说 现在开始 8 P+ e3 P5 O! K5 o1 G
新见一层动作层 ( e7 x* l# k/ i) Y0 L+ g; h
* \. u3 c1 `. Y Z在第一帧中加入以下flash代码 7 }* U/ N# a* s/ L) I: c2 ~- n
loadMovieNum("http://imgfree.21cn.com/free/flash/67.swf", 1); $ E. T/ Z o# z1 I2 ~
loadMovieNum("http://imgfree.21cn.com/free/flash/75.swf", 2); 1 E$ @' B. E, m s0 E
loadMovieNum("http://imgfree.21cn.com/free/flash/25.swf", 3); h' t, g8 ]: X/ k
loadMovieNum("http://imgfree.21cn.com/free/flash/62.swf", 4);
/ ?! ]. ?2 j2 {! Z下面我来介绍一下loadmovie 与loadMovienum的区别 5 x" F+ U3 e$ w9 d% s) ~- `
一、loadMovie("url",target [, method]) 描述:函数;在播放原始 SWF 文件的同时将 SWF 文件或 JPEG 文件加载到 Flash Player 中目标影片剪辑的路径。 ( V' L- }0 D6 ?/ V
首先我们可以看到该函数有3个参数:url、target、method。其中,最后一个参数“method”是一个可选参数。
3 l1 a, C ?/ S7 K% ~9 X; I1.参数url:要加载的 SWF 文件或 JPEG 文件的绝对或相对 URL(路径)。
4 E4 v; b, j. w( _& t' q这就是说这个url可以是本地的文件路径,也可以是Internet上的文件地址。但是,无论从何处加载,都只能是 SWF 或 JPEG 文件。并且,该参数是一个字符串,所以必须写在半角双引号中,如: , u- Z4 w3 [6 Z V; O& z
loadMovie("01.swf", _root) . f0 F; L- v9 D: h9 J2 G0 _
loadMovie("01.jpg", _root)
. r# r5 h) s/ H6 IloadMovie("http://www.abc.com/01.swf", _root) # a- e: N: i P2 G
loadMovie("http://www.abc.com/01.jpg", _root)
7 Q. D8 T5 R4 |6 [$ D0 a8 p2.参数target:指向目标影片剪辑的路径。目标影片剪辑将替换为加载的 SWF 文件或图像。 4 T7 y: n+ M9 l& z' `
这个参数表示要影片将被加载到的路径,它指向目标影片剪辑的路径。加载后,目标影片剪辑将替换为加载的 SWF 文件或图像。如: loadMovie("01.swf", _root) ( ~. f; G; q, m7 S5 a
loadMovie("01.swf", _root.loading)
& T1 P: u' L% A- gloadMovie("01.swf", _root.loading.01)
0 d4 w5 W4 e; q# }+ v3 A+ p# U0 V3.参数method:可选参数,指定用于发送变量的 HTTP 方法。该参数必须是字符串 GET 或 POST。如果没有要发送的变量,则省略此参数。GET 方法将变量追加到 URL 的末尾,它用于发送少量的变量。POST 方法在单独的 HTTP 标头中发送变量,它用于发送大量的变量。
# q' @) y/ ^* l7 m' b8 q' S, u! h: a9 z" r$ s
二、loadMovieNum("url",level [, variables])
3 Z, N: U0 E& l/ J( B: k0 \" P描述:函数;在播放原来加载的 SWF 文件的同时将 SWF 文件或 JPEG 文件加载到 Flash Player 中的某个级别。
- P# v& C( T5 k# `: B首先我们可以看到该函数有3个参数:url、target、variables。其中,最后一个参数“variables”是一个可选参数。 1.参数url:要加载的 SWF 文件或 JPEG 文件的绝对或相对 URL(路径)。
% J; k3 ?! x, W+ @; Y( F" t1.参数url:要加载的 SWF 文件或 JPEG 文件的绝对或相对 URL(路径)。
0 T7 |; ^2 z) s5 {该函数的此参数和上面loadMovie中的此参数用法完全一致,这里不再作解释。 2.参数level:一个整数,指定 SWF 文件将加载到 Flash Player 中的哪个级别。 + h5 O1 l7 l6 X5 R
2.参数level:一个整数,指定 SWF 文件将加载到 Flash Player 中的哪个级别。 ' f7 s% |# ]: L, J& J
加载的时候,可以这样来写: ! o8 h [( z) y+ f% O- ]
loadMovieNum("01.swf", 1);
9 u& Z) U( P8 d, Z' KloadMovieNum("01.swf", 2); ( S I& j* ^7 M* E) c; K
loadMovieNum("01.swf", 3); ' `7 ~3 W2 Z p1 f
控制的时候,可以这样使用: _level1._x=10 ; ' O$ I7 I/ N" Z+ F
_level2.aa._alpha=50 ;
0 F8 }5 u% f5 B# ?; p# ]" m_level3.aa.bb._width=110;
9 }. D; {% C1 ` 需要注意的的是,每一个级别只能同时存在一个 SWF 或 JPEG 文件。如果两个 SWF 或 JPEG 文件的级别相同,那么后者将替换掉前者。级别不同的_level,级别大的将覆盖掉级别小的,即:数字大的将处于数字小的之上。 9 u; u. K; n9 n
3.参数variables:可选参数,指定发送变量所使用的 HTTP 方法。该参数必须是字符串 GET 或 POST。如果没有要发送的变量,则省略此参数。GET 方法将变量追加到 URL 的末尾,它用于发送少量的变量。POST 方法在单独的 HTTP 标头中发送变量,它用于发送大量的变量。 ) W x& ^# f* m9 a: _* K
三、loadMovie/loadMovieNum 的定位
$ g! s8 E8 p3 x& e$ v' F; m; c6 f我想,也许这才是大家真正要找的东东:)
( i7 @1 w4 u4 M1.loadMovie的定位
: M1 v9 \; R V; o7 V" L4 C, L* |, }4 | 由于用loadMovie加载进来的 SWF 或 JPEG 文件,最后是放置于目标影片剪辑里的,所以我们完全可以像控制MC的_x和_y,来控制加载到的目标影片剪辑。就好像我们在墙壁(_root)上挂上了一个相框(目标影片剪辑),然后又在相框里面放入(加载)了一张相片(SWF 或 JPEG 文件),那么当我们想挪动相片的位置的时候,只要移动相框的位置就可以了。
# O" J5 ~' @0 g5 T. h5 t! B' S$ o6 t 比如在主场景中有一个实例名为aa的MC(坐标为(20,30)),我们要在里面加载一个02.swf文件,并且要加载后这个放到相框(_root.aa)中的相片(02.swf)出现在主场景(_root)坐标系的(50,100)处。代码如下: 4 l2 \+ \! v2 \8 G8 N
loadMovie ( "02.swf" , _root . aa ); , }& P% r$ B, w: s/ \1 O8 C6 I
_root . aa . _x = 50 ; 4 x& G) a/ Q9 Z( p2 {5 M3 B
_root . aa . _y = 100 ; 0 V5 Y0 M6 J4 o
在实际应用中,其实更加倾向于用AS创建一个空MC,然后在这个MC中加载外部 SWF 或 JPEG 文件。代码如下: * \% D N) C/ _) K( y. ~
_root . createEmptyMovieClip ( "aa" , 1 ); 5 v3 M- N4 L: ~7 U* q/ m
with ( aa ) { " q; B9 O( N3 O8 y
_x = 50 ; ( O( i& a8 H+ R: h- n% F6 a
_y = 100 ; & L8 U% |# S. D7 Y
loadMovie ( "02.swf" ); 2 R9 w. y$ p' q# X* b; m8 `
}
e) m& X1 U6 c2.loadMovieNum的定位
; ]: d$ z" e5 J: t5 K- A8 s! e4 @/ ~ 从前面我们已经知道了,函数loadMovieNum是将 SWF 或 JPEG 文件加载到_level(级别)的。并且是用_level1._x、_level2._x、_level1.aa._x之类的来定位的。比如我们要将02.swf加载到主场景坐标系的(50,100)中,代码如下:
; x" M+ s- r& oloadMovieNum ( "02.swf" , 1 ); , E. L7 h2 C) n- K
_level1 . _x = 50 ;
; I0 Q' S, w' K# v/ x_level1 . _y = 100 ;
3 }3 A* g P) v$ V 但是在测试的时候大家会发现加载进来的02.swf并没有如我们预期的那样出现在主场景坐标系的(50,100)位置,这是为什么呢?
0 W$ C7 ?, H$ P* h: V6 }4 A! N# A原来,在没有使用loadMovieNum以前,所有的图形、MC等等都是处于_level0里的,我们通常使用的_root其实就是_level0。你可以作个测试:trace(_root==_level0),你会发现返回值是“true”。
& M9 Y" g9 S* f, A$ A# Z# M那么,我们用loadMovieNum加载 SWF 或 JPEG 文件的时候,程序就要对你指定的_level进行创建,随后再紧接着载入 SWF 或 JPEG 文件。如果像刚才代码中写的那样,不判断_level是否存在而调用其属性,势必无功而反。
; u. A9 Z. S+ x+ J! a 解决的方法也很简单,就是用一个循环来判断指定的_level是否存在。一旦_level产生,那么它的种种属性自然可以调用了。代码如下: % R6 i( R8 Z0 H9 X* P3 A q! e
loadMovieNum ( "02.swf" , 1 ); 3 S) k3 w. [+ I( A' w
onEnterFrame = function () {
z( t+ C/ j$ b+ x; [1 t& W* oif ( _level1 ) { * g. o! z3 z8 t# T/ H
with ( _level1 ) {
. H, {# K8 Z, P5 g) D, c_x = 50 ;
* Q! ^- j! O( x" D, W5 X: v# r2 I_y = 100 ;
2 N0 p% O$ c3 y) E- l' g}
8 u1 n7 z# d( j7 t3 V6 |8 Mdelete onEnterFrame ; " ?8 x# C3 _6 v0 _" U
} , r: u5 o% P0 @5 l: e
}; 2 j9 d' `5 x2 e3 U7 t7 d
或者: " G1 E+ A2 W& i# t1 Y2 t$ O9 W
loadMovieNum ( "02.swf" , 1 );
+ y1 T! o/ C$ n$ J! \6 ifunction go () { . M. q7 o% u' J" U% |1 G+ R* L
if ( _level1 ) { + }" ~3 D3 }# r" _ V! h/ Y. Y
with ( _level1 ) { 9 B' \" i# _! ~/ U7 H8 y, E" E* x# H
_x = 50 ; 3 j$ g8 E$ W) t- i+ t) v( @) O9 {
_y = 100 ;
# H9 L) x4 I8 Z9 ]) U$ m} & x5 S# T) g* ?! R2 b* j4 [- A
clearInterval ( fps ); 1 ?, h8 s% {* P# s. h
}
: j2 I$ P7 N4 @' C. ~/ B8 s}
0 W- N7 F4 [; l8 B4 Q. Yfps = setInterval ( go ); 8 ? d( L1 O% P! z% B ?# B
! }( Q' \( }$ Q M4 b, R limengdeai |
|