30 123
发新话题
打印

我收藏的基本代码!!!!

我收藏的基本代码!!!!

1. 在帧1上书写一些actions。这些actions的目的是为了限定MC的大小。这样我们的MC就不会因为使用者的人为自主放大缩小而改变了大小,以免造成不必要的紊乱。 还可以写代码:10,如果屏蔽鼠标右键?FS命令都是什么意思? fscommand ("fullscreen", "true/false");(全屏设置,TRUE开,FALSE关) fscommand ("showmenu", "true/false");(右键菜单设置,TRUE显示,FALSE不显示) fscommand ("allowscale", "true/false");(缩放设置,TRUE自由缩放,FALSE调整画面不影响影片本身的尺寸) fscommand ("trapallkeys", "true/false");(快捷键设置,TRUE快捷键开,FALSE快捷键关) fscommand ("exec");(EXE程序调用) fscommand ("quit");(退出关闭窗口) //如果你不想看到Flash的About和设置菜单 //把下面的代码放到第一帧就行了: _root.createTextField("danger", 999, 0, 0, Stage.width, Stage.height); //好了,现在换了一个新菜单. //注:这个适合用在没有交互的动画上,如果你需要使用按钮就去掉. 关闭 on(release){ getURL("javascript:self.close();") } 最小化 on (release) {getURL("JavaScript:window.blur()");} 2. stop();//停止 oldtime=getTimer();//得到当前时间 waittime=10;//要等待的时间 function go(){ //trace("id1="+id1); //trace(Math.floor(getTimer()/1000)); if(Math.floor((getTimer()-oldtime)/1000)>10){ play(); clearInterval(id1); //trace("id1="+id1); } } id1=setInterval(go,500);//每0.5秒测一次 stop(); // 停止 oldtime = getTimer(); // 得到当前时间 waittime = 3; // 要等待的时间 setInterval(go, 500); // 每0.5秒测一次 function go() { if (Math.floor((getTimer()-oldtime)/1000) == waittime) { play(); } } 第九帧 stop(); this.onEnterFrame = function() { prevFrame(); }; mouseevent是鼠标事件,包括有: press: 鼠标指针在按钮上并单击 release: 鼠标指针在按钮上被释放 releaseoutside: 鼠标指针在按钮外被释放 rollover: 鼠标指针移进按钮区域内 rollout: 鼠标指针移出按钮区域内 dragover: 鼠标指针在按钮上被按下,移出按钮再移回 keypress: 鼠标指针在按钮上,然后鼠标按下,再移出按钮区域 on (release) { count = 1; while (count<20) { _root.box.duplicateMovieClip("boxx"+count, count); _root["boxx"+count]._x = random(550); _root["boxx"+count]._y = random(150); _root["boxx"+count]._xscale = random(150); _root["boxx"+count]._yscale = random(150); _root["boxx"+count]._alpha = random(100); count += 1; } } 用MC代替按钮: mc.onRollOver = function() { y = 1; }; mc.onRollOut = function() { y = 0; }; mc.onEnterFrame = function() { if(y==1) { mc.nextFrame(); }else { mc.prevFrame(); } }; 1,先在flash的按钮上添加代码: 首页: on (release) { fscommand("setHomePage", "http://www.flash8.net";); } 收藏夹: on (release) { fscommand("addFavorite", "http://www.flash8.net|闪吧"); } 然后在发布设置中选择flash with fscommand,发布成html 2,修改html: 找到 // Handle all the the FSCommand messages in a Flash movie function sethomepage_DoFSCommand(command, args) { } 这一段,修改成: // Handle all the the FSCommand messages in a Flash movie function sethomepage_DoFSCommand(command, args) { var sethomepageObj = InternetExplorer ? sethomepage : document.sethomepage; if (command == "setHomePage") { document.links[0].style.behavior = "url(#default#homepage)"; document.links[0].setHomePage(args); } else if (command == "addFavorite") { args = args.split("|"); window.external.AddFavorite(args[0], args[1]); } } 最后,如果html里一个链接都没有,还需在 返回正常效果显示 TextField对象 新的TextField对象是mx的新对象,影片中的所有动态文本字段和输入文本字段都是TextField对象的实例。是从Object对象继承而来,格式如下: MovieClip.createTextField(Instance名称,深度,初始x轴位置,初始y轴位置,初始宽度,初始高度); 下面列出文本框常用的一些属性: textfield.autosize--控制文本对齐方式及对应的尺寸。 textfield.background--控制文本的背景色是否显示布尔变量(true,false)。 textfield.backgroundcolor--控制文本的背景色,默认是白色。 textfield._height和textfield._width--文本框的高度与宽度。 textfield.html--控制文本是否为html文本,布尔变量。 textfield.htmltext--html文本串。在文本对象中,html文本串的内容与普通纯文本的内容存放的内容的地方是不同的,他们各自管理自己的内容,互不相干。 textfield.length--返回文本的长度,他的值只能获取,不能设置。 textfield.restrict--指示用户可输入到文本字段中的字符集。 textfield.textcolor--当前文本的颜色。书写形式为0x######。 textfield.tye--文本的类型。 textfield.variable--文本变量名。这个值可以取得,也可以设置。

