推荐阅读

详细解析网页无边框按钮的优劣点
导览列对于多数手机 APP 而言是个很重要的元素,它不但可以让使用者明确的了解目前所开启的功能名称,在许多时候还是放置导航与重点功能的一个区域。在以往,当导航列上出现可以点击的按钮时,设计师在视觉表现上都力求让用户知道是个按钮,直至 iOS7 的去材质化设计理念,将这些地方的按钮的形态去掉、仅剩下符号与文字告知用户该「按钮」的功能。传统上,大多数的按钮外观都被设计成拥有具体的形状范围,除了可以有效的提示使用者这是个「可以被点击」的按钮组件之外,还可以有效的让用户知道这个按钮的「作用范围」在哪里,以防误触到相邻的按钮。这点这在许多地方相当有用,尤其是按钮相当多的屏幕小键盘或计算器,就需要让用户知道按键的实际感应范围在哪里。桌面系统与触控系统大不同其实在导览列上去除每个按钮实体的形状并不少见,像是计算机系统中也是有许多组件的长相也不诺我们认知中的按钮,比如说系统列,其实就是一串按钮的集合体。计算机系统的主要操作方式是透过鼠标光标,当按钮拥有实体范围时,它可以帮助用户确认按钮的大小及位置,使鼠标光标准确地移动至按钮上方点击,而遇到像导览列或是工具栏的地方,因为导览列本身已经有实体范围了,并且也可以利用 hover 特效,帮助用户进一步确认光标与按钮之间的关系。

用钢笔、通道和曲线的抠图技巧
一、打开素材观察,发现此图并不难抠。比较难的是: A、头顶的几根细发和左手边发髻, 对此我们将用曲线调整。 B、左脸颊,左臂的网格衫与背景界限不清。对于界限不清,我们常用钢笔工具抠。 二、选择钢笔工具,图片放大到300%,抠出人体部位(不包括细发)。

相对路径和绝对路径在网页中的用途
经常听到网友苦述自己的网页中有许多图片不能正常显示,究竟为什么不能正常显示呢?总结其原因绝大部分都是因为使用了错误路径所致。网页中的图像、动画等素材都有自己固定的存放位置,网页只是通过路径使用HTML语言来调用它们,然后把它们显示在网页中。在网页中的路径大体可分为相对路径和绝对路径,大家(尤其是初学网页设计的朋友)往往对它们不够认识,在应该使用相对路径的地方使用了绝对路径,从而导致浏览器无法在指定的位置打开指定的文件,使素材不能正常显示。 那什么是相对路径?什么是绝对路径呢?为什么使用了绝对路径有时就不能显示呢?让我们一起来认识一下它们吧。 比如C盘的My Pictures目录下有一个tp.jpg图像,那么它的路径就是c:My pictures p.jpg,其实这种完整地描述文件位置的路径就是绝对路径。如网页index.htm中有一张图片tp.jpg,它们的绝对路径是: c:My picturesindex.htm c:My pictures p.jpg 如果你使用了绝对路径c:My pictures p.jpg进行图片链接,那么在本地电脑中将一切正常,因为在c:My pictures下的确存在tp.jpg这个图片。但你将它们上传到网站服务器上后,就不会正常了,因为服务器给你划分的存放空间可能在C盘其他目录中,也可能在D盘其他目录中,总之不会那么巧的就是c:My pictures。那么图片路径应该如何设置呢?这里就必须使用相对路径了,所谓相对路径,顾名思义就是自己相对与目标位置。在上例中index.htm中连接的tp.jpg就可以使用My pictures p.jpg来定位文件,这样不论将这些文件放到哪里,只要它们的相对关系没有变,就不会出错。具体的链接方式是这样的:“..My picturesimg.jpg”,其中使用“..”来表示上一级目录,“....”表示上上级的目录,以此类推。 我们一起来看看初学的朋友可能犯的几个路径错误: 例1 c:mywedwedindex.htm
最新发布

