推荐阅读

PS制作与玻璃撞击的动感岩石文字效果
碎块字制作思路并不复杂,分为两个大的步骤。首先是文字部分的处理,用选区及移动工具把文字分成多个碎块;然后用图层样式及纹理素材增加质感和纹理即可。最终效果 一、新建一个960 * 560像素的文件,背景填充黑色。 二、选择文字工具输入所需的文字,文字颜色为白色。 三、在文字缩略图上右键选择栅格化文字。

20个“标准的”配色方案
20个“标准的”配色方案<html> <head> <title>Colors</title> <style type="text/css"> body{ margin:20px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size:12px; } .style1{ width: 800px; height: 100px; margin: 0px auto; margin-bottom:20px; border:1px solid #96C2F1; background-color: #EFF7FF } .style1 h5{ margin: 1px; background-color: #B2D3F5; height: 24px; } .style2{ width: 800px; height: 100px; margin: 0px auto; margin-bottom:20px; border:1px solid #9BDF70; background-color: #F0FBEB } .style2 h5{ margin: 1px; background-color: #C2ECA7; height: 24px; } .style3{ width: 800px; height: 100px; margin: 0px auto; margin-bottom:20px; border:1px solid #BBE1F1; background-color: #EEFAFF } .style4{ width: 800px; height: 100px; margin: 0px auto; margin-bottom:20px; border:1px solid #CCEFF5; background-color: #FAFCFD } .style5{ width: 800px; height: 100px; margin: 0px auto; margin-bottom:20px; border:1px solid #FFCC00; background-color: #FFFFF7 } .style6{ width: 800px; height: 100px; margin: 0px auto; margin-bottom:20px; border:1px solid #92B0DD; background-color: #FFFFFf } .style6 h5{ margin: 1px; background-color: #E2EAF8; height: 24px; } .style7{ width: 800px; height: 100px; margin: 0px auto; margin-bottom:20px; border:1px solid #A9C9E2; background-color: #E8F5FE } .style8{ width: 800px; height: 100px; margin: 0px auto; margin-bottom:20px; border:1px solid #E3E197; background-color: #FFFFDD } .style9{ width: 800px; height: 100px; margin: 0px auto; margin-bottom:20px; border:1px solid #ADCD3C; background-color: #F2FDDB } .style10{ width: 800px; height: 100px; margin: 0px auto; margin-bottom:20px; border:1px solid #F8B3D0; background-color: #FFF5FA } .style11{ width: 800px; height: 100px; margin: 0px auto; margin-bottom:20px; border:1px solid #D3D3D3; background-color: #F7F7F7 } .style12{ width: 800px; height: 100px; margin: 0px auto; margin-bottom:20px; border:1px solid #BFD1EB; background-color: #F3FAFF } .style13{ width: 800px; height: 100px; margin: 0px auto; margin-bottom:20px; border:1px solid #FFDD99; background-color: #FFF9ED } .style14{ width: 800px; height: 100px; margin: 0px auto; margin-bottom:20px; border:1px solid #CACAFF; background-color: #F7F7FF } .style15{ width: 800px; height: 100px; margin: 0px auto; margin-bottom:20px; border:1px solid #A5B6C8; background-color: #EEF3F7 } .style16{ width: 800px; height: 100px; margin: 0px auto; margin-bottom:20px; border:1px solid #CEE3E9; background-color: #F1F7F9 } .style17{ width: 800px; height: 100px; margin: 0px auto; margin-bottom:20px; border:1px solid #CAE3FF; background-color: #F4F9FF } .style18{ width: 800px; height: 100px; margin: 0px auto; margin-bottom:20px; border:1px solid #C9D9EE; background-color: #ECF8FF } .style19{ width: 800px; height: 100px; margin: 0px auto; margin-bottom:20px; border:1px solid #5C9CC0; background-color: #F2FAFF } h5{color:#CCCCCC;margin-left:680px} a{color:#CCCCCC;text-decoration:none} a:hover{color:#666666;text-decoration:underline} </style> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head> <body> <div class="style1"><h5>Title</h5></div> <div class="style2"><h5>Title</h5></div> <div class="style6"><h5>Title</h5></div> <div class="style3"></div> <div class="style4"></div> <div class="style5"></div> <div class="style7"></div> <div class="style8"></div> <div class="style9"></div> <div class="style10"></div> <div class="style11"></div> <div class="style12"></div> <div class="style13"></div> <div class="style14"></div> <div class="style15"></div> <div class="style16"></div> <div class="style17"></div> <div class="style18"></div> <div class="style19"></div> </body> </html> [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

Flash CS5实例教程:漂亮的气泡动画
function ball(r:int):MovieClip {//自定义函数 ball,参数为 r,整数型,返回值为 MovieClipvar col:uint=0xffffff*Math.random();//声明一个无符号整数型变量 col,获取任意颜色var sh:MovieClip=new MovieClip();//声明一个影片剪辑类实例 shsh.graphics.beginGradientFill(GradientType.RADIAL,[0xffffff,col,col],[0.5,1,1],[0,200,255]);//在 sh 中设置渐变填充样式(放射状渐变,颜色,透明度,色块位置)sh.graphics.drawCircle(0,0,r);//在 sh 中画圆(圆心坐标(0,0),半径为参数r)sh.graphics.endFill();//结束填充return sh;//返回 sh}var ballArr:Array=[];//声明一个空数组 ballArrfor (var i:int=0; i<10; i++) {//创建一个 for 循环,循环 10次var balls:MovieClip=ball(Math.random()*20+20);//声明一个影片剪辑类实例balls,调用函数 ball(参数r 半径的值为 20-40 之间的随机值)addChild(balls);//把 balls添加到显示列表balls.x=Math.random()*(stage.stageWidth-balls.width)+balls.width/2;//balls 的 X 坐标balls.y=Math.random()*(stage.stageHeight-balls.height)+balls.height/2;//balls 的 Y坐标,使它出现在舞台的任意位置balls.vx=Math.random()*2-1;//为 balls 设置自定义属性 vx,数值为-1-1 之间的随机数,表示 X 方向的速度balls.vy=Math.random()*2-1;//为 balls 设置自定义属性 vy,数值为-1-1 之间的随机数,表示 Y 方向的速度ballArr.push(balls);//把 balls 添加到数组 ballArr 中}addEventListener(Event.ENTER_FRAME,frame);//添加帧频事件侦听,调用函数 framefunction frame(e) {//定义帧频事件函数 framefor (var i:int=0; i<ballArr.length; i++) {//创建一个 for循环,循环次数为数组 ballArr 的元素数var balls:MovieClip=ballArr;//声明一个影片剪辑类实例 balls,获取数组 ballArr 的元素balls.x+=balls.vx;//balls的 X 坐标每帧增加balls.vxballs.y+=balls.vy;//balls的 Y 坐标每帧增加balls.vyif (balls.x<balls.width/2) {//如果balls 出了舞台左边缘balls.x=balls.width/2;//balls 的 X坐标获取balls 宽度的一半balls.vx*=-1;//balls.vx 获取它的相反数}if (balls.x>stage.stageWidth-balls.width/2) {//如果 alls 出了舞台右边缘balls.x=stage.stageWidth-balls.width/2;//balls 的 X 坐标获取场景宽度与 balls 宽度一半的差balls.vx*=-1;//balls.vx 获取它的相反数}if (balls.y<balls.height/2) {//如果 balls出了舞台上边缘balls.y=balls.height/2;//balls 的 Y坐标获取 balls 高度的一半balls.vy*=-1;//balls.vy 获取它的相反数}if (balls.y>stage.stageHeight-balls.height/2) {//如果 balls 出了舞台下边缘balls.y=stage.stageHeight-balls.height/2;//balls 的 Y 坐标获取舞台高度与 balls 高度一半的差balls.vy*=-1;//balls.vy 获取它的相反数}}for (var j:int=0; j<ballArr.length-1; j++) {//创建一个 for 循环,循环次数比数组 ballArr 元素数少 1var ball0:MovieClip=ballArr[j];//声明一个影片剪辑类实例 ball0,获取数组 ballArr 的元素for (var m:int=j+1; m<ballArr.length; m++) {//创建一个 for 循环,var ball1:MovieClip=ballArr[m];//声明一个影片剪辑类实例 ball1,获取数组 ballArr 的元素var dx:Number=ball1.x-ball0.x;//声明一个数值型变量 dx,获取var dy:Number=ball1.y-ball0.y;//声明一个数值型变量 dy,获取var jl:Number=Math.sqrt(dx*dx+dy*dy);//声明一个数值型变量 jl,获取小球的距离var qj:Number=ball0.width/2+ball1.width/2;//声明一个数值型变量获取小球半径之和if (jl<=qj) {//如果 jl 小于等于 qjvar angle:Number=Math.atan2(dy,dx);//声明一个数值型变量angle,获取ball1 相对于 ball0 的角度var tx:Number=ball0.x+Math.cos(angle)*qj*1.01;//声明一个数值型变量 tx,获取目标点的 X坐标var ty:Number=ball0.y+Math.sin(angle)*qj*1.01;//声明一个数值型变量 ty,获取目标点的 Y坐标ball0.vx=- (tx-ball1.x);//ball0 在X 方向的速度ball0.vy=- (ty-ball1.y);//ball0 在Y 方向的速度ball1.vx=(tx-ball1.x);//ball1 在 X方向的速度ball1.vy=(ty-ball1.y);//ball1 在 Y方向的速度}}}}

生态摄影奥秘
说到CCD的尺寸,其实是说感光器件的面积大小,这里就包括了CCD和CMOS。感光器件的面积越大,也即CCD/CMOS面积越大,捕获的光子越多,感光性能越好,信噪比越低。CCD/CMOS是数码相机用来感光成像的部件,相当于光学传统相机中的胶卷。 CCD上感光组件的表面具有储存电荷的能力,并以矩阵的方式排列。当其表面感受到光线时,会将电荷反应在组件上,整个CCD上的所有感光组件所产生的信号,就构成了一个完整的画面。 如果分解CCD,你会发现CCD的结构为三层,第一层是“微型镜头”,第二层是“分色滤色片”以及第三层“感光层”。 第一层“微型镜头” 我们知道,数码相机成像的关键是在于其感光层,为了扩展CCD的采光率,必须扩展单一像素的受光面积。但是提高采光率的办法也容易使画质下降。这一层“微型镜头”就等于在感光层前面加上一副眼镜。因此感光面积不再因为传感器的开口面积而决定,而改由微型镜片的表面积来决定。 第二层是“分色滤色片” CCD的第二层是“分色滤色片”,目前有两种分色方式,一是RGB原色分色法,另一个则是CMYK补色分色法这两种方法各有优缺点。首先,我们先了解一下两种分色法的概念,RGB即三原色分色法,几乎所有人类眼镜可以识别的颜色,都可以通过红、绿和蓝来组成,而RGB三个字母分别就是Red, Green和Blue,这说明RGB分色法是通过这三个通道的颜色调节而成。再说CMYK,这是由四个通道的颜色配合而成,他们分别是青(C)、洋红 (M)、黄(Y)、黑(K)。在印刷业中,CMYK更为适用,但其调节出来的颜色不及RGB的多。 原色CCD的优势在于画质锐利,色彩真实,但缺点则是噪声问题。因此,大家可以注意,一般采用原色CCD的数码相机,在ISO感光度上多半不会超过400。相对的,补色CCD多了一个Y黄色滤色器,在色彩的分辨上比较仔细,但却牺牲了部分影像的分辨率,而在ISO值上,补色CCD可以容忍较高的感光度,一般都可设定在800以上 第三层:感光层 CCD的第三层是“感光片”,这层主要是负责将穿过滤色层的光源转换成电子信号,并将信号传送到影像处理芯片,将影像还原。
最新发布

水汪汪的大眼睛(简单!)
原创:水汪汪的大眼睛(简单!)效果: 步骤:第二步中选眼睛白色的地方。不要选上黑色,只选白色部分。大家第5步问题较多。下面解释一下:转到IR后,什么也先不要动,找到动画面板,点击两次复制帧,现在动画面板共有三个图,选中间的图(即第2帧),按方向下键,然后再选第三个图(第三帧),再按方向右键。如图,这是第二帧的例子保存的时候,选“将优化结果存储为GIF”这样出来的就是动态的了。

GIF合成图中力感的表现方法
GIF合成图中力感的表现方法 此教程适用于已基本掌握GIF合成图制作的朋友参考使用合成图中经常会有人物使出炫目华丽或是力量道惊人的招式或是超杀,怎样能把人物招式中的力量感觉很好地表现出来,就是这篇文章要研究的,因为GIF没有声音,所以怎样在画面中把力量的感觉表现出来,就全靠制作者对人物动作的如何安排,安排得好了,即使没有声音,也能把力量的感觉表现得很真实,其实当今GIF的力感表现方法源于街机,就是用人物的晃动和时间的停顿来表现,但是GIF是在IE中观看,IE支持的最快速度就是6,其实街机中用于表现力感的实际帧数远远大于GIF制作中的帧数,大家可以用kawaks模拟器载入游戏,然后用人物使出一招力道很强的招式,再按回车暂停,然后按shift加空格逐帧递进,来观察在街机上表现力感所使用的帧数,而我们要做的就是如何利用有限的帧数,在速度和视觉上最大程度接近实际效果! 一. 力量的程度之分我在作图中把力量分为三个层次,分别是: 重度力量飞行道具类表现见图四:kof2001依格尼斯超杀二. 力量的方向之分清楚了力量的程度之分后还得知道力量有方向之分,其实只要把方向简单地理解为对空和对地就可以了。对空的力量没什么好说,力感表现方法同上,而对地的力感表现就要好好考虑一下了。对地的力量又可以分为垂直地面的力量和平行地面的力量,比如攻击者跳跃进行攻击或是使用的超杀是从上方向下方或是斜下方攻击,这种力量的方向就是垂直地面的力量,人物震动的幅度大致和重度力量相同,如果图中有背景物体,而作者又想表现极强的震动感,那就把背景和人物一起做位移,方法为重度力量中的飞行道具类超杀表现方法。垂直力量表现方法见图五:阿斯拉超杀 我之所以要把力量的方向分别说明就是想认大家更清楚地明白这些细节,从而对以后的做合成图有更大的帮助。对于合成图和力感掌握不太入门的朋友,教你们一个方法:把合成图高手的作品和你觉得做的不错的作品收藏,并用工具打开那些作品,仔细研究它们每一帧的动作和位移安排,会对你的进步有很大的帮助! 这篇教程就到这里,我所阐述的都是个人观点,难免有所偏差和错误,欢迎大家发表看法,共同进步,也希望更多的喜欢GIF合成图的朋友加入我们的行列!随时欢迎你!谢谢!

关于动态图片更换背景教程
动态图片更换背景 虽然不难 但不少新手因为不明白图层层次的原理 总是提问 所以于海建制作的这个教程,新手一定要看一下! 如果是纯色的有背景图片 可以使用魔术棒选中背景并删除!不同的背景效果:动态教程;

Flash CS3:InteractiveObject的doubleClick事件
我们知道doubleClick事件是在as3中新增加的事件,我们经常需要使用到这个事件,在as2我时代需要自己写函数判断双击,在as3中就可以直接使用这个事件了,但是在使用这个事件的时候有个细节要主要,首先事件是InteractiveObject所属的,因此从InteractiveObject继承下来的对象才能使用该属性,另外一个是要首先设置doubleClickEnabled属性为true,最后这个事件是使用内部的元件接收的(the instance receives doubleClick events within its bounds),所以如果你要侦听的doubleClick事件的元件内部有从InteractiveObject继承的元件,要么设置这些元件的 mouseEnabled为false,要么使用内部原来来侦听doubleClick事件.1.内部元件不是从InteractiveObject继承下来,可以直接使用元件接收事件//----------------------------------------------var a:Sprite = new Sprite();addChild(a);var b = new Shape();a.addChild(b);b.graphics.beginFill(0x0);b.graphics.drawRect(0,0,100,100);b.graphics.endFill();a.doubleClickEnabled = true;//使用a接收a.addEventListener("doubleClick",dc);function dc(e){trace("dc");}2.内部元件有多个从InteractiveObject继承下来,可以使用最上面的元件来接收,或者设置其他元件不接收鼠标事件//----------------------------------------------var a:Sprite = new Sprite();addChild(a);

flash cs3打造跟随鼠标的弹性球运动小游戏
用Flash CS3的AS制作跟随鼠标弹性小游戏,主要是练习AS的使用。 先看演示: 源文件下载: 弹性小球运动.rar修改文档属性。 首先建立4个小的电影剪辑元件,分别设置如下:

flash cs3中关于访问父级parents变量的实例
为了说明访问父级变量的问题,做了下面的实例:先来看看对象的层级关系。在舞台上有一个对象father-|-mytext |-varfather |-ason-|-abutton我们现在要做的工作是:单击按钮abutton输出变量varfather的值和mytext中的文本================================================================开工:第一步:在库中建立一个MC命名为son,为其添加一个按钮,并命名为abutton。第二步:为son这个MC建立关联的代码:son.aspackage{import flash.display.MovieClip;import flash.events.*;public class son extends MovieClip{ //public var abutton:Button //备注1 public function son(){ abutton.addEventListener(MouseEvent.CLICK,onclick)//备注2 } private function onclick(evt:MouseEvent){ var AAA:Object =this.parent; //备注3 trace("变量varfather的值是"+AAA.varfather); trace("文本框mytext中的值是"+AAA.mytext.text); } }}第三步:库中建立一个MC叫做father,添加一个动态文本框mytext第四步:为father添加代码:father.aspackage{import flash.display.MovieClip;import flash.text.TextField;import son;public class father extends MovieClip{ public var varfather:Number=new Number; public function father(){ varfather=123; var ason:son=new son(); this.addChild(ason); //备注4 } }}第五步:拖放一个father的实例到舞台上,测试。单击按钮看到输出:备注==========================================备注1://public var abutton:Button 原本在flash9中是需要这句的,flash cs3中不要了备注2:为按钮添加单击事件处理函数备注3:建立一个空对象用来代表当前对象的父对象,如果直接写trace(this.parent.varfather)会出错的备注4:新建立一个son的实例ason并把它作为当前对象的子对象