发新话题
打印

flash专栏

本主题由 夜飞鹰 于 2006-9-12 07:20 设置高亮

flash专栏

loadmovie("url",level/target[,variables])参数:url要加载的swf文件或jpeg文件的绝对或相对url。target指向目标影片剪辑的路径。
举例:如果有一个文件是C:\111.swf。要调用,则用:loadmovie("c:\111.swf")。

TOP

flash专栏


举例:如果有一个文件是C:\111.swf。要调用,则用:loadmovie("c:\111.swf ...
[/quote]
我也这样在c盘调用这个swf文件,可是不行啊,汗~~~~~~~

TOP

flash专栏

说得不细,抱歉!
首先你要把你这个文件保存,然后把你要调用的这个SWF文件和你这个保存的文件放在一个目录中,然后用loadmovie("111.swf")。(111.swf是你要调用的文件)

TOP

flash专栏

我的邮箱是zhangxianb@163.com

TOP

flash专栏

第一步:打开Flash
第二步:首先把表盘画好(做的好看就行,比如我的^-^)
第三步:做三个影片剪辑,名称分别是 shizhen 、 fenzhen 、 miaozhen (自已随便,就画三条线就行了,注意粗细长短要有分别), 把三个表针底端对齐,并都指向12点。
第四步:在第一祯里写上如下AS(不明白回去看看帮助):
_root.onEnterFrame = function() {
var mydate = new Date();
setProperty("shizhen", _rotation, (mydate.getHours()+mydate.getMinutes()/60)*30);
setProperty("fenzhen", _rotation, (mydate.getMinutes()+mydate.getSeconds()/60)*6);
setProperty("miaozhen", _rotation, mydate.getSeconds()*6);
};
第五步:反复修改,做个有个性的。

TOP

flash专栏

文字跟随鼠标 as: zw="张文是一个老师!!!!"; zwc=zw.length; var i=0; while(i

TOP

flash专栏

- Go to 跳转到指定的帧      - Play 播放      - Stop 停止      - Toggle High Quality 在高画质和低画质间切换      - Stop All Sounds 停止所有声音的播放      - Get URL 跳转至某个超联结      - FSCommand 发送FSCommand命令      - Load Movie 装载影片      - Unload Movie 卸载影片      - Tell Target 告知目标      - If Frame Is Loaded ..判断帧是否被完全载入      - On Mouse Event 鼠标事件   。其他Actions。包括:    - break 跳出循环    - call 调用指定帧(一般喊有某个特定函数)    - comment 注释    - continue 继续循环    - delete 删除一个对象(Object)中的变量    - do while do while循环    - duplicateMovieClip 复制MC    - else 否则(与if联用)    - else if 否则如果(与if联用)    - evaluate 调用自定义函数(Function)    - for for循环    - for .. in 依次取得对象(Object)中的各个属性或者某个数组中的所有元素     - FSCommand 发送FSCommand命令    - function 声明自定义函数    - getURL 跳转至某个超联结    - goto 跳转到指定的帧    - if 如果    - ifFrameLoaded ..帧是否完全被载入    - include 读入外部的ActionScript程序文件(.as)    - loadMovie 装载MC    - loadVariables 转载外部文件中的数据,这些外部文件可以是文本文件,或者是由ASP/CGI等脚本返回的文本值    - on 鼠标事件的触发条件    - onClipEvent MC的事件触发程序    - play 播放    - print 输出到打印机    - removeMovieClip 删除MC    - return 在函数(function)中返回一个值    - set variable 设定变量值    - setProperty 设定属性    - startDrag 开始拖动    - stop 停止    - stopAllSounds 停止所有声音的播放    - stopDrag 停止拖动    - swapDepths 交换两个MC的深度    - tellTarget 指定Action命令生效的目标    - toggleHighQuality 在高画质和低画质间切换    - trace 跟踪调试    - unloadMovie 卸载MC    - var 声明局部变量    - while 当..成立时..    - with 对..对象(Object)做..    。操作符( Operators)    - ! 逻辑非操作    - != 不等于    - "" 字符串    - % 取余数    - && 逻辑与操作    - () 括号    - * 乘号    - + 加号    - ++ 变量自加一    - - 减号    - -- 变量自减一    - / 除号    - < 小于    - <= 小于等于    - <> 不等于    - == 相等    - > 大于    - >= 大于等于    - and 逻辑与    - not 逻辑非    - or 逻辑或    - typeof 返回变量类型    - void 实体,无返回    - | | 逻辑或操作   + Bitwise Operators 位操作符    - & 位与操作    - << 位左移    - >> 位右移    - >>> 位右移(无符号)    - ^ 位异或操作    - | 位或操作    - ~ 补位操作   + Compound Assign Operators 复合操作符    - %= A%=B 等效于 A=A%B    - &= A&=B 等效于 A=A&B    - *= A*=B 等效于 A=A*B    - += A+=B 等效于 A=A+B    - -= A-=B 等效于 A=A-B    - /= A/=B 等效于 A=A/B    - <<= A<<=B 等效于 A=A<>= A>>=B 等效于 A=A>>B    - >>>= A>>>=B 等效于 A=A>>>B    - ^= A^=B 等效于 A=A^B    - |= A|=B 等效于 A=A|B   + String Operators 字符串操作符(注:实质上是ASCII的比较)    - add 连接两个字符串    - eq A eq B 字符串A值与字符串值B相等    - ge A ge B 字符串A值大于等于字符串B值    - gt A gt B 字符串A值大于字符串B值    - le A le B 字符串A值小于等于字符串B值    - lt A lt B 字符串A值小于字符串B值    - ne A ne B 字符串A值不等于字符串B值   + Functions 函数    - Boolean 取表达式的布尔值(True 或 False)    - escape 除去URL串中的非法字符,将其参数按照URL编码的格式转化为字符串(String)    - eval 访问并计算表达式(expression)的值,并以字符串(String)的形式返回该值    - false 布尔非值(0)    - getProperty 获取属性    - getTimer 获取从电影开始播放到现在的总播放时间(毫秒数)    - getVersion 获取浏览器的FLASHPlayer的版本号    - globalToLocal 场景(Scene)中的坐标转换成MC中的坐标    - hitTest 测试一个点或者MC是否同另一个交叉(即冲突检测)    - int 把十进制数值强制转换成整数    - isFinite 测试数值是否为有限数    - isNaN 测试是否为非数值    - keycode 返回键盘按下键的键盘值(ASCII值)    - localToGlobal MC中的坐标转换成场景(Scene)中的坐标    - maxscroll 文本框的最大行度    - newline 换行符    - Number 将参数转换成数值其返回值有以下四种情况:    如果 x 为一数字,则返回值即为该数字;如果 x 为一布尔数,则返回0或1;如果 x 为一字符串,则函数将x解释为一个指数形式的十进制数;如果x未定义,则返回0。    - parseFloat 将字符串转换成浮点数    - parseInt 将字符串转换成整数     - random 产生0到指定数间的随机数    - scroll 文本框中的起始滚动行    - String 将参数转换成字符串    - targetPath 返回指定实例MC的路径字符串    - true 布尔是值(1)    - unescape 保留字符串中的%XX格式的十六进制字符    + String Functions 字符串函数    - chr 将ASCII码转换成相应字符    - length 返回字符串的长度    - mbchr 将ASCII/S-JIS编码转换成相应的多字节字符    - mblength 返回多字节字符串的长度    - mbord 将多字节字符转换成相应的ASCII/S-JIS编码    - mbsubstring 截取多字节字符串中的字串    - ord 将字符转换成ASCII码    - substring 截取字符串中的子串    + Properties 属性    - _alpha Alpha值(透明度值)    - _currentframe 在MC中的当前帧数    - _droptarget 当使用Start drag拖动一个MC时,实时地返回该MC的绝对路径    - _focusrect 高亮按钮或者某个当前区域的显示与否(True显示/Flase不显示)    - _framesloaded 已载入的影帧数    - _height MC的高度    - _highquality 画质的高低(True高画质/False低画质)    - _name MC的实例名      - _quality 当前画质(字符串值) LOW,MEDIUM,HIGH,BEST    - _rotation MC旋转的角度(单位:度)    - _soundbuftime 声音的缓冲区大小(默认值5,单位:秒)    - _target MC的路径    - _totalframes 总帧数    - _url 电影被调用的URL地址    - _visible 是否可视(True可视/False不可视)    - _width MC的宽度    - _x MC的x坐标    - _xmouse 鼠标的x坐标    - _xscale MC的X轴向缩放度    - _y MC的y坐标    - _ymouse 鼠标的y坐标    - _yscale MC的y轴向缩放度   + Objects 对象    + Array 数组     - concat 合并多个数组     - join 将一个数组中的元素转化成字符串,并通过特定的分割符进行联结,并返回结果字符串     - length 返回数组长度     - new Array 新建数组对象     - pop 出栈 (FILO 先入后出)     - push 入栈 (入队列)     - reverse 反相(颠倒数组,及第一个元素和最后一个元素互换……)     - shift 出队列 (FIFO 先入先出)     - slice 截取数组中的子串生成新的数组     - sort 数组元素的排序     - splice 从数组中指定元素起删除指定个数的元素或者删除指定元素     - unshift 从数组头部插入一个元素    + Boolean 布尔对象     - new Boolean 新建布尔型对象     - toString 将布尔型对象的值转换成字符串值     - valueOf 获取布尔型对象的值(返回值为布尔型)    + Color 颜色对象     - getRGB 获取颜色值的RGB分量(返回值0xRRGGBB十六进制)     - getTransform 获取颜色值的转换量(返回值 cxform 型) [不太清楚]     - new Color 新建一颜色对象     - setRGB 设置颜色值的RGB分量(参数为0xRRGGBB十六进制)     - setTransform 设置颜色值的转换量(参数为 cxform 型) [不太清楚]    + Date 时间和日期对象     - getDate 获取当前日期(本月的几号)     - getDay 获取今天是星期几(0-Sunday,1-Monday...)     - getFullYear 获取当前年份(四位数字)     - getHours 获取当前小时数(24小时制,0-23)     - getMilliseconds 获取当前毫秒数     - getMinutes 获取当前分钟数     - getMonth 获取当前月份(注意从0开始:0-Jan,1-Feb...)     - getSeconds 获取当前秒数     - getTime 获取UTC格式的从1970.1.1 0:00以来的秒数     - getTimezoneOffset 获取当前时间和UTC格式的偏移值(以分钟为单位)     - getUTCDate 获取UTC格式的当前日期(本月的几号)     - getUTCDay 获取UTC格式的今天是星期几(0-Sunday,1-Monday...)     - getUTCFullYear 获取UTC格式的当前年份(四位数字)     - getUTCHours 获取UTC格式的当前小时数(24小时制,0-23)     - getUTCMilliseconds 获取UTC格式的当前毫秒数     - getUTCMinutes 获取UTC格式的当前分钟数     - getUTCMonth 获取UTC格式的当前月份(注意从0开始:0-Jan,1-Feb...)     - getUTCSeconds 获取UTC格式的当前秒数     - getYear 获取当前缩写年份(当前年份减去1900)     - new Date 新建日期时间对象     - setDate 设置当前日期(本月的几号)     - setFullYear 设置当前年份(四位数字)     - setHours 设置当前小时数(24小时制,0-23)     - setMilliseconds 设置当前毫秒数     - setMinutes 设置当前分钟数     - setMonth 设置当前月份(注意从0开始:0-Jan,1-Feb...)     - setSeconds 设置当前秒数     - setTime 设置UTC格式的从1970.1.1 0:00以来的秒数     - setUTCDate 设置UTC格式的当前日期(本月的几号)     - setUTCFullYear 设置UTC格式的当前年份(四位数字)     - setUTCHours 设置UTC格式的当前小时数(24小时制,0-23)     - setUTCMilliseconds 设置UTC格式的当前毫秒数     - setUTCMinutes 设置UTC格式的当前分钟数     - setUTCMonth 设置UTC格式的当前月份(注意从0开始:0-Jan,1-Feb...)     - setUTCSeconds 设置UTC格式的当前秒数     - setYear 设置当前缩写年份(当前年份减去1900)     - toString 将日期时间值转换成"日期/时间"形式的字符串值     - UTC 返回指定的UTC格式日期时间的固定时间值    + Key 键盘对象     - BACKSPACE Backspace(<-)键     - CAPSLOCK CapsLock键     - CONTROL Ctrl键     - DELETEKEY Delete(Del)键     - DOWN 方向下键     - END End键     - ENTER Enter(回车)键     - ESCAPE Esc键     - getAscii 获取最后一个按下或松开的键的对应字符的Ascii码     - getCode 获取最后一个被按下的键的键盘扫描码     - HOME Home键     - INSERT Insert(Ins)键     - isDown 当指定键被按下时返回True值     - isToggled 当Caps lock或者Num Lock键被锁定时返回真(True)     - LEFT 方向左键     - PGDN PageDown(PGDN)键     - PGUP PageUp(PGUP)键     - RIGHT 方向右键     - SHIFT Shift键     - SPACE 空格键     - TAB Tab键     - UP 方向上键    + Math 数学函数对象     - abs abs(n) 取n的绝对值     - acos acos(n) n的反余弦(返回值单位:弧度)     - asin asin(n) n的反正弦(返回值单位:弧度)     - atan atan(n) n的反正切(返回值单位:弧度)     - atan2 atan2(x,y) 计算x/y的反正切     - ceil ceil(n) 取靠近n的上限的整数(向上取整)     - cos cos(n) 取n的余弦(n的单位:弧度)     - E Euler(欧拉)指数(约为2.718)     - exp 指数     - floor floor(n) 取靠近n的下限的整数(向下取整)     - LN10 ln10(约等于2.302)     - LN2 ln2(约等于0.693)     - log 取自然对数(e为底)     - LOG10E 10为底取E的对数(约等于0.434)     - LOG2E 2为底取E的对数(约等于1.443)     - max 返回两参数中的最大值     - min 返回两参数中的最小值     - PI 圆周率(约等于3.14159)     - pow pow(x,y) x的y次方     - random 产生0-1间的随机数     - round 四舍五入取整     - sin sin(n) 取n的正弦(n的单位:弧度)     - sqrt 开根号     - SQRT1_2 0.5开根号(约等于0.707)     - SQRT2 2开根号(约等于1.414)     - tan tan(n) 取n的正切(n的单位:弧度)    + MovieClip 影片夹子对象     - attachMovie 产生一个库中MC的实体并将它绑定到某个电影上     - dupicateMovieClip 复制当前MC产生新的MC     - getURL 使浏览器浏览指定页面     - gotoAndPlay 跳转到指定帧并播放     - gotoAndStop 跳转到指定帧并停止播放     - loadMovie 引入一个外部电影到指定层     - loadVariables 引入外部文件中的变量值     - nextFrame 下一帧     - play 播放     - prevFrame 前一帧     - removeMovieClip 删除用duplicateMovieClip创建的MC     - startDrag 开始拖动MC     - stop 停止MC的播放     - stopDrag 停止拖动MC     - unloadMovie 卸载由loadMovie引入的Movie    + Mouse 鼠标对象     - hide 隐藏鼠标指针     - show 显示鼠标指针    + Number 数值对象     - MAX_value FLASH5 所允许的最大数值1.79769313486231 e 308     - MIN_value FLASH5 所允许的最小数值5 e -324     - NaN 是否为非数值(Not a Number)     - NEGATIVE_INFINITY 是否为负数     - new Number 新建数值对象     - POSITIVE_INFINITY 是否为正数     - toString 将数值转换成字符串    + Object 对象     - new Object 新建对象     - toString 转换对象为字符串     - valueOf 返回对象的值    + Selection 选择区对象     - getBeginIndex 获取可编辑文本区的起始位置,-1表示无可编辑文本区     - getCaretIndex 获取当前的编辑位置,-1表示没有可编辑文本区     - getEndIndex 获取可编辑文本区的结束位置,-1表示无可编辑文本区     - getFocus 获取当前的激活文本区的文本变量名     - setFocus 设置当前的激活文本区     - setSelection 设置可编辑文本的起始位置和终止位置    + Sound 声音对象     - attachSound 绑定库中的一个声音     - getPan 获取声音的混音值 [不太清楚]     - getTransform 获取当前声音的变换量(返回值类型:sxform) [不太清楚]     - getVolume 获取当前声音的音量(百分比)     - new Sound 新建声音对象     - setPan 设置声音的混音值 [不太清楚]     - setTransform 设置当前声音的变换量(参数类型:sxform) [不太清楚]     - setVloume 设置当前声音的音量(百分比)     - start 开始播放当前声音     - stop 停止播放当前声音    + String 字符串对象     - charAt 在指定的索引表中返回一个字符     - charCodeAt 在指定的索引表中返回一个字符的代码     - concat 联结合并多个字符串     - fromCharCode 从字符代码组构造出一个新的字符串     - indexOf 在字符串中寻找子串,返回子串起始位置或-1(-1表示未找到)     - lastIndexOf 在字符串中寻找子串,返回子串终止位置或-1(-1表示未找到)     - length 返回字符串的长度     - new String 新建字符串对象     - slice 返回字符串中指定截取的子串     - split 根据限定符将字符串转换成一个数组     - substr substr( start, length ) 返回从start开始,共length长的子串     - substring substring( indexA, indexB ) 返回indexA..indexB之间的子串     - toLowerCase 将字符串中的大写字符全部转换成小写     - toUpperCase 将字符串中的小写字符全部转换成大写    + XML 可扩充性标记语言对象     - appendChild 添加一个子结点到指定的XML元素     - attributes XML元素的属性数组     - childNodes 一个XML元素的子结点数组     - cloneNode 克隆(复制)当前结点     - createElement 新建一个新的XML元素     - createTextNode 新建一个新的XML文本结点     - firstChild 返回当前XML结点的第一个子结点     - hasChildNodes 当前XML结点是否有子结点(返回true有子结点/flash则无)     - insertBefore 在一个指定的XML元素的子结点前插入一个新的子结点     - lastChild 返回当前XML结点的最后一个子结点     - load 从指定的URL把XML元素引入FLASH中     - loaded 当XML元素引入或是发送同时引入FLASH中后,返回true值     - new XML 新建一个XML对象     - nextSibling 当前XML结点的下一个结点     - nodeName 返回当前XML结点的名字     - nodeType 返回当前XML结点的类型(1-元素,3-文本)     - nodevalue 返回当前XML结点的值(text型返回文本)     - onLoad 当引入或发送同时引入时触发事件     - parentNode 返回当前XML结点的父结点     - parseXML 将XML字符串转换成XML对象     - previousSibling 当前XML结点的前一个结点     - removeNode 从XML文本中删除结点     - send 从FLASH中把一个XML元素发送到指定的URL地址     - sendAndLoad 从FLASH中把一个XML元素发送到指定的URL地址同时引入XML结果     - toString 把XML对象转换为XML字符串表达    + XMLSocket XML套接口     - close 关闭一个XML套接口     - connect 连接一个XML套接口,指定URL,并定义其端口号     - new XMLSocket 建立一个新的XML套接口     - onClose 关闭XML套接口时触发事件     - onConnect 连接XML套接口时触发事件     - onXML 从服务器上获取XML时触发事件     - send 发送XML给服务器 Flash密码也 1.防asv反编译: 在代码的前面加上: function a ( ) { 0 ( ) } 2.保护swf文件加密: 在动画的第一帧加入检测url 的代码: web=getproperty(" ", _url); test=web.“indexof ”("your url ", "0.000000d"); if(test==“-1”){ gotoAndStop(88); //此帧数任一。 elseif( not(test=="-1")){ gotoAndPlay( getproperty(“ ”, -currentframe+1)); } }

TOP

flash专栏

什么是类,什么是对象,类的构造函数是一个特殊的函数,它创建了该类的新实例。
如:
构造函数Array()
list = new Array();
面向对象编程中这是一种规定:构造函数与类的名称相同.
类的构造函数通过new来调用。 new关键字使该函数生成一个新的对象并将其传递给外界
Array 构造函数址分灵活,有3种调用方式。
1.
myarray = new Array();
不带参数的构造函数,它将生成一个空的数组。
2.
myarray = new Array(3);
参数确定了数组的长度.
trace(myarray);     //输出:undefined,undefined,undefined
可以看到二个逗号,分开3元素;
3.
weekdays = new Array ("monday","tuesday","wednesday","thursday,"friday");
向构造函数传递二个事更多参数,每个参数成为数组的一个元素.
使用方便的方括号语法可以完成相同的目的:
weekdays = ["monday","tuesday","wednesday","thursday,"friday"];

有些构造函数必须传递一个或更多的参数,如Color对象总是针对一个影片而言的。
col = new Color (mc);

有三个内置类被称为可视类 Button  MovieClip TextField.独特之处是可以“手工”创建放在画面中
然而:mc = new MovieClip();
     btn = new Button();
     tf = new TextField();
这些是错误的
关键字new不能用来创建可视类的实例.
还有一些未公开的类就不谈了

在AS中,每个构造函数都有一个属性.称为prototype(原型),
trace (typeof Array.prototype);//typeof是什么不解释了,自己查一下,
trace (typeof Color.prototype);
trace (typeof String.prototype);//都输出object
可视类构造函数并不创建实例,然而也有各自的原型
trace (typeof MovieClip.prototype);
trace (typeof Button.prototype);
trace (typeof TextField.prototype);
但,静态内置对象,如 Math,Stage,Mouse没有原型
trace (typeof Math.prototype);//输出:undefined
所以不能成为构造函数,不能成为类.
原型对象是将一个类维系在一起的纽带。这句话好重要,一会再解释。
function Widget() {};
Widget就会被自动分配一个原型属性Widget.prototype
trace (typeof Widget.prototype);
我们可以在Widget.prototype中加入新的属性。如size(名字可以随便自己定)属性:
Widget.prototype.size = 10;
如果稍后我们创建一个新的Widget实例,它就会自动继承size属性能:
w =new Widget();//这就是widget实例;
//测试一下
trace (w.size);
所有ActionScript 类都具有这个特征,每个实例都从它的类构造函数的原型继承属性.
如:
所有的影片片段都继承自MovieClip.prototype
所有的数组都继承自Array.prototype
所有的文本域都继承自TextField.prototype.

明天继续讲类的实例之间的继承关系实际是怎样发生的?
就是解释上一句“原型对象是将一个类维系在一起的纽带”.........

TOP

flash专栏

类的实例之间的继承关系实际是怎样发生的?
就是解释上一句“原型对象是将一个类维系在一起的纽带”.........
__proto__属性是关键.它是指向该原型的。当你调用对象的一个属性时,程序会
在对象本身当中查询该属性。如果没找到。就会__proto__所指向对象的属性当中
找。还会重复这个过程。沿着__proto__一级一级找,直到找到为止.
如:
arr = new Array();
trace (typeof arr.__proto__):              //输出bject
trace (arr.__proto__ == Array.prototype);  //输出:true
发现他们是相等的,前者指向后者.

为类添加方法。
MovieClip.prototype.haha = function() {
this._rotation = 30;
}
现在通过调用该方法就可以翻转任何一个影片。
mc.haha();

TOP

flash专栏

请问寒冷思雨:能具体解释一下吗:
setProperty("shizhen", _rotation, (mydate.getHours()+mydate.getMinutes()/60)*30);
setProperty("fenzhen", _rotation, (mydate.getMinutes()+mydate.getSeconds()/60)*6);
setProperty("miaozhen", _rotation, mydate.getSeconds()*6);

TOP

flash专栏

setProperty("shizhen", _rotation, (mydate.getHours()+mydate.getMinutes()/60)*30);是设置小时,
setProperty("fenzhen", _rotation, (mydate.getMinutes()+mydate.getSeconds()/60)*6);是设置分钟
setProperty("miaozhen", _rotation, mydate.getSeconds()*6);是设置秒

TOP

flash专栏

分别获设置时针、分针、秒针的旋转度数,因为他们都是影片剪辑,实例名分别为shizhen、fenzhen、miaozhen

TOP

flash专栏

引用:
下面引用由xtellen2004/11/24 08:38pm 发表的内容:
请问寒冷思雨:能具体解释一下吗:
setProperty("shizhen", _rotation, (mydate.getHours()+mydate.getMinutes()/60)*30);
setProperty("fenzhen", _rotation, (mydate.getMinutes()+my ...
setProperty设置的意思
shizhen,是时针的实例名称
_rotation旋转的意思
(mydate.getHours()+mydate.getMinutes()/60)*30);把获取的系统时间转换成旋转度数
当然要不断刷新,因为时间在不断变化!!!

TOP

flash专栏

mydate.getHours()+mydate.getMinutes()/60)*30
这种算法是怎么想到的?

TOP

flash专栏

按着圆的角度来计算。

TOP

flash专栏

[这个贴子最后由寒冰思雨在 2004/11/26 09:41am 第 1 次编辑]
引用:
下面引用由xtellen2004/11/25 09:28pm 发表的内容:
mydate.getHours()+mydate.getMinutes()/60)*30
这种算法是怎么想到的?
getHours()取得小时数,getMinutes()取得分钟,getMinutes()/60转换成小时,因为每小时时针转动30度,所以乘30,明白了吗???

TOP

flash专栏

[教程]如何正确理解_root/_level/depth的关系
出处:Flash8
作者:闪刀浪子
原文:http://www.flash8.net/dispbbs.asp?boardID=10&ID=58878
最近看到很多朋友发贴说不清楚_root和_level是干什么的,还有一个depth(深度)。
经常把人搞得晕乎。xx( 所以痛下决心一定要让各位深入了解。如果认为说的对的
给点掌声,认为说的错的扔点砖头顺带一起研究。
_level与路径
在开始教程之前先说一下文件的目录结构,因为这种结构与swf中的路径结构十分相似
先来看一张图。
在我的电脑里有一个mypath.swf的文件,它存放在我的电脑的C盘的downloads目录的
A star算法实例目录中。
我们访问的时候可以这么访问c:\downloads\A star算法实例\mypath.swf。这一长串路
径说明了mypath.swf在我的电脑里的存储位置。Flash中MC或者其他对象在swf中的存
储也遵循着同样的规则。
还是以上面为例,如果我们把我的电脑看成一个Flash文件,那么下面的C D E盘就相当
于flash中的_level0 _level1 _level2,downloads和A star算法实例这两个目录就相当于
两个MC,而mypath.swf就是最终的mc。和文件的访问方式相同在这里访问mypath.swf
你可以用_level.downloads.A star算法实例.(mypath.swf)来访问他了。是不是有点明白
了?不过注意上面的_level.downloads.A star算法实例.(mypath.swf)只是说明一下原理
真正使用时你不能用mypath.swf这种名字给MC命名的。
给张完整的图(有点丑陋,)

关于_root
_root相当于根,还是先用上面第一张图的文件结构来说明:
对于c:\downloads\A star算法实例\mypath.swf这个文件,它的根就是C盘。
针对c盘的任何一个文件她的根就是C盘,针对于任何一个D盘的文件她的根就是D盘
以此类推。
同样在flash里面也是如此。针对任何一个_leve0的Mc,它的_root就是_level0.依此类推
什么是depth
Depth表示的是深度,这与_level和_root是两码事。因为depth至于显示有关,Depth
越大,就显示在上面。而_level和_root的最重要的作用是用来识别MC在flash 中的路径
要注意的是_level是有各自默认的Depth,并且每个mc中都有自己的Depth
可以分配。
为什么说_level有各自默认的Depth。因为所有的_level(包括_level0、_level1、_level2......)
他们实际上都从属于一个更上一级的MC,大概就是SWF本身了。
_level0位于SWF的-16384这个位置
_level1位于SWF的-16383这个位置
依此类推,Flash大概支持955599999999个_level(具体的没有册出来),如果还是用
文件的方式来理解,那么就是说可以有955599999999左右的盘符。
如果你不想用系统对_level的默认深度你甚至可以交换_level0和level1的深度,别不信。
试试知道了
下面我们做一个例子说明一下
在flash中新开一个文件,
第一桢写入
loadMovie("logo.jpg",1); //这里的logo.jpg当然是填入你本地的任何一个jpg文件
然后新建一个层随便画点什么东西在,保证这个层一直存在到30桢,一定要保证新加载
的图片和这个层上面的东西重叠,否则无法看到效果的。
第15桢写入
trace("_level0 depth="+this.getDepth());
trace("_level1 depth="+_level1.getDepth());
this.swapDepths(1);
第30帧写入
trace("_level0 depth="+this.getDepth());
trace("_level1 depth="+_level1.getDepth());
stop();
好了运行以下,你可以看到当_level0与depth 1 交换时,_level0上的东西移到了_level1的上面
结果是
_level0 depth=-16384
_level1 depth=-16383
_level0 depth=1
_level1 depth=-16383
是不是很有意思
提示:各个level中必须有东西才可以trace,如果你没有使用loadMovie到_level1,那么trace(_level1.getDepth())是无效的
前面说到的每个MC拥有自己可以分配的depth,这也好理解。
就是说假如_level1中可以有自己的depth 1位置的MC,_level2中可以有自己的depth 1位置的MC。两个不会冲突,谁显示在最前面取决于_level2和_level1谁的depth 大
好了,就写这么多了。

TOP

flash专栏

attachMovie()的中级应用!使用attachMovie()会将一个库中的有linkage的symbol调出来,这大家都是知道的(废话,帮助就是这么写的,还用你讲)。
不好意思,不要误会,我这里讲的不是一般用法::
首先,我先让大家做个实验,
先:
_root.createEmptyMovieClip("loader",1);
//这大家都知道什么意思吧,好,
_root.loader.loadMovie("a.swf",1);
//我现在将一个外部的a.swf装载到loader中!
//ok
//现在,如果我们在我们的文件里,再随便画一个图形,将其定义为movieClip,
//linkage也写上,暂且叫"shape"
//
//好了,现在你对loader使用attachMovie(),
loader.attachMovie("shape","ss",100);
//你会发现attachMovie()失效了?   WHY?
//仔细分析,原来是以前的loadMovie()捣的鬼!
//如果你讲这个linkage为"shape"的movieClip放到a.fla中(就是生成a.swf的fla文件)
//你会发现attachMovie()又可以用了!(别忘了a.swf重新export一下)
//结论:
//对一个movieClip使用loadMovie()后,他所面对的库,就是被load进来的swf中的库!
//......
//利用这个特点,我们可以。。
用法1:
如果你要将很多东西要重复的装载到一个swf中,你可以先将这个Lib装载到一个MovieClip中,然后使用duplicateMovieClip()命令!

TOP

flash专栏

在attachSound的时候也是这样。
例如:在b.fla中,导出一个声音,标识符为“b_sound”,那么在b.fla中可以使用下面的的语句播放它
bb_sound=new Sound();
bb_sound.attachSound("b_sound")
bb_sound.start();
将b.fla导出成b.swf,播放成功(当然能够成功)。
如果有一个a.fla,然后在a.fla中使用loadMovie()加载b.swf,就会出现没有声音的情况。这是为什么呢?因为对于被载入的b.swf来说,他的父影片已经变成了a.swf,但是a.swf中并没有“b_sound”,b.swf找不到“b_sound”,自然也不会发声。
要解决这个问题,可以在a.fla中也导出一个“b_sound”。这样即使b.fla中不导出那个"b_sound",最终的a.swf也能够发声。但是如果在b.fla中不导出"b_sound",单独播放b.swf的时候就不能发声了(这也不一定是件坏事)。
  



TOP

flash专栏

[这个贴子最后由阳光哥在 2005/02/17 05:51am 第 1 次编辑]

版主的flash技术很不错啊!希望与大家合作来发展现代教育技术——课程整合
您先看看我的设计和想法,再多提出意见和指导,切盼与你合作.我的网站是:http://www.flashempire.com/home/index.php?userid=1184216   
我信奉的格言是
    六个学会
学会合作   学会创新
学会选择   学会宽容
学会等待   学会分享
                 
         我    能    行
相 信 自 己 行 ,才 会 我 能 行;
别 人 说 我 行 ,努 力 才 能 行;
你 在 这 点 行 ,我 在 那 点 行;
今 天 若 不 行 ,明 天 争 取 行;
能 正 视 不 行 ,也 是 我 能 行;
不 但 自 己 行 ,帮 助 别 人 行;
互 相 支 持 行 ,合 作 大 家 行;
争 取 全 面 行 ,创 造 才 最 行。
          新课程改革心得                  
新课程之旅充满艰辛,新课程之路崎岖漫长,每一个人理性地对新课程进行选择。让我们在新课程改革实验的进程中携手共建、共进,共同用心浇灌教育的生命之树。愿新课改获得丰硕成果!

TOP

发新话题