Flash AS制作LRC歌词同步的详细教程
一、准备工作 既然要制作歌词同步程序,首先要准备一首歌,我们就以“周杰伦-青花瓷”为例。首先要下载这首“青花瓷.mp3”,保存为“C:My PlayerMusic青花瓷.mp3”。还要下载青花瓷的 LRC 文件,大家可以到网上下载(地址见附录),将文本内容保存为“C:My PlayerLRC青花瓷.lrc”。我们的程序(类和FLA)则保存在“C:My Player”文件夹下。 青花瓷.lrc 文件: -------------------------------------------------------------------------------- [ti:青花瓷] [ar:周杰伦] [al:我很忙] [by:张琪] [00:00.00]发送短信18到291199下载该歌曲到手机 [00:01.11]青花瓷

Flash as3:绝对坐标与相对坐标
一个程序员写一个平面的游戏,一般情况下是看不到UI界面的,里面的每个控件和图像的移动和位置都是通过代码来实现,很多团队把这个数据的任务交给了美工,美工在发图的时候就把位置都拍好,并且给程序员。通常这里也有两种模式,一个是给绝对坐标的,这适用于屏幕大小不会改变的,长宽高和位置都是写死不变的。但是这种模式的程序往往比较小型,相反更多的都是相对坐标,这对于Flash版本的客户端来说其实是很容易的事情,那么这个坐标到底怎么设置,经历折磨了我很久。 首先就是直接设置 mc1.x=??; mc1.y=??; 这样mc1就设置好了,as3动态new出来的mc是没有width的,也没有height,而他的长和高本身也是不定,假设你在里面加了一张 300x200的图片,那么他的w和h就会变成300和200,如果你又加了一张400x100的图片,他的w就会变成400而h不变,这在于相对坐标上对应是复杂了很多的,比如我要让这个mc完全居中要怎么做? 如果舞台是1000的宽度,要剧中比较容易 mc1.x = (1000-400)/2; 这样就居中了,来看原理,首先我们要舞台居中,很容易就想到一个数字 1000/2 结果是500 但是x对舞台的*是不行的 x是左上角,所以这个答案还要再减去 400/2 相当于mc1再左移自己的一般的位置,这样就完全剧中了,答案就是 1000/2-400/2 那么算式就演化出来了。 所以要居中的答案似乎已经出来了 (stage.stageWidth-mc.width)/2 这个坐标一定是最中间的,但是真的如此吗?如果舞台变了呢?如果mc的大小变了呢?他还居中吗?这样想想依然是的。 我曾经也是非常理想的认为这是最好的方法,但是实践告诉我,我错了,当我需要在mc中继续增加原件图片,并且这个图片也要居中,并且这个图片要在mc内,并且这个图片可能大于mc也可能小于mc。来看看情况是怎么样的。 如果mc2在mc1里,并且mc1大于mc2,很好 mc2.x = (mc1.width-mc2.x)/2; 非常好,很显然他们对得很齐,并且mc1不需要在舞台上移动。但是另一种情况呢?通过这个算法也可以得到他们的坐标,但是这个时候mc1.width已经不在是原来的了,因为mc2的width比它大,所以显然是出错,算出来的结果是0,那么大的图片就会和小的图片”左对齐”了,而更新了舞台上mc1的位置后mc1的位置是居中了,可是里面的却错得一塌糊涂,你又要重新对齐原来的图像,2个文件就要来回对其,麻烦不错,很容易对了这个忘了那个,最终结果就是图像莫名其妙错位,痛苦。曾经思考过很多,图像越多就越麻烦。 这个时候很多程序员并不会跳出来,会一直想如何对其,然后一直修复这个问题,其实错了,我们都错了,解决问题有时候不可以死脑筋,如果换思路会如何?有想过?换过以后却是如此的简单,我们再来看看原理。 首先我们把检测他的大小,然后运算居中,但是大小会变,算了外面不能顾及里面,算了里面不能顾及外面,那能不能不算呢!答案是肯定的。其实无论如何大小变有一个点是永远对着舞台中心的,那就是mc的中心,但是width的大小在变,如何才能让中心不变呢,这时我想到了一个关键字(注册点),在FlashIDE里也许这个名词很熟悉,但是到了代码里可能很难联想到这个关键字,所以我们要做的是让mc的中心点永远是0点就可以了。也就是说00点是中间而不是左上角!这个时候我们再来对齐看看??