TOP

我收藏的基本代码!!!!

你看看 多吧 今天整理的 从好几个地方得到的
这里我多数不记得!
   下边带  ?号 的很难理解,你能做个简易的说明动画看看 好吗?
       谢谢
on()
  是鼠标事件检测动作,其动作的参数栏也有一些选项,只有作用者在按钮上进行相应的
  鼠标或键盘操作时, 才会执行相应的动作。其中各选项的意义为:
press——鼠标指针在按钮上单击鼠标左键。
Release——鼠标指针在按钮上释放鼠标左键。
Roll Out ——鼠标移出按钮。
Roll Over——鼠标指针移到按钮上面。
Release Outside——鼠标指针在按钮上时按下鼠标左键,然后移出按钮外后才释放。
Drag Out——鼠标指针在按钮上时按下鼠标左键,然后拖出按钮外。
Drag Over——鼠标指针在按钮上时按下鼠标左键,然后拖出按钮外后又拖回按钮上。
Key Press——按下指定的键盘键(键盘键用键码或键常数指定)

onClipEvent();
         是影片剪辑事件管理动作,参数栏中有如下选项:
load——影片剪辑符号在时间轴中出现时触发(不管该影片剪辑是否完全调入),
       且只发一次。
Unload——影片剪辑符号在时间轴中出现时触发。与unloadunload剪辑事件关联的动作在此
        帧中其他任何之前被处理。?????????
EnterFrame——在播放影片剪辑符号每播放一帧执行一次触发,与EnterFrame剪辑事件关联
             的动作在此帧中其他任何动作之后被处理。????????
Mousemove——每当鼠标移动时触发。鼠标位置的改变就会触发该事件(可以使用_xmorse
            和_ymouse属性确定当 前鼠标的坐标?????????)。
Mousedown——单击鼠标左键时触发。
Mouserp——释放鼠标左键时触发。
Keydown——按下键盘上某一键时触发(使用Key.getCode 方法可以获得按钮的信  
          息???????)。
keyup——释放键盘上某一按键时触发。
Data——当接收到loadVariables loadMovie动作载入的数据时触发。对于loadVariables动
       作,Data事件只在  载入最后一个变量时触发一次;对于loadMovie动作,每读入
       一段数据事件就触发一次。????????

                                  事件控制器
事件控制器 其实是对象(按钮和影片剪辑)的特殊方法,这些方法并不是用来让用户调用的,而是由事件触发
           
          按钮的事件控制器    和  按钮 Object Actions的比较

按钮的事件控制器      Object Actions的开头        触发的事件
onDragOut              on(DragOut)            鼠标光标拖拽离开按钮
onDragOver             on(DragOver)           鼠标光标拖拽经过按钮
onKillFocus                                   按钮失去键盘焦点??????
onpress                on(press)              鼠标光标位于按钮上并按下左键
onRelease              on(Release)            鼠标光标位于按钮上并放开左键
onTeleasOutside        on(TeleasOutside)      鼠标光标不在按钮上并放开左键
onRollout              on(Rollout)            鼠标光标离开按钮
onTollOver             on(TollOver)           鼠标光标移入按钮
onSetFocns                                    按钮取得键盘焦点??????

               
           影片的事件控制器    和  影片 Object Actions的比较

影片的事件控制器      影片 Object Actions的开头         触发事件
onData                   onClipEvent (data)         加载变量或加载影片时
noDragOut                                           鼠标拖拽移出影片时                    
onDragOver                                          鼠标拖拽移入影片时      
onEnterFrame            onClipEvent (enterFrame)    进入某个影格时
onKeyDown               onClipEvent(keyDown)        按下键盘按钮时
onKeyUp                 onClipEvent(keyUp)          放开键盘按键时
onKillFocus                                         影片失去键盘焦点时
onLoad                 onClipEvent (load)           影片一载入时  
onMouseDown            onClipEvent(mouseDown)       按下鼠标左键时
onMouseMove            onClipEvent(mouseMove)       移动鼠标时
onMouseUp              onClipEvent(mouseUp)         放开鼠标左键时

onPress                                             鼠标在影片上按下左键时发onRelese                                            鼠标在影片上按下左键并放开时
onReleseOutside                                     鼠标在影片外放开左键
onRollOut                                           鼠标移出影片时
onRollOver                                          鼠标移入影片时
onSetFocus                                          影片取得键盘焦点时

onUnload               onClipEvent (unload)         影片从时间轴上消失时????

TOP

我收藏的基本代码!!!!

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 mx action完整手册》

TOP

我收藏的基本代码!!!!

顶。谢谢了。

TOP

我收藏的基本代码!!!!

谢谢
好东东 就看自己学不学了

TOP

我收藏的基本代码!!!!

好难看懂

TOP

我收藏的基本代码!!!!

慢慢看,
一个个弄懂就是了

TOP

我收藏的基本代码!!!!

好了,又学了不少呀

TOP

我收藏的基本代码!!!!

谢谢,有个东西找了好久!

TOP

 30 123
发新话题