推荐阅读

UI设计师最需要了解的设计工作流程
每个设计师看文章都有自己的喜好,有些人喜欢看一些纯设计技法或者设计教程,有些人喜欢看一些偏理论的知识点,比如工作经验、设计流程、设计分析等等。其实作为一名UI设计师应该看文章不要挑剔,每一方面都要看一下,这样才能更好的提升自己的设计水平和管理能力。欢迎关注作者所在的丁香园设计团队微信公众号:「花厂设计招待所」今天主要来跟大家聊聊我自己的工作习惯和方法,相信作新人看了一定会收获很多~1. 一般怎么规划好工作上的需求?我使用teambition软件来管理我的日常需求,teambition是一款团队协作软件,由于公司使用的是tower,所以目前teambiton我是用来管理个人需求。我用过tower,可能觉得界面不够美观,有些地方体验不是特别好,不过用来团队协作应该也是不错的。由于朋友的推荐,我就尝试用teambiton来管理个人的日常需求,发现已经能够满足日常的工作需要了。下面我放上几张截图来说明我如何使用teambition。因为teambition功能点非常多,这里只是做个示例,希望有兴趣的自己体验一下。产品设计流程图(PM)App设计流程图适合全新App设计,整理出所有大致需要做的东西,然后按照从左到右的顺序分别完成。

使用Photoshop给外景人像添加唯美逆光效果
最终效果原图1、打开素材图片,创建可选颜色调整图层,对黄色,青色进行调整,参数及效果如下图。这一步主要把草地的颜色转为橙黄色。2、创建色相/饱和度调整图层,对黄色进行调整,参数及效果如下图。这一步把草地颜色转为红褐色。

Camera Raw各版本英文变中文的方法
很多朋友对Photoshop CS2 RAW格式插件的安装没问题,只需拷贝Camera Raw.8bi文件到相应的文件夹就可以了,但是显示的是英文,希望此方法能够解决大家将Camera Raw各版本在Photoshop CS2 中英文变中文的方法的问题。高手就不要看了! Photoshop CS2 RAW格式插件的安装路径: PS CS2英文版,安装路径是:C:\Program Files\Adobe\Adobe Photoshop CS2\Plug-Ins\File Formats把Camera Raw.8bi拷贝到这个目录下就行 Adobe Photoshop CS2简体中文版的安装目录:把Camera Raw.8bi文件copy到C:\Program Files\Adobe\Adobe Photoshop CS2\Plug-Ins\文件格式 目录下面即可 安装好cs2后,将RAW格式的图片导入PSPScs2,若显示的Camera Raw英文界面,选择open,将图片导入PS中,选择文件,看看有没有关闭并转到Bridge选项,若没有,需要进行升级,即Adobe Bridge,Adobe Bridge 1.0.2 update的下载地址:http://download.adobe.com/pub/adobe/...idge102Win.zip。升级后,打开PScs2,文件--关闭并转到Bridge--提示保存图片,是否?进入在桌面Adobe Bridge中--Edit(编辑)--Preferences....(首选项)--Advnaced(高级)--Language(语言)--选择Chinaexe,Simplified(简体中文)--OK(确定)--关闭Adobe Bridge,重启PS,打开文件就出现RAW的中文界面了,此方法适合于Camera Raw各个版本