Flash air制作淡入淡出窗体动画效果
本文示例源代码或素材下载 Flash air有一个很炫的功能,它可以做基于FLASH的自定义窗体,太在厉害了,你可以想像用flash air做的程序能够炫到什么程度。 下面就用一个示例来向大家展示,打开FLASH CS3创建一个FLASH AIR文档,如图所示: 保存此文档为mywindow.fla,文档类中填写main,再新建一个AS文件,保存在同目录下,名为main.as,在此文件中输入以下代码:package { import flash.display.MovieClip; import flash.display.NativeWindow; import flash.text.TextField; import flash.display.SimpleButton; import flash.events.MouseEvent; public class main extends MovieClip { private var window:NativeWindow; private var mytxt:TextField; private function startrun():void { window=stage.nativeWindow; window.title="我自定义窗体"; mytxt=new TextField(); mytxt.width=100; mytxt.height=20; mytxt.x=225; mytxt.y=180; mytxt.text="Hello AS3!"; addChild(mytxt); close_btn.addEventListener(MouseEvent.CLICK,clickclose); stage.addEventListener(MouseEvent.MOUSE_DOWN,drag); } private function clickclose(event:MouseEvent):void{ play(); } private function closethis():void{ window.close(); } private function drag(event:MouseEvent):void{ window.startMove(); } } } 再打开window.fla文件,在场景中做一个程序启动时的动画,可以随意,我们就做一个淡入淡出的动画效果吧。如下图所示: 选中第12帧(也就是关键帧处),创建一个按钮,实例名称为close_btn,按F9打开动作面板,输入以下命令: stop();

Flash AS3教程:ImageLoader类
前面学习了Flash AS3教程:ClassLoader类和BitmapData的使用。 跟ClassLoader差不多,但是不同的是,他是读取图片的BitmapData,然后可以多次 new Bitamap(ImagesLoader.data) 进行图片调用 多次使用图片,直接用ByteLoader也可以,但是他加载进来的是字节,还要通过loadBytes 但是加载进来的,却是一张图片,无法重复使用 虽说要用就loadBytes一下,就是一张图片,但是实际起来还是比较麻烦 那么这个类,就是帮助你把这些步骤全部省下,直接把BitmapData拿出来 你只需要,用一个引用值接住他 var bd:BitmapData = ImageLoader.data;

Flash AS3教程:疑难杂症汇总
前面学习了Flash AS3教程:ImageLoader类,但是有时我们在做项目时可能会遇到这样或那样的问题,这篇里给大家专门提供些解决办法。 在做项目的时候,总会碰到很多,奇奇怪怪的问题,看了这篇文章相信会有些帮助,虽然不是很全面,但只要是我碰到过的问题,就分享给大家!但是也怕有些想不起了。。尽力额、、 ==================== 气 死 你 的 分 割 线 ==================== 1、数组的排序问题:Array.sort()方法 大家都经常用排序,一般都是字符串排序什么的,都不会发现什么的,现在来看一个有趣的现象 CODE: var a:Array = [7,3,32,64,96,13,42]; a.sort(); trace(a); //输出:13,3,32,42,64,7,96奇怪了,为什么排序出来的东西是个这样的。。

Flash as3教程:OutDisplay类
前面我们学习了Flash AS3教程:疑难杂症汇总, 我们继续学习AS3的index.base.func.OutDisplay类 index.base.func.OutDisplay类讲解: 当对象再一次触发某事件的时候,判断是否在事件范围内,如果不在则调度Event.CANCEL事件 构造函数 public function OutDisplay(_type:String,_dis:DisplayObject,...objs) 第一个参数:侦听类型 第二个参数:作用范围,一般来说都是用Stage作为范围,当然也有用在其他地方的 第三,四……个参数:可以拥有_type事件的对象 实例化后,侦听_dis的_type事件,每当触发_type事件,就开始判断事件目标是否存在objs中,或者objs中某项的子集显示对象,如果有则没有反应,如果没有则发出Event.CANCEL事件 add方法

