【3D技术宅公社】XR数字艺术论坛  XR技术讨论 XR互动电影 定格动画

 找回密码
 立即注册

QQ登录

只需一步,快速开始

调查问卷
论坛即将给大家带来全新的技术服务,面向三围图形学、游戏、动画的全新服务论坛升级为UTF8版本后,中文用户名和用户密码中有中文的都无法登陆,请发邮件到324007255(at)QQ.com联系手动修改密码

3D技术论坛将以计算机图形学为核心,面向教育 推出国内的三维教育引擎该项目在持续研发当中,感谢大家的关注。

查看: 3343|回复: 8

技术帖,介绍不同技术的帖~

[复制链接]
发表于 2003-7-1 23:42:10 | 显示全部楼层 |阅读模式
**请勿灌水,灌者将灌后删帖~


精简Flash文件体积七法

相信很多朋友在初次接触FLASH制作MV动画时,都会碰到这样的问题,文件体积过大!这使的文件在网上发布后要LOADING很长时间才能公诸于世,这个是我在网上闲逛时的一点小收获,简单,实用,希望能给初学者带来帮助)))

1、尽量减少文字的叙述。
  2、应尽量把图画转为“电影剪切”或“图形”。

  3、导入的图片格式最好是*.jpg或*.gif这两种网络盛行的压缩图片格式(如果没有这两种格式的图片,就ACDSee等软件进行转换即可)。

  4、如果需要导入音乐文件,最好是*.MP3,这样你的源代码不会太大。

  5、导入音乐后,在它的属性设置里去掉“使用文件默认品质”,然后,在它的品质设置如下:“压缩”选择MP3;“位比率”选择16Kbps;“品质”选择快速。如此设置之后,3MB的MP3输出后不足500KB,音质只有少量的损失,这样也可以算是音乐DIY吧!

  6、如果非特殊需要,就不要把图片“打碎”,应该尽量在图片帧中进行。

  7、不要在同一帧放置过多的“电影剪切”,否则可能使你的*.SFW成倍增肥


------------------------------------------------转至经典论坛
 楼主| 发表于 2003-7-1 23:43:23 | 显示全部楼层

偷师方法~ZT

想必很多初学FLASH的朋友都有这样的经历,放置眼前的前辈高作,自己好想学习与借鉴!可惜,那些精彩的作品是内嵌在后缀为.HTML或ASP的网页中的,且不提供下载((让我们这些菜鸟好不难过.......

不急,我有一个好方法:
1.打开希望下载动画的页面
2.用鼠标右键点击此页面,此时会出现一个快捷菜单,选择"查看原文件"(切勿点击动画)
3.按CTRL+F键,出现一个查找文件的弹出窗口,写入".SWF",剩下的就看你自己的了)

此方法不仅适用查找SWF文件同样适用与各种音频视频文件)))如果你有一点点程序基础更加方便!此是偶长期在网上闲逛的经验之谈希望对大家有帮助
 楼主| 发表于 2003-7-24 23:49:28 | 显示全部楼层

FLASH5视频教学。ZT

作者:一滴水(火星)


虽然是FLASH5,不过也是挺受用的

http://61.243.222.130/wht4/fw/hz/flash/0011.avi
http://61.243.222.130/wht4/fw/hz/flash/0013.avi
http://61.243.222.130/wht4/fw/hz/flash/0015.avi
http://61.243.222.130/wht4/fw/hz/flash/0016.avi
http://61.243.222.130/wht4/fw/hz/flash/0017.avi
http://61.243.222.130/wht4/fw/hz/flash/0018.avi
http://61.243.222.130/wht4/fw/hz/flash/0019.avi
http://61.243.222.130/wht4/fw/hz/flash/mx0001.avi

http://61.243.222.130/wht4/fw/hz/flash/0001.avi
http://61.243.222.130/wht4/fw/hz/flash/0002.avi
http://61.243.222.130/wht4/fw/hz/flash/0003.avi
http://61.243.222.130/wht4/fw/hz/flash/0004.avi
http://61.243.222.130/wht4/fw/hz/flash/0005.avi
http://61.243.222.130/wht4/fw/hz/flash/0006.avi
http://61.243.222.130/wht4/fw/hz/flash/0008.avi
http://61.243.222.130/wht4/fw/hz/flash/0009.avi
http://61.243.222.130/wht4/fw/hz/flash/0010.avi