Flash动态解析Web应用程序服务器路径
玩过Flash+ASP/PHP开发的朋友都知道,在Flash软件里测试Flash从后台脚本读取数据的时候,不能直接的用如“loaddata.asp”这样的路径,必须是http://www.domain.com/Application/loaddata.asp 或者 http: 开头的路径。有些人问了?为什么呢?当FlashPlayer里测试的时候收到load("loaddata.asp")这个命令的时候,他会直接读swf文件路径下的 loaddata.asp文件。但由于没有经过IIS的运行处理,直接读入Flash内部,当然,读出的结果就是%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%类似这样了,所以就无法根据我们的意愿来处理数据了,而当FlashPlayer执行load("http://www.domain.com/Application/loaddata.asp")这个命令的时候,他就不再是本地的TXT文件读取命令,而是一个HTTP请求,FlashPlayer把这个请求发送到HTTP服务器,服务器的IIS解析脚本返回结果后Flashplayer便可以正确的处理这些数据了。(废话一堆)当然如果你清楚了路径的关系,也可以把写load("loaddata.asp")写到Flash里,上传的时候,把.asp .swf 和包含 .swf的html文件,都放在一个目录里就行了。特别指出的是swf 在取得路径时,是取包含他的html和.asp的关系的。而不是 swf 与 asp的路径关系。说起来已经是有一点晕了,但如果理解了路径的关系,那就非常简单了。好了,进入正题,虽然输入HTTP路径就可以正确读取数据,但是在程序开发测试阶段可能经常需要开发者更换服务器,那样就对我们造成了一定的麻烦,你每更换到另外一个服务器上面的时候就要修改一次他的HTTP路径,如果读取了N(N≠0)个文件,难道还要手动修改N次?当然不是,那么通过下面这个小技巧便可以轻松解决这个问题:把SWF文件嵌入到一个ASP页面里面,输入如下代码:<%Dim PageUrl,URLarry,i,ApplicationURLPageUrl="http://" & Request.ServerVariables("http_host") & Request.ServerVariables("url")Response.Write "PageURL="&PageUrlURLarry=Split(PageUrl,"/")Arryubound=ubound(URLarry,1)-1For i=0 to ArryuboundApplicationURL=ApplicationURL&URLarry(i)&"/"NEXTResponse.Write "<br>ApplicationURL="&ApplicationURL '这一句仅仅是测试代码是否正确,可省%>好了,对ASP有一定了解的朋友应该都明白代码是什么意思了,PHP也可以用这种思路来写,下面在SWF路径中可以这样写 <%="flash.swf?myserver="&ApplicationURL%> 这样就可以通过URL把变量传递给SWF文件,在Flash影片中便可以直接访问这个变量了,就是_root.myserver。 好的,现在来让我们测试一下结果,先编写一个loaddata.asp,让他返回一个back变量。打开FLASH,新建一个文件。然后在场景中拖入两个动态文本框,分别命名为txt.url 然后在第一帧输入以下代码:mytxt=new LoadVars()mytxt.load(_root.myserver+"loaddata.asp")mytxt.onLoad=function(sUCcess){if(success){
最新发布

Flash MX 2004 ActionScript图文教程(五)
1.3.4独立脚本文件 打开菜单“文件->新建”,从新建文档对话框中选择“动作脚本文件”可以建立独立.AS文件,这种文件的最大优点是可以重复使用。比方说,你在一个项目中建立的脚本可以放在独立的.AS文件中,其他项目要使用到类似的功能,你就可以直接调用这个.AS文件中的代码。这样可以大大提高开发效率,减少代码的冗余程度。

Flash MX 2004 ActionScript图文教程(六)
1.4.4代码编写 现在开始进入最麻烦的步骤――代码编写,我们将会接触到很多新的东西。 1、文本文件数据加载 在最开始的时候,我们曾建立一个文本文件,将其命名为“subtrahend.txt”,存在.fla文件所在的目录下,这个文件中包含有程序需要读取的参数,现在我们就要编写代码将这些数据读取出来。 选中“脚本”层中的第一帧,然后打开行为面板,输入这样的代码: var externalData:LoadVars = new LoadVars(); externalData.onLoad = function(){ subtrahend_txt.text = externalData.subtrahend; } externalData.load("subtrahend.txt"); var externalData:LoadVars = new LoadVars();这个语句的作用是建立一个LoadVars对象,将其命名为externalData。 而紧接下来的三行语句的作用是处理externalData对象的onLoad事件的代码,也就是说,当externalData对象加载的时候(onLoad),将读取externalData对象的subtrahend属性并赋值给界面上的subtranhend_txt,从而就完成了将数据从文本文件中读取出来并显示在界面上的过程。 你也许会问,externalData对象的subtrahend属性是从哪里“冒出来”的,回顾一下我们在实例开始时建立文本文件时在其中输入的内容是&subtrahend=100,凡是以“&”的行,LoadVars对象都会将&后面的单词识别为自己的一个属性并将紧随其后的等号右边的参数作为这个属性的值。 2、用户输入数据的处理 这个减法运算的,两个运算数一个是从文本文件中读取出来的,另外一个是根据用户的输入获得的,前面设置文本对象属性的时候我们已经将其中一个设置为“输入文本”,用户可以在其中输入数值。现在就是要处理当用户完成数值输入然后单击“Submit”按钮所要执行的操作。 选择“脚本”层中的那个提交按钮,为其添加这样的代码: on (press) { var minuend:Number = Number(minuend_txt.text); var subtrahend:Number = Number(subtrahend_txt.text); finalResult=minuend-subtrahend } 这段代码处理用户在该命名按钮上单击鼠标后需要执行的操作,这里的两个语句的作用是将,界面上的两个文本对象显示的内容转换成数值并分别用两个变量minuend和subtrahend保存,然后运算两者的差并保存到变量finalResult中。 3、根据运算结果提供反馈 首先拖放一个影片剪辑Movie_Clip的实例到场景的“界面”层当中并将这个影片剪辑实例命名为Movie_Clip_Instance_mc,要想在代码中引用影片剪辑的实例必须为其指定名称。

