推荐阅读
PS如何使用背景橡皮擦工具
背景橡皮擦工具是一一个相对智能化的擦除工具,设置完背景色后,使用背景橡皮擦工具可以在擦除背景的同时保留前景色对象的边缘。1、首先在工具箱中选择背景橡皮擦工具,同时在其属性栏中进行参数设置;2、接下来在图像中擦除多余的部分即可;3、完成上述操作后查看效果对比;4、在背景橡皮檫工具属性栏中,若勾选“保护前景色”复选框,则可以在涂抹图像时保护前景色。
版面构成
版面编排是设计的重点之一,好的编排往往能达到较好的视觉效果,我们可以利用简单的文字和颜色,制造一些视觉上的特殊感受,这里就有十个简单的例子,介绍版面构成所拥有的几种特性。 ■对比 ■大小 ■镜射 ■距离 ■重覆 ■粗细 ■连续 ■ 韵律 ■ 统一 ■ 移动
Authorware实战开发专题-- 制作Windows标准菜单方法
3、操作步骤:1) 新建一个文件,并调入外部函数tMsControls.u32的相关扩展函数:tMsCreateDropList(windowHandle) tMsCreatePopupList(windowHandle)tMsAddItem(ControlHandle,menuItemNo,submenuItemNo,menuText) tMsGetItem(ControlHandle, menuItemNo, submenuItemNo)tMsDisplayControl(ControlHandle, X, Y, Width, Height, Return)2)设置屏幕大小和背景3)创建中文下拉式菜单,程序流程如图5.4图5.4创建中文下拉式菜单程序流程我们知道,如果我们把文件File的属性PRoperties的“menu bar”Options选上,如图5.5所示,则程序的运行窗口将出现一个“File”的下拉菜单,如果我们要制作全中文的菜单,当然要想办法把它“擦除”掉,而“File”下拉菜单是系统默认的,因此我们也建立一个和它同名的“File”下拉菜单,这样系统就认为这个“File”下拉菜单是用户所创建,理所当然我们可以用擦除图标把它擦除掉拉。其它的步骤请看图5.4。图5.5 File文件的属性Properties范例设置4)创建下拉列表菜单和鼠标右键响应菜单。(1)在计算图标“creatmenu”里写入如下程序代码:---- 下列代码创建弹出式菜单的句柄:popupHandle:=tMsCreatePopupList(WindowHandle)---- 下列代码创建弹出式菜单的菜单选项列表:tMsAddItem(popupHandle, 1, 0, "作者介绍")tMsAddItem(popupHandle, 2, 0, "联系作者")tMsAddItem(popupHandle, 3, 0, "-") ---- 在选项 2和选项 3 之间创建一条分隔线tMsAddItem(popupHandle, 4, 0, "软件说明")tMsAddItem(popupHandle, 5, 0, "软件教程")tMsAddItem(popupHandle, 6, 0, "-") ---- 在选项 5和选项 7 之间创建一条分隔线tMsAddItem(popupHandle, 7, 0, "退出系统") ---- 下列代码为"软件教程"菜单项创建两个分隔开的子菜单选项,如不需要子菜单,可---- 以省略tMsAddItem(popupHandle, 5, 1, "Authorware")tMsAddItem(popupHandle, 5, 2, "-")----在子菜单Authorware和子菜单Director之间创建----一条分隔线tMsAddItem(popupHandle, 5, 3, "Director")---- 下列代码创建下拉列表式菜单的句柄:droplisthandle:=tMsCreateDropList(WindowHandle)---- 下列代码创建下拉列表式菜单的菜单选项列表:tMsAddItem(droplisthandle, 1, 0, "请选择访问以下网站")tMsAddItem(droplisthandle, 2, 0, "---------------------------")tMsAddItem(droplisthandle, 3, 0, "郁 金 香 B B S ")tMsAddItem(droplisthandle, 4, 0, "清 音 飞 扬")tMsAddItem(droplisthandle, 5, 0, "魔 岩 工 作 室")---- 下列代码是显示下拉列表式菜单tMsDisplayControl(droplisthandle,17,80,50,50,0)(2)加鼠标右键响应弹出菜单的永久条件交互和下拉列表菜单选择菜单的按钮响应。设置条件“RightMouseDown=TRUE”,其中“RightMouseDown”为系统变量,返回类型为“Continue”,并设置为永久交互,如图5.6所示。这样当用户进行鼠标右浆操作时,条件为真,执行计算图标里的代码后并弹出菜单,由用户选择:---- 下列代码在鼠标右键点击处,弹出一个前边设定好的弹出式菜单,---- 并将用户反馈(即用户所选择的菜单项)返回给变量popresult:popresult:=tMsDisplayControl(popupHandle, CursorX, CursorY, 100, 120, 1)---- 下面是当用户选择弹出式菜单执行的相关操作的代码:if popresult="退出系统" then Quit() -----这里只是“退出系统”操作代码的样式范本图5.6 右键响应弹出菜单的永久条件交互 而另一个“Continue”交互“GO”就是下拉列表菜单的相关操作,计算图标的代码如下:----将用户反馈(即用户所选择的菜单项)返回给变量DropReturnVar:DropReturnVar:=tMsGetItem(droplisthandle, 0, 0)---- 下面是当用户选择菜单后执行相关操作的代码,只是简单显示一个交互消息框而已。if DropReturnVar=3 then MessageBox(WindowHandle,"URL: http://bbs.stu.edu.cn ","郁金香BBS",64)if DropReturnVar=4 then MessageBox(WindowHandle,"URL: http://www.music.stu.edu.cn ","清音飞扬",64)if DropReturnVar=5 then MessageBox(WindowHandle,"URL: http://202.192.154.5/myhome/rock ","魔岩工作室",64)5)存盘完成。执行一下,看看效果吧。
AutoCad 使用夹点与编组
7.1.1 夹点简介 在AutoCAD中当用户选择了某个对象后,对象的控制点上将出现一些小的蓝色正方形框,这些正方形框被称为对象的夹点(Grips)。例如,选择一个圆后,圆的四个象限点和圆心点处将出现夹点(如图7-1所示)。 当光标经过夹点时,AutoCAD自动将光标与夹点精确对齐,从而可得到图形的精确位置。光标与夹点对齐后单击左键可选中夹点,并可进一步进行移动、镜像、旋转、比例缩放、拉伸和复制等操作。 使用夹点进行编辑要先选择一个作为基点的夹点,这个被选定的夹点显示为红色实心正方形,称为基夹点,也叫热点;其他未被选中的夹点称为温点。如果选择了某个对象后,在按Shift键的同时再次选择该对象,则其将不处于选择状态(即不亮显),但其夹点仍然显示,这时的夹点被称为冷点。关于夹点的各种状态的例子见图7-1。 如果某个夹点处于热点状态,则按Esc键可以使之变为温点状态,再次按Esc键可取消所有对象的夹点显示。如果仅仅需要取消选择集中某个对象上的夹点显示,可按Shift键的同时选择该对象,使变为冷点状态;按Shift键的同时再次选择该对象将清除夹点。此外,如果调用AutoCAD其他命令时也将清除夹点。 7.1.2 使用夹点编辑对象 在AutoCAD中使用夹点编辑选定的对象时,首先要选中某个夹点作为编辑操作的基准点(热点)。这时命令行中将出现STRETCH(拉伸)、MOVE(移动)、ROTATE(旋转)、SCALE(比例缩放)和MIRROR(镜像)等操作命令提示,用户可按Space键或Enter键循环显示这些操作模式,也可单击右键调用快捷菜单进行选择,如图7-2所示。 直接使用这些操作命令时系统自动以基夹点为操作基点(起点),操作过程与相应的AutoCAD命令类似。
最新发布
深入了解Flash AS中的setInterval方法
相信大家对Flash的setInterval方法肯定非常熟悉,但不少人对其缺乏深入的了解,致使当一个flash里有多个setInterval的时候就容易混淆,该清除的间隔ID没有清除,不该清除的时候却清除了。对于setInterval的语法我就不赘述,很多文章都有详细说明,下面来说一下setInterval的几个重点。 1、setInterval和clearInterval都是全局函数,也就是_global.setInterval()和_global.clearInterval()。 这一点大家应该都知道,但是可能并没有特别注意。不过这点对我们理解他们非常重要。setInterval的返回值是一个间隔ID(数字),所以这个间隔ID也是全局的。 比如下面的代码: 我们用clearInterval(rootID)和用clearInterval(1)的作用是一样的。 2、每一次调用setInterval,就会返回一个间隔ID,这个ID数值为全局setInterval的调用次数。 比如下面的代码: 在这个例子里,我们可以用clearInterval(1)来清除间隔rootID。假如我们先点击btn1再点击btn2,那么就可以用clearInterval(2)来清除点击btn1所产生的间隔ID,而用clearInterval(3)来清除点击btn2所产生的间隔ID。相反,如果我们先是点击btn2再点击btn1,那么clearInterval(2)则是清除点击btn2所产生的间隔ID. 3、给间隔lID添加标识符 在实际编程中,用上面的clearInterval(数字)这样的方式固然可以清除间隔ID,但是一旦ID过多,我们就会无法识别该清除哪个ID。因此给间隔ID添加标识符就显得非常重要。但是必须把他分配到一个对象的成员变量中。
用Flash AS3制作统计饼图动画效果
FLASH演示地址:http://flashview.ddvip.com/2007_08/32664.swf 说明:点击的蓝色按钮可以画出各种饼图,点击饼图中不同色块可以观看效果。
Flash AS实例教程:制作铅笔动画
用一段简单的AS代码就可以实现简单的铅笔动画效果。 直接复制代码,导出就可以看到效果了:_root.createEmptyMovieClip("pen", 1);pen.lineStyle(2, 0x000000);pen._x = 200;pen._y = 200;pen.beginFill(0x444444, 100);pen.lineTo(30, -10);pen.lineTo(200, -10);pen.lineTo(200, 10);pen.lineTo(30, 10);pen.lineTo(30, -10);pen.beginFill(0x333311, 100);endFill(pen);pen.beginFill(0xf9f999, 100);pen.lineTo(0, 0);pen.lineTo(30, 10);pen.lineTo(30, -10);endFill(pen);pen._rotation = -50;n = 0;r = 100;a = 1;k = 10;tt = 0;lineStyle(2);moveTo(Math.cos(0*Math.PI/180)*r+200, pen._y);ss = setInterval(function () {a++;if (a>3) { a = 1;}if (a == 1) { lineStyle(2, 0xff0000);}if (a == 2) { lineStyle(2, 0x00ff00);}if (a == 3) { lineStyle(2, 0x0000ff);}n += 30r -=0.3if (n<20000) { pen._x = Math.cos(n*Math.PI/180)*r+200; pen._y = Math.sin(n*Math.PI/180)*r+200; lineTo(pen._x, pen._y);}updateAfterEvent();if (n>=20000) { aa = setInterval(function () { updateAfterEvent(); tt++; if (tt>5000) { clearInterval(aa); clearInterval(ss); } pen._rotation = Math.sin(n*Math.PI/180)*5+90; }, 5); _root.createTextField("t", 2, 300, 350, 150, 20); t.text = "By FLASH8菜鸟 kingofkofs"; pen._x = 400; pen._y = 120;}}, 5);sp = 0;f = 20;this.onEnterFrame = function() {if (tt>5000) { pen._y -= sp; sp += 2;}if (sp>f) { sp = -f; if (f>=4) { f -= 4; }}};
教你如何去掉网页上的Flash动画虚线框
如果你是个细心的网民,如果你是一个仔细的网页设计者,那么你一定有发现这样一个现象:在浏览带有Flash动画的页面,当你把鼠标移动到Flash动画上时,Flash动画四周就会出现虚线框,点击一下方才可以激活。虽然这并不影响Flash动画的播放,但对于具有交互功能的Flash来说,就会给访问者多加了一个操作步骤,效果无疑会大大折扣。 为什么会出现虚线框? 我们知道在以前Flash动画虚线框是不存在的,那么为什么最近会出现这个现象呢?原来微软考虑到IE浏览器的安全性问题,针对IE发布了一项更新补丁,禁止了IE浏览器的ActiveX控件自动激活功能。这样就造成了本来可以直接点的Flash,现在要先多点一下这个虚线框来激活了。 去掉虚线框 既然能加的上去,就一定能去的掉。首先在网页代码之间插入如下代码: <SCRIPT src="objectSwap.js" type=text/javascript> </SCRIPT> 这样网页在加载的时候会自动对页面中的 object 标签进行重写,实现自动激活。 点击这里下载objectSwap.js文件 上面说的方法是外部JS调用法,其实我们熟悉常用的Dreamweaver最新版8.02版也给出了这个问题的解决方法。大家把Dreamweaver升级到8.02版后,再插入Flash文件时,会加入一个脚本来解决这个问题。
用Flash AS推导三角形面积
本文示例源代码或素材下载 先创建一个三角形,然后复制一个并旋转移动与原图拼成一个平行四边形,平行四边形面积=底×高,所以三角形面积=底×高÷2。 演示文件地址:http://file.ddvip.com/2007_08/1187865825_ddvip_5444.rar [过程] 1、创建一个影片剪辑,在帧上写如下代码: 2、把上面元件拖入到主场景中合适的位置。
Flash AS实例教程:用纯AS制作火焰特效
本文示例源代码或素材下载 首先申明不是偶原创,偶只是把效果综合了一下。粒子变幻效果忘记是谁的了,知道出处的朋友请提醒,偶在以后补上。火焰瑞流效果是来自一位朋友的博客里面的摄像头火焰特效,也无处可考证出处,请知道的朋友提醒,偶以后补上。还有个返回无重复随机数组的函数在里面,是坛子里的朋友的,知道出处的朋友也请告知,呵呵呵... 以下是关键原码和原始文件,感兴趣的朋友可以看看:Fire_ok.as:
用Flash Actionscript简单方法实现复杂的图表
代码如下://这个数组的最前一位和最后一位,在这里的作用只起到占位的作用dataTable=[];dataTable.push(["1851-1860",8,5,5,1,0,19]);dataTable.push(["1861-1870",8,6,1,0,0,15]);dataTable.push(["1871-1880",7,6,7,0,0,20]);dataTable.push(["1881-1890",8,9,4,1,0,22]);dataTable.push(["1891-1900",8,5,5,3,0,21]);dataTable.push(["1901-1910",10,4,4,0,0,18]);dataTable.push(["1911-1920",10,4,4,3,0,21]);dataTable.push(["1921-1930",5,3,3,2,0,13]);dataTable.push(["1931-1940",4,7,6,1,1,19]);dataTable.push(["1941-1950",8,6,9,1,0,24]);dataTable.push(["1951-1960",8,1,5,3,0,17]);dataTable.push(["1961-1970",3,5,4,1,1,14]);dataTable.push(["1971-1980",6,2,4,0,0,12]);dataTable.push(["1981-1990",9,1,4,1,0,15]);dataTable.push(["1991-2000",3,6,4,0,1,14]);dataTable.push(["2001-2005",7,2,3,3,1,9]);//这个函数把数组中的每一个元素中的第n个元素存在一个临时的数组,返回这个数组get2dArrayValues=function(handle,n){temp=[];for(vari=0;i<handle.length;i++){ temp.push(handle[n]);}returntemp;};//重点讲一下这个函数drawGraph=function(handle,values,max,grpWidth,grpHeight,Style,xoffset,yoffset){//这两句确定了每个数据点应该相隔多远varxincrement=grpWidth/values.length;varyincrement=grpHeight/max;//为图表创建占位符,依据xoffset,yoffset移动它.重复利用handle变量名,指向createEmptyMovieClip方法创建的子电影剪辑handle=handle.createEmptyMovieClip("graphline"+getTimer(),handle.getNextHighestDepth());handle._x=xoffset;handle._y=yoffset;//定义beginFill样式,开始点handle.lineStyle(0,0xFFFFFF,4);handle.moveTo(0,grpHeight);handle.beginFill(Style[0],Style[1]);//绘制第一根线条,它的值是变化的,保持把这个lineTo与下面的lineTo值隔离开,x是0,y稍微复杂一点handle.lineTo(0,grpHeight-(values[0]*yincrement));//有了上面的起始位置,那么接下来只要遍历余下的值就可以了for(vari=1;i<values.length;i++){ handle.lineTo((i*xincrement),grpHeight-(values*yincrement));}//数组是以0位开始的,所以这里要减1handle.lineTo((values.length-1)*xincrement,grpHeight);//封闭形状handle.lineTo(0,grpHeight);handle.endFill();};//建立一个MCmyGraph=this.createEmptyMovieClip("graphHolder",0);//调用函数后返回的值赋予F1varF1:Array=get2dArrayValues(dataTable,1);//调用函数,求出每个点的位置drawGraph(myGraph,F1,12,800,200,[0x3C4B6C,5],22);//以下同上varF2:Array=get2dArrayValues(dataTable,2);drawGraph(myGraph,F2,12,800,200,[0x3C4B6C,25],22);varF3:Array=get2dArrayValues(dataTable,3);drawGraph(myGraph,F3,12,800,200,[0x3C4B6C,45],22);varF4:Array=get2dArrayValues(dataTable,4);drawGraph(myGraph,F4,12,800,200,[0x3C4B6C,65],22);varF5:Array=get2dArrayValues(dataTable,5);drawGraph(myGraph,F5,12,800,200,[0x000000,85],22);
Flash AS实例教程:用纯AS制作的钟表动画
本文示例源代码或素材下载 [效果] 文章末尾处链接地址可下载 [代码]把以下代码复制到主场景中的第一帧上://画钟表边线this.createEmptyMovieClip("bianxian_mc",1);with(bianxian_mc){lineStyle(2,0xCCCCCC);moveTo(Math.cos(0*Math.PI/180)*96,Math.sin(0*Math.PI/180)*96);for(vari=360;i>=0;i--){ lineTo(Math.cos(i*Math.PI/180)*96,Math.sin(i*Math.PI/180)*96);}_x=100;_y=100;}//创建时间动态文本this.createTextField("my_txt",2,0,0,0,0);with(my_txt){autoSize=true;textColor=0x555555;_x=70;_y=60;}//画12个表格this.createEmptyMovieClip("biaoge_mc",3);with(biaoge_mc){lineStyle(2,0xCCCCCC);moveTo(0,-96);lineTo(0,-92);_x=100;_y=100;}for(i=1;i<12;i++){duplicateMovieClip(biaoge_mc,"biaoge_mc"+i,3+i);setProperty("biaoge_mc"+i,_rotation,i*30);}//画时针this.createEmptyMovieClip("shizhen_mc",16);with(shizhen_mc){lineStyle(4,0x666666);moveTo(0,0);lineTo(0,-60);_x=100;_y=100;}//画分针this.createEmptyMovieClip("fenzhen_mc",17);with(fenzhen_mc){lineStyle(2,0x666666);moveTo(0,0);lineTo(0,-75);_x=100;_y=100;}//画秒针this.createEmptyMovieClip("miaozhen_mc",18);with(miaozhen_mc){lineStyle(1,0x666666);moveTo(0,0);lineTo(0,-90);_x=100;_y=100;}//让时针、分针、秒针动起来this.createEmptyMovieClip("time_mc",19);time_mc.onEnterFrame=function(){my_date=newDate();shi=my_date.getHours();fen=my_date.getMinutes();miao=my_date.getSeconds();shizhen_mc._rotation=shi/12*360+fen/60*30;fenzhen_mc._rotation=fen/60*360+miao/60*6;miaozhen_mc._rotation=miao/60*360;if(shi<10){ shi="0"+shi;} if(fen<10){ fen="0"+fen;} if(miao<10){ miao="0"+miao;} my_txt.text=shi+":"+fen+":"+miao;};//画中心圆this.createEmptyMovieClip("yuan_mc",20);with(yuan_mc){beginFill(0x555555);moveTo(Math.cos(0*Math.PI/180)*4,Math.sin(0*Math.PI/180)*4);for(vari=360;i>=0;i--){ lineTo(Math.cos(i*Math.PI/180)*4,Math.sin(i*Math.PI/180)*4);}_x=100;_y=100;}
面向Flash AS初学者的实例教程:单选题
本文示例源代码或素材下载 [前言] 1、写本教程得到了“终极讨厌”老师的大力帮助,在此表示感谢! 2、初学者写的教程面向初学者,让我们成为高手吧! [效果] [步骤] 第一步:在主场景中从下到上依次创建几个图层——“背景”、“标题”、“题目”、“答案显示”、“答案按钮”、“成绩”、“判断”、“交卷”、“动作”。(“背景”、“标题”、“题目”图层中设置较简单,这里不再叙述)。 第二步:在“答案显示”图层中,拉出几个动态文本框,分别放在每一题的括号中,变量名依次为daan1、daan2、daan3、daan4。 第三步:创建按钮元件,画一个矩形,把矩形拖到最后一帧;打开库,把刚才制作的按钮分别拖到“答案按钮”图层上,放在每一题的选项上,第一题各按钮实例名分别为t1_btn1、t1_btn2、t1_btn3、t1_btn4,第二题把t1改为t2,依次类推。
Flash电子杂志常用滚动区域控制代码
做Flash电子杂志经常需要做文字滚动和图片滚动,于是我编写了这个代码可以方便快捷的使用,提高工作效率。 我一直都在使用这个代码,比较实用,希望大家也喜欢。 使用方法: 做两个按钮做滚动:up_btn,down_btn 做遮罩定下显示的范围:mask_mc 移动的mc:move_mc 把代码贴上去就OK!! 我整理了一下,与大家分享 设置代码CODE: /*program : hqlulumail : hqlulu@163.comwebsite : http://www.aslibra.compublish : 2006-10-31*///判断是否移动var move_it:Boolean = false;//移动方向var dir:Number = 1;//移动速度var speed:Number = 5;//按下的移动速度加倍var scale:Number = 3;//滚轮的移动速度加倍var scale_mouse:Number = 2;//设置上下的边距var margin:Number = 2;//计算移动的范围var max1:Number = mask_mc._y+margin;var min1:Number = mask_mc._y-move_mc._height+mask_mc._height-margin;//是否自动设置遮罩var is_set_mask:Boolean = false;//是否支持鼠标var is_mouse_enable:Boolean = true;//设置按钮、遮罩和移动的对象var my_move_mc:MovieClip = move_mc;var my_up_btn:Button = up_btn;var my_down_btn:Button = down_btn;var my_mask_mc:MovieClip = mask_mc;