http://61.243.222.130/wht4/fw/hz/flash1/0018.avi
http://61.243.222.130/wht4/fw/hz/flash1/0019.avi
http://61.243.222.130/wht4/fw/hz/flash1/0020.avi
http://61.243.222.130/wht4/fw/hz/flash1/0021.avi
http://61.243.222.130/wht4/fw/hz/flash1/0022.avi
http://61.243.222.130/wht4/fw/hz/flash1/0023.avi
http://61.243.222.130/wht4/fw/hz/flash1/0024.avi

http://61.243.222.130/wht4/fw/hz/flash1/0018.avi
http://61.243.222.130/wht4/fw/hz/flash1/0019.avi
http://61.243.222.130/wht4/fw/hz/flash1/0020.avi
http://61.243.222.130/wht4/fw/hz/flash1/0021.avi
http://61.243.222.130/wht4/fw/hz/flash1/0022.avi
http://61.243.222.130/wht4/fw/hz/flash1/0023.avi
http://61.243.222.130/wht4/fw/hz/flash1/0024.avi
 楼主| 发表于 2003-9-10 23:28:37 | 显示全部楼层
AS篇~转之中国闪客4UUP 第一讲:按扭的play(),stop()控制 理论上的东西到处都是,关于变量了,函数了,这些希望你自己能够去看,这里面只贴源文件,最基础的源文件。 每次讲之前我都会讲些废话,希望大家能够忍耐。 面向对象编程已经成为时尚,也就是说你要控制谁,就直接把代码对准它。如果不能立刻接受或者理解,也不用急,慢慢就会明白的。 好了,进入正题: 今天的内容很少,希望你先下载源文件http://www.flashsun.com/bbs/attachment.php?s=&postid=308181,然后打开结合看。这样对照着看容易理解。 看文件里面,在库里面有两个按扭。还有一个小球运动的影片。 我把影片和按扭都拖到场景中来,很明显按扭每个拖了两次。 在主场景中也做了一个小球的运动。 下面学习,看怎么控制场景和影片的播放和停止。 上面的两个按扭是控制场景的。 代码很简单。on(press){ //按扭的基本激活事件就是on,后面 play(); 括号里面是方法,press是按下, } release是按下然后放开,这两个是最常用的,play()就是有按下这个事件来激活的。 下面我们看看另外两个按扭上面的代码。 on(press){ _root.mc.play(); } 呵呵,有点不一样,多了_root.mc 这就是面向对象激活。 一般来说不写这个对象默认是当前的时间轴,所以前边的两个按扭对影片mc没有影响。写明了控制对象就是对它进行控制了。 重要的就是要对影片命名(在属性中可以给影片命名) 今天到这里吧,不知道懂了没有。 留一个作业吧,把按扭放进影片全部放进mc,怎样同样控制场景和影片的播放和停止? 第二讲:帧上的stop() 今天的内容一样简单。不过不要就此忽视:) 在时间轴上使用最频繁的就是stop(),gotoAndPlay(),gotoAndStop(), 许多好的flash里面经常可以看到帧上面是这个样子a,那是因为上面写了脚本的缘故。 有的flash里面到处都是猛然看去可能心里就凉——好麻烦!其实打开一看几乎都是简单的stop() 可见它的重要。 今天我们就先来熟悉它。 请先下载源文件http://www.flashsun.com/bbs/attachment.php?s=&postid=308359,打开对照着来,这样方便理解。 可以看到时间轴上最上面的一层是不是有几个a,点那一帧,点右键——>action就可以看到脚本了,是简单的stop();它的作用那就是播放到这个地方是就让动画停止,只对当先时间轴有用,如果是影片的话你应该写到影片的时间轴上(废话,呵呵)。 上面的补间动画很简单, 场景中有个按扭我们看看上面有什么: on(release){ play(); } 如果上一讲的内容还记得,应该可以理解吧。 是不是觉得今天的东西太少:(,没有尽兴? 呵呵,不要着急,刚开始嘛。不过可以告诉你哦,就是今天这一点简单的知识就作出了当时风靡校园的情书,点不到的拒绝按扭。 这个那也是今天的作业了————点不到会跑的按扭,如果你没有头绪,我给点提示好了。 提示:先做一个按扭,拉入场景一层来。按F6复制5帧吧(不嫌麻烦随便你复制多少) 最重要的把每帧的按扭位置移动一下,让它们的位置有区别。 按扭上面写代码。on(release){ play(); } 呵呵,要保证每一帧上的按扭都有。 然后新键一层,在1——5帧上面都写上stop(); 哈哈,成功了吗? 第三讲:条件语句if,和gotoAndPlay(),gotoAndStop() 在AS中,条件语句if起判断控制的作用。是基本的语句类型,是AS灵活控制动画重要语句。使用的好的话,可以解决大问题哦:)。 它的运用在于灵活,不过它并不复杂,麻烦的是如何合理利用它。 这一点现在不必在意,今天我们先来接触,用多了相信你也能掌握。 先来看它的结构: if(conditions){ //conditions:条件,就是说如果满足这个条件, statements1; 它就执行statements1:代码;如果不满足条件 }else{ 它就执行statements2;代码。 statements2; } 有一点要告诉大家的是,多数时候只需要判断满足条件然后执行什么代码,所以呢,else的部分是可以省去的,就是这个样子: if(conditions){ statements1; } 好了,基本的讲到这里,请下载今天的例题http://www.flashsun.com/bbs/attachment.php?s=&postid=308697,我们联系一下。 打开下载的文件。 只有时间轴上有代码,还记得这个标记a吗?上次我们讲过的。 头一个上面的代码是: i=i+1;这一行的意思就是等播放到这一帧的时候,i的值增加1,i的初始值默认为0; 相关的变量希望自己能看看有关的资料。这里我只能简单提一下。 下面我们在看倒数第二帧上面的代码: if(i<3){ gotoAndPlay(1); }else{ gotoAndStop(21); } 结合前面讲的我们来分析一下: i<3是条件,如果i<3成立,就执行gotoAndPlay(1); gotoAndPlay(帧数),使播放头从某一帧开始播放,例题中就是从第一帧开始播放。 如果i<3不成立,就执行:gotoAndStop(21); gotoAndStop(帧数);使播放头停止到时间轴上的某一帧。例题中就是停止到第21帧。 今天就到这里吧,有点累了。没有作业,自己体会一下。 第四讲:循环语句for,和动态文本 循环有for循环和do while循环 他们和上节讲的判断if同等重要,对于要多次重复执行的代码是循环存在的根本。它可以让你从复杂单一的代码中解脱哦:) 好了,我们现在先认识它的结构。 for(init; condition; next){ //init开始记数的初始值;condition是条件,如果条件成立循环 statements; 继续,反之呵呵,当然是循环结束了。next就是记数变化的 } 语句了,如果记数不变化,哈哈,会是什么情况?死循环!statements;执行代码我们已经认识过了。 理论上的东西总是有点抽象不容易理解,不过没关系,过会结合例题你就会明白了。 我们在简单认识一下动态文本------Dynamic Text,在工具栏上点A,这个时候下面的属性框出现的就是文本框的相关属性。具体请各位看有关资料。这里讲动态文本------Dynamic Text 在属性var(中文版应该是:变量)一项可以给文本定义变量,这样用AS对文本操作会更加灵活,也是许多文字特效(鼠标跟随,波浪文字等)制作过程的基本步奏。以后我想不会有太长时间我们就会接触到了:) 先有一个初步的认识吧。 基本的东西讲完了,请下载今天的例题吧!http://www.flashsun.com/bbs/attachment.php?s=&postid=309037 请打开文件,不敢相信?这么简单,的确简单 第一层,第一帧上放了5个动态文本,随便点一个,看看下面的属性框里面,在var一项是不是有 txtn n=1,2,3,4,5。这就是给动态文本设定的变量。 下面我们们看看怎么利用这些变量给文本赋值: 看第二层的第一帧,一看就知道有代码:),打开看看 for(i=1;i<=5;i++){ _root["txt" add i]=i; } 现在我来解释一下代码:开始i=1,满足条件i<=5,所以就执行_root["txt" add i]=i; 执行完之后那,执行i++,这样i=2,还是满足条件,所以还执行_root["txt" add i]=i; 直到执行完i=5后,经过i++后i=6了,不满足条件了,循环也就结束了。 不知道我讲的是否明白,自己体会了,随时提问(呵呵,可不要在这个帖子,我会删的)。 我们在来认识_root["txt" add i]=i; 因为文本框在场景中所以我用_root表示路径,如果是在影片中,怎么办呢?这个留给自己考虑了。 “txt" add i是一个字符串运算,如果i=1运算结果就是txt1 如果i=2运算结果就是txt2 ^^^^^^^^^^^^^ 如果i=5那么结果就是txt5 最后就是今天的作业了:用循环计算1+2+3+4+…………+100,结果要在动态文本框里面显示。
 楼主| 发表于 2003-9-10 23:29:16 | 显示全部楼层