flash场景之间相互跳转的实现方法
在制作flash动画的时候,可能会有有很的mc 有时会把它放到几个场景中,那么在场景中的跳转如何实现呢? 请看教程吧。 1. 方法一:(使用telltarg... 方法一:(使用telltarget命令) 按钮上的as为:on (release) {tellTarget ("/") {gotoAndPlay ("场景 1", 1);}} 2. 方法二(用gotoandpla... 方法二(用gotoandplay命令) 主场景2中的mc放到场景2的时间轴上 按钮的as: on release { gotoAndPlay("场景1",1) } 并且在最后一帧加stop() 问题就可以解决了: 3. 方法三(利用路径_root.g... 方法三(利用路径_root.gotoandplay())

Flash本地加密
首先我们来假设一个情况。 我们要做一个flash,里面存了一段话,只想给知道密码的人看。通常的做法是检测用户的输入是否等于密码,然后显示。但是由于Flash是开放结构,所以swf文件可以反汇编然后看到密码,这时候就可以非法的看到要保护的东西了。 但是如果通过一个不可逆的算法把密码加密,然后存在swf里面。然后把用户输入的密码也同样加密,然后比对加密以后的字串是否相等就可以了。因为swf里面保存的密码是不可逆的嘛~~ 不可逆的加密算法有很多种,最流行的就是md系列了,现在的是md5。md5可以计算认可字串的特征,然后归结到一个32字节长的字串里面,源字串一点点的改动就会造成特称字串巨大的变化。 据个例子: "abc"的md5是900150983cd24fb0d6963f7d28e17f72 "abb"的md5是ea01e5fd8e4d8832825acdd20eac5104 为什么说不可逆呢? 据个例子 问题:1000是由什么数字相加而成的呢? 答案是不知道~ 如果说是两个数字,那么我们可以有1+999或者500+500或者……但是三个、四个、直到n个数字呢?也就是说我们不可能知道原来的数字是什么,猜中的机会很小。而md5也是同样的原理,将每个字符的特征值相加再相加,自然就很难猜到原来是什么东西了~

FLASH -- 关于变量的问题FLASH -- 关于变量的问题
前些天, 看到这个贴子, 就有一些疑问, 没来得及仔细讨论, 其实这个问题很重要, Flash的actionScript和其他的语言有不同的地方, 我查了几本书, 把我所了解的补充一下。 1.Flash没有真正意义上的全局变量, 这点和Director不同, 全局变量是指一旦声明, 在整个电影都有效, 这点Flash 是做不到的。对于我们来说, 要讨论的是: a: 一个变量可以存在多久? b: 怎样设定和提取变量值? 2. Flash 的变量只在其所在的时间线上有效。 在某个时间线上声明的任何变量对于该时间线上的所有scripts来说都有效。 所以对于在movieClip的时间线上声明的变量, 如果要在主时间线上调用, 就必须使用点语法来指向所要针对的movieClip, 也就是对象(object). 3.对于 movieClip里的变量来说, 其寿命和该movieClip的在舞台上的instance的寿命相当。也就是说, 一旦这个instance从舞台上消失(不是指它的visual appearance), 那么其中的变量也同时消失了。 同样的道理对于主时间线上的变量来说, 一旦unload 该swf, 那它上面的变量也就消失了, 或者说不可以在被调用了。 4. var 是的非常好的习惯, 正如斑竹所说的, 每次声明变量用var, 很规范, 很专业, 而且尽可能的先声明, 再赋值, 尽管Flash 5在这一点上很宽松。 5. 在function里使用var来声明变量是标准的局部变量, 也就是说只在function内有效。如果不用var来声明, 仍然是非局部变量。下面的例子也许可以说明这个问题。

Flash5 画任意直线教程
Flash5 画任意直线教程 第一步:新建一个flash,并且建立一个mc(命名为line),并在library里输出为line mc里面是长度为100的水平直线(一定是极细线),中心坐标是(50,0) 第二步:建立连线基础类,并且建立几个设置的成员函数,具体程序如下,请放在要画线的场景或mc的第一帧里,并单独放在一个名为class的层里,action如下:function New_line(c_line){ this.c_line=c_line;}New_line.prototype.attach_line=function(c_deep){ this.deep=c_deep+0; attachMovie(this.c_line,this.c_line+this.deep,this.deep); return ++c_deep;};New_line.prototype.set_xy=function(c_x,c_y){ eval(this.c_line+this.deep)._x=c_x; eval(this.c_line+this.deep)._y=c_y;};New_line.prototype.set_width=function(c_dx,c_dy){ this.dx=c_dx; this.dy=c_dy; this.l=Math.sqrt(this.dx*this.dx+this.dy*this.dy); eval(this.c_line+this.deep)._width=this.l;};New_line.prototype.set_angle=function(){ this.angle=180*Math.atan(this.dx/this.dy)/Math.PI; if(this.dy>=0) this.angle+=180; eval(this.c_line+this.deep)._rotation=90-this.angle;};New_line.prototype.set_color=function(c_color){ this.mycolor=new Color(this.c_line+this.deep); this.mycolor.setRGB(c_color);};New_line.prototype.delete_line=function(c_object){ removeMovieClip(this.c_line+this.deep); delete eval(c_object);} 第三步:建立实现连线函数,放在class层的下层,命名为function的层里,具体action如下:function line(c_x1,c_y1,c_x2,c_y2,c_color){ this.myline=new New_line("line"); deep=this.myline.attach_line(deep); this.myline.set_xy(c_x1,c_y1); this.myline.set_width(c_x1-c_x2,c_y1-c_y2); this.myline.set_angle(); this.myline.set_color(c_color);}line.prototype.delete_line=function(c_object){ this.myline.delete_line("myline"); delete eval(c_object);} 第四步:连线程序的具体用法。它的用法的具体形式如下:myline = new line(x1,y1,x2,y2,color); 其中x1,y1为画线起始点的坐标,x2,y2为画线中止的坐标,color为所画线的颜色具体形式为#0000FF等十六进制数,也可以用十进制,但不容易看出颜色值。 删除这条线:myline.delete_line("myline");

Flash MX 视频导入功能详解
在Flash MX中,我们可以导入QuickTime或Windows播放器支持的标准媒体文件。对于导入的视频对象,可以进行缩放、旋转、扭曲和遮罩处理,也可以通过编写脚本来创建视频对象的动画。Flash MX 6播放器加入了Sorenson Spark解码器,可以直接支持视频播放。此外,Flash MX还支持运行期动态载入JPEG和MP3文件,支持MP3、ADPCM和新的语音音频压缩技术。依据视频文件的格式和导入方法,在Flash MX中导入的视频可以发布成包含视频的Flash MX动画(.swf)或QuickTime电影(.mov)。 Flash MX支持导入的视频格式包括:MPEG(运动图像专家组)、DV(数字视频)、MOV (QuickTime电影)和AVI等。如果你的系统安装了QuickTime 4或更高版本,在Windows和Macintosh平台就可以导入这些格式的视频。如果你的Windows系统只安装了DirectX 7(或更高版本),没有安装QuickTime,则只能导入MPEG、AVI和Windows媒体文件(.wmv和.asf)文件。 在默认情况下,Flash MX使用Sorenson Spark编解码器导入和导出视频。编解码器是控制导入、导出时多媒体文件怎样压缩和解压缩的一种算法。因此,对其它视频格式的支持,取决于你的系统安装的是什么编解码器。 如果试图导入的视频文件的格式Flash MX不支持,它会显示一个提示信息,说明不能完成导入。对于某些视频文件,Flash MX只能导入其中的视频部分而无法导入其中的音频,这时Flash MX同样会提醒你。 一、Sorenson Spark编解码器 Sorenson Spark是Flash MX内置的运动视频编解码器,它让我们能够在Flash MX中添加视频内容。Spark是一个高质量的视频编码/解码器,它可以在提高视频质量的同时显著降低带宽要求。以前的Flash 只能使用连续位图图像来模拟视频,包含Spark后, Flash MX在视频支持能力方面有了很大的提高。 二、嵌入视频剪辑 在Flash MX中,可以用嵌入视频文件的方式导入视频剪辑。嵌入视频剪辑将成为动画的一部分,就像导入的位图或矢量图一样,最后发布为Flash MX动画形式(.swf)或者QuickTime(.mov)电影。采用嵌入视频的形式,可以导入Flash MX支持的任何格式的视频文件。 三、链接QuickTime视频剪辑

制作飞舞的蝴蝶
蝴蝶飞舞的效果是许多Flash电影中经常应用到的一个效果,而在本例中仅仅用到了一只沿路径运动的蝴蝶就达到了一个比较好的效果。这个实例是在场景中通过鼠标的移动来实现蝴蝶飞舞,其中蝴蝶飞舞的路径、大小和数量并不是确定的,而是我们通过ActionScript来进行控制的。好了,下面我们就开始这个动画的制作吧! 第1步,启动Flash MX,新建一个文件。右击舞台的空白处,选择快捷菜单中的“文档属性”,设置尺寸大小为:500PX、250PX,背景颜色为“黑色”,确定“确定”按钮,如图1所示。 第2步,按“Ctrl+F8”键,新建一个新元件,名称为“蝴蝶”,“行为”选择“图形”,如图2所示 单击“确定”按钮,进入蝴蝶编辑区。我们可以绘制一个蝴蝶,如果认为在绘制上认为比较烦琐,就找一个现成的处理后的蝴蝶。如图3所示。 第3步,按“Ctrl+F8”键再创建一个新元件,名称为“butterfly”,行为选择“电影剪辑”,如图4所示, 单击“确定”按钮,进入其编辑区。单击“窗口”→“库”,弹出库对话框,将我们制作的“蝴蝶”元件拖到“butterfly”编辑区,单击第7帧、13帧、19帧处按F6键分别插入三个关键帧,选中工具箱中的“任意变形工具”将第7帧、13帧、19帧的蝴蝶依次变榨,如图5所示。 再别分右击第7帧、13帧、19帧选择快捷菜单中的“创建补间动画”,最后的时间轴如图6所示。 第4步,按“Ctrl+F8”键再创建一个新元件”,名称为“fly”,行为选择“电影剪辑”,如图7所示, 单击“确定”按钮,进入其编辑区。我们从库中刚才制的“butterfly”元件拖到舞台上,在此层的第35帧处按F6键插入一个关键帧。单击时间轴下面的“运动引导层”按钮,新建一个图层。单击此层的第1帧,选择工具箱中的“铅笔”工具,画一条曲线,颜色任意,也就是蝴蝶运动的路径,如图8所示。 第5步,单击“图层1”的第1帧,选中“butterfly”元件,将它的注册点移与曲线的一端点重合,然后单击窗口下面的“属性”对话框,将“颜色”选择“Alpha”,将其值设为20%,如图9所示。

沟通从这开始 用Flash MX作留言程序
前不久,用Flash制作了一个主页,为了能够很好地与浏览者沟通,想制作一个简单的留言程序,经过一番实践,发觉实现方法十分简单,现奉献出来与各位共享。 一、功能简介 留言系统是以E-mail表单形式出现的(图1),在“主题”和“内容”中输入相应的内容,然后单击下方的“提交按钮”,可以自动启动系统默认的邮件发送工具,向预设E-mail信箱发送邮件。图1留言系统 二、制作过程 第一步:启动Flash MX,按Ctrl+J设定场景大小为:800×600;参照图1使用工具箱中的各种工具绘制绘图,输入文字;选择“窗口→公用库→按钮”打开系统自带的按钮库,将需要的按钮拖放到合适位置,并加上文字:“提交”。在这里你可以发挥自己的创意,设置美观大方的留言界面。 第二步:使用“工具箱”中的“文本工具”在“主题”和“内容”下面输入文本框;单击场景下方的“属性”按钮,设置文本框属性,其中“主题”下面的文本框的属性(如图2所示),“内容”下面的文本框略有不同,只要将“线条类型”设置为“多行”,“变量”为“neirong”即可。图2属性设置

用Flash MX软件制作遥控小汽车
动画效果: 分别通过五个按钮控制界面中的小车的旋转、上移、下移、左移、右移。 步骤如下: (1)选择“文件”下的“新建”,建一新的影片,并设置影片宽度为400px,高为400px,如“设影片属性”图示,在当前编辑环境中的舞台下导入图“遥控车”素材,按下CTRL+B两次进行打散,用套索工具中的任意多边形模式选中其中的小孩子,按F8转化为图形元件,并命名为“小孩遥控小汽车”,接着用套索工具中的任意多边形模式选中小汽车,然后按下F8,转化为影片元件,命名为“小汽车”,并清空舞台。图1 (2)按下Ctrl+L,打开库,从库中拖拉影片元件“小汽车”在舞台的上方,选定小汽车实例,在下面的“属性”面板中将其命名为car_mc,其中_mc表示该对象类型为电影片,如“小汽车实例名”所示,再拖拉“小孩遥控小汽车”到舞台的左下方。 (3)在舞台中从共享库中引入五个按钮,分别代表五种不同的操作,放在小孩子的右边垂直排开,并且在按钮的旁边分别做出注释:“旋转”、“上移”、“下移”、“左移”、“右移”。并分别调整它们的水平与垂直坐标,使它们摆放合理。 (4)首先设计旋转按钮,选定“旋转”按钮,将“动作”面板切换到“专家模式”,在“动作”面板的程序对话框中输入下面的程序: on(release){