Flash AS3教程:Direction类和Dot类
前面讲述了Flash as3教程:OutDisplay类,本篇对Direction类的方法属性和Dot的更新部分讲解。 关于该例子的教程请关注第九篇笔记! 即将出Direction类与Dot类的实战使用教程,本篇只对Direction类的方法属性和Dot的更新部分讲解 首先是 index.base.game.Direction类 作用:控制飞机游戏,坦克游戏,或者一些和方向有关的方向按键操作 构造函数: public function Direction(_area:InteractiveObject,isSole:Boolean = false,_up:uint = 38,_down:uint = 40,_left:uint = 37,_right:uint = 39) 参数一:方向键的作用区域,如果_area当前不是焦点,那么是侦听不到键盘事件的,一般这儿都是使用Stage做为作用区域 参数二:是否为单向事件触发,如果为false,那么按了什么键就是什么,可以同时触发上和左等两个或者两个以上的事件,反之以最后按的那个键为准

Flash AS3教程:小游戏开发实战尝试
本文示例源代码或素材下载 前面讲解了Flash AS3教程:Direction类和Dot类,前面都是理论的讲解,这篇来一个实战,做一个类似坦克游戏的程序。 一个类似坦克游戏的demo程序 使用Direction类来进行方向控制 使用Dot类来计算距离 用上Direction类和Dot类之后,这个demo程序变得异常简单额。。 也没什么好说,主要透过这个例子,让大家类熟悉Direction类和Dot类的使用方法 不懂的可以在后面跟帖提问,高手如果看到什么有错误的地方,请指正出来,多谢指教 下面是fla的源代码: CODE:

用Flash制作精巧的时钟
时钟是日常生活中必备的物品,有了它我们才可以有计划的进行学习和工作.这次我们用Flash来制作一个精美的小时钟,你可以把它拖到电脑屏幕的一角,使工作中的你可以方便的查看当前时间和日期. 本实例最终效果如图1所示; 图1 时钟的最终效果 1.首先启动Flash,新建一个影片,设置影片舞台大小为270px*320px(单位为象素),背景颜色为灰色,颜色代码为#CCCCCC. 2.首先制作时钟里的时针.新建一个影片剪辑元件,命名为hours,进入元件的编辑区后,使用矩形工具绘制一个细长的无边框的矩形,填充色为灰色,颜色代码为#999999,如图2所示; 图2 制作时针 3.然后制作时钟里的分针.新建一个影片剪辑元件,命名为minutes,进入元件的编辑区后,使用矩形工具绘制一个细长的无边框的矩形,填充色为深灰色,颜色代码为#666666,如图3所示;

Flash 视觉特效实例之花样年华
又是一年花落去,又是一岁花开时(呵呵,先感叹一下)。本例是通过对遮罩元件进行编程,以及利用颜色技巧来实现一个“遮罩金属字”的效果,如效果图所示。该效果最值得读者学习的是如何用简单的程序使元件产生一定的运动速度。这也是这个简单实例拥有一定魅力的另一原因。 效果图 源文件下载:点击这里下载 1.新建一个Flash文档,单击“属性”面板中的“尺寸”按钮,打开“文档属性”面板设置场景大小为600px x 200px,背景为黑色,帧频为12fps。 2.按快捷键Ctrl+F8,新建一个名为“光圈”的影片剪辑元件。按快捷键Shift+F9打开“混色器”面板,并如图1所示进行设置。其中四个滑块的颜色分别为白色、#F4AC35、#E0C81F、#202020,第4个滑块的Alpha值为0%。 图1 3.点选“椭圆”工具 ,在“光圈”的场景中按Shift键拉出一个直径为180像素的圆来,如图2所示。