第五讲:控制影片属性 过了个周末,又和大家见面了:) 新的星期,新的开始。 从今天以后的学习将不再是单纯的枯燥乏味了,你学完今天的,你应该可以体会一点点快乐了。因为控制影片属性是很有趣的事情。 我们先来认识和影片的属性,我只讲今天用到,其他的根据英文的意思也能够明白,去看看资料是个不错的注意。 _alpha 影片的透明度变化值(0~100); _xscale 影片的横向大小,也就是长度; _yscale 影片的纵向大小,也就是宽度; _visible 影片的可见性,值为true,影片可见;值为false,影片不可见; 下边我们来学习怎么控制这些属性。 控制属性之一的办法就是用: setProperty(target, property, value) //target被控制的对象,也就是要控制影片的名称;property,影片的属性,就是刚刚讲的_alpha等;value影片属性的值。 这个语句的作用就是把值value赋给给影片的属性。 另外一个语句:getProperty(instance, property);//instance影片的名字,property影片的属性。 这个语句的作用是获取该影片属性的值。 先举个例子:a=getProperty(mc,_alpha) 如果mc的透明度为80,那么a=80; 控制属性方法之二: 用点语句直接赋值和调用。 举个例子:mc._alpha=40; //让影片的透明度为40; b=mc._alpha //把影片的透明度值赋给变量 b 强烈建议开始用第一种方法,为了熟悉AS,请听从建议。 以后熟悉之后再用第二中方法。 下面我们看例题吧,请先下载文件打开:http://www.flashsun.com/bbs/attachment.php?s=&postid=309675 场景中有一个甲克虫的影片,名字为mov. 场景中还有6个按扭,我们看透明度“——”按扭上面的代码; on(release){ setProperty("mov",_alpha,getProperty(mov,_alpha)-5);//语句刚刚学过,还有印象吗?控制当前影片的透明度,按扭每点一次,透明度减小5。 if(mov._alpha<=0){ //当透明度减小的<0,就让透明度为0 setProperty("mov",_alpha,0); } } 看看这一句:setProperty("mov",_alpha,getProperty(mov,_alpha)-5); 是不是有点不习惯?不懂?其实它是这两句的合成。 value=getProperty(mov,_alpha)-5;//影片透明度-5然后把值赋给value setProperty(mov,_alpha,value);//把value的值赋给mov的透明度属性。 其他按扭上的代码就要靠你自己来理解了,相信自己的能力:) 今天的作业:做一个小球的影片,做四个按扭,点击按扭,影片可以移动,四个按扭控制上,下,左,右。 提示:利用影片属性_x,_y;//_x影片的横坐标;_y影片的纵坐标。 第六讲(1):复制影片duplicateMovieClip 前边的五节课是基础,不过不全,但我想入门是够了,以后的提高还是要你自己加油才行:) 以后的讲解里面如果出现的基础中没有提到,我会在过程中解释清楚,如果有漏掉的也请及时提出。在讲这一讲的时候我已经相信你前面的都搞懂了,如果还没有:(,抱歉请复习,做完留的练习。 废话少说,我们开始今天的内容; duplicateMovieClip是做AS特效中常用到的,作用是复制影片。可以说80%的特效里面都有它,常见的幻影,下雨,下雪,雷电,文本打字,跟随…………,太多太多。鉴于它的重要,我会分三次讲,加强记忆,让你能够基本上学会运用。 下面先来看看它的格式: duplicateMovieClip(target, newname, depth); //target你要复制的影片名称,newname看英文意思就知道了复制出来的影片赋予它新的名字,depth深度复制出来的影片的层深,这个以后我详细讲,简单的来说就是数小的层放在大的层上面,1层在2层的上面,不理解也没有关系,它目前不会影响我们。 就这点内容。517210你太夸大它了吧?也许吧! 今天的例题是一个幻影,我觉得还算好看吧。(不好意思自己夸自己:)) 请先下载文件打开,我们一起来看。http://www.flashsun.net/bbs/attachment.php?s=&postid=310074 按ctrl+l 打开库,里面有两个影片,square,mc. 先看square里面就是一个简单的兰色矩形。 再打开mc来看,它是把square拖进去做的一连串动画,呵呵,也很简单。 好了,回到主场景,我们看看都有什么。 在第一层把mc拖进来命名mc并且拖成两帧。 在看第二层的代码,两帧上都有,我们看第一帧先: i++; //每次播放这一帧,i的值加一 duplicateMovieClip(mc,"mc" add i,i); //这个就是今天的重点了,作用复制影片mc,复制的新影片名字为“mc" add i也就是mci, i是变量,这样可以保证每次复制的影片名字有区别,i是新影片的深度,以后会有详细的解释。 setProperty("mc" add i,_alpha,100-i*15); //上节课的内容,还记得吗。就是让复制出来的影片mc add i mci的透明度为100—i*15让复制出来的影片透明度随名字不同有变化。 好了,看看第二帧上的代码: if(i<5){ //如果i<5,播放第一帧,i>5停留在这一帧。 gotoAndPlay(1); 作用是为了复制5个影片,不多也不少。 }else{ stop(); } 后言:duplicateMovieClip要和循环判断还有影片属性控制结合才有它存在的意义,它的作用才能很好的发挥。 今天的作业:1。自己独立完成这个例题。 2。自己做一个小球的影片,利用for循环语句,用按扭控制点一下,复制出来10个小球,小球的位置可不要重合了呀,这一点还记得_x,_y属性吗,用他们控制复制影片的坐标 第六讲(2):duplicateMovieClip做下雨的效果 今天是教师节,好想休息呀,可我不是教师 :( 好了啦,不要影响心情了,今天的学习将是轻松快乐的,能把学到知识运用是件快乐的事,不是吗? 进入正题,做下雨特效的思路是这样的,先做一滴雨的效果(放心这个简单的不得了),然后复制一定数量的雨滴,就出现了许多雨了.需要说明的一点就是利用影片的坐标属性让复制出来的雨滴从不同的地方落下,这样就显得杂乱,真实了.要做到这一点,我们要讲一点内容那就是random(); random(),建议这样用最好Math.random()符合最新版本的习惯.它的作用是获取0.0,1.0之间的随即数.如果这样写.Math.random(n),就是获取0到n之间的随机数. 好了,下载今天的例题,打开欣赏一下.呵呵,我又开始臭美了.http://www.flashsun.net/bbs/attachment.php?s=&postid=310416 先看库里面,有一个rain影片,那就是一滴雨的效果.把场景缩小到25%观看,这样容易看全貌,不难做的,做好这个影片之后把他拉入场景中,并且命名为rain. 然后新建一层用来写代码,先看第一帧: i=i+1;             //让i加1    duplicateMovieClip(rain,"rain" add i,i); //复制影片rain,复制的名字raini,深度i,还用细讲吗? _root["rain" add i]._x=random(500); //取0----500之间的随机数,然后把它赋给复制出来的影片raini的横坐标_x. _root["rain" add i]._y=random(300)+rain._y; //取0----300之间的随机数,然后加上第一滴影片的纵坐标.把它赋给复制出来的影片raini的纵坐标_y. 顺便说一下,场景左上角的坐标为(0,0),越向右下,坐标值越大.自己想象复制雨滴出现的区域是什么?如果想不通,请随时提问. 再看看另一帧上的代码: if(i<200){ //熟悉的条件语句. gotoAndPlay(1); 如果i<200,也就是复制的雨滴 }else{ 还不够200,那么播放第一帧. stop(); 如果够200了,就停止当前帧, } 也就停止了复制. 通过今天的学习,是不是对复制影片了解的深一点了呢? 下面看今天的作业:我做的这个下雨效果不够丰富,简单的来说,没有做完,今天的作业就是回去自己把它补充完整.下雨,雨滴有大,中小,三种雨滴的速度不同,倾斜程度也不同,小雨滴的倾斜大,大的自然是倾斜小.我只做的小雨. 提示:要做三种雨滴大,中,小,拉入场景,命名不同,对三种雨滴都要复制,所以要连续写三个复制语句.
 楼主| 发表于 2003-9-21 23:37:30 | 显示全部楼层
http://www.4uup.com/flashuniv/dispbbs.asp?boardID=60&ID=824
 楼主| 发表于 2004-1-11 13:50:41 | 显示全部楼层
http://forum.exceedu.com/forum/dispbbs.asp?boardID=37&ID=1634
 楼主| 发表于 2004-1-11 13:53:36 | 显示全部楼层
http://forum.exceedu.com/forum/dispbbs.asp?boardID=37&ID=1749

音乐万年历制作~
 楼主| 发表于 2004-3-15 22:51:57 | 显示全部楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|3D数字艺术论坛 ( 沪ICP备14023054号 )

GMT+8, 2024-11-24 03:05

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表