推荐阅读
商业人像速成教材:环境人像
注重化妆和造型的设计 化妆是环境人像拍摄中重要的一环。合适的妆容可以掩盖一些局部的缺陷,让平淡的五官和轮廓显得更加鲜明,也可以 起到使模特融入环境或在环境中更加突出的效果。如果模特是长发,就可以在拍摄时选择将头发放松下垂、扎紧或者盘起来,做出不同的造型,以得到不同的效果。 模特的服装最好能多带几套,以适应不同的场景。比如在一片绿色的背景下,就可以考虑来个“红花还需绿叶扶”的场景。这样不但画面色彩搭配漂亮,而且人物主 题非常突出。画面元素要合理组合 任何单一的因素都难以成就一幅成功的作品,对画面元素的控制,归纳起来虽然简单,但实际拍摄过程中想做到自觉地 进行创造性运用,并非一日之功。尤其要处理好色彩的和谐,使整个画面充满活力。通常我们在拍摄环境人像时,多遇到在树林内或大树旁选景拍摄的情况。在强烈 的日光照射下,光线穿过树叶会形成许多光斑,照在人脸上非常难看,而用这些光斑作背景画面会收到很好的效果,但需选用大光圈来控制景深,虚化这些光斑,这 样才能得到赏心悦目的画面。另一种可能的场景是,在公园内用假山石作背景,让模特穿着鲜艳的服装,从而获得较大的色彩反差,拍出的照片感染力非常强烈。还 有一些其他的背景,如有粗犷石纹的墙面、大面积的植物、池塘、建筑物、公路、雕塑等,这些背景素材只要合理组合利用,都可以成就一张成功的环境人物作品。利用空间创造感觉 控制空间的感觉最重要的是对背景的控制。拍摄时如果选择过于杂乱的背景会使整个画面找不到重点,因此要做适当的 取舍,使画面有疏有密。为了更突出空间的感觉,拍摄时除了画面的构图外,也要注意其中人与物的结合,用动作方面的创造抓住视觉的重点。其次,画面中的景物 要有呼应。主体与背景之间,以及主体与客体之间要有联系,不能孤立,这样才能够达到更完美的感觉。
PhotoShop消失点滤镜快速为沙发换花纹
花纹素材沙发素材1.打开花纹图.全选图.复制..关闭..等下会用到.2.关闭花纹图.打开沙发图.复制图层.钢笔工具勾图3.钢笔工具勾出图后.复制出所选图层
Discreet发布3ds max7中文版SP1
Discreet官方网站05年3月30日消息:继去年年底discreet发布3ds max 7 中文版以来,经过一段时间的运行,该简体中文版本还存在不少Bug,本次Discreet针对3ds max 7 中文版本存在的问题发布了 Service Pack1,它解决了很多目前困扰3ds max 7用户的问题,相信随着时间的推移,简体中文版的3ds max 7将会越来越受欢迎,下面就让我们来看一下新发布的3ds max 7的Service Pack1都解决了哪些问题。 一、3ds max 7的Service Pack1解决的问题 1、在3ds max 7 中文版发布之初,不能正确渲染在网络上渲染 AVI 和 MOV 文件,现在这个问题已经得到了彻底的解决。 2、在3ds max 7 中文版中,解决了Character Studio的将 Biped 副本加载到没有马尾辫的 Biped 时产生的姿态问题。 3、解决了Character Studio的场景中的具有三种自由度的多选对象无法在正确空间中旋转的问题。 4、解决了Character Studio使用“自动关键点”和粘贴姿势时,始终无法正确粘贴正确姿势的问题。 5、在3ds max 7 中文版中,在编辑多边形的时候,当我们将材质指定到无贴图坐标的“编辑多边形”修改过的对象时会出现错误,Service Pack 1解决了这个问题。 6、可编辑网格对象的动画设置问题。解决了当可编辑网格对象类型中存在一个子对象变形动画的问题,即无法正确创建从 0 帧完成的动画,该问题已解决。 7、解决了文件 I/O错误问题,修正了保存当我们保存 .DDS 文件时固定内存泄漏的问题。 8、解决了文件链接中存在的问题。现在文件链接将先搜索其数据集是否有替代对象,如有将避免重新加载。
最新发布
Flash AS3教程:类的分包处理
学习Flash AS3自己整理的写的一些类,对学习Flash非常有用! 分包情况: base包:基础包,用于存放初级应用类 bat包:应用包,用于存放高级应用类 com包:系统化包,用于存放系统化的高级应用模块类 exe包:框架包,用于存放框架方面的类 item包:项目包,用于项目上靠经验积累下的类 module包:组件包,用于存放组件的类 这段时间,我个人的情绪非常低落,为了摆脱这段时间的消极状态
Flash游戏开发:BitmapData的使用
作为Flash游戏开发者,整天都在跟Flash的显示效率搏斗。最近为了更好的节约效率,在下做了一些测试,得到了一些结果,同时也感到了一些问题,请诸位高手也帮忙看看! ******************************************************************** 1、copyPixels,5000次,1000*590,没有lock,后addChild cost: 10828 cost: 10844 cost: 10625 2、copyPixels,5000次,1000*590,没有lock,先addChild cost: 10828 cost: 10844 cost: 10625
飘雪Flash动画简单制作
很多女生都喜欢好看的Flash动画,那么想不想自己制作一个呢?今天为大家简单讲解如何制作常见的飘雪动画。 swf大小为550*400; 在flash里画一片雪,设为moveClip,起名snow,删除场景是的雪片,在库中链接,选“为第一帧导出”“为actionscript导出”起名snow,然后在第一帧写入如下代码即可:var t:Timer;t = new Timer(1000,10);t.addEventListener(TimerEvent.TIMER,xue);t.start();function xue(e:TimerEvent):void { var i:int; for (i=0; i<=10; i++) { var tt:snow=new snow(); addChild(tt); var sj:uint=Math.random()*5>>0; tt.x=Math.random()*550>>0; tt.y=Math.random()*400>>0; tt.width=sj; tt.height=sj; //tt.alpha=10; tt.addEventListener(Event.ENTER_FRAME,moveY); }}function moveY(e:Event) { var speed:uint=e.target.width+Math.random()*1>>0; e.target.y+=speed; if (e.target.y>400) { e.target.y=0; }} 发布后效果自己感觉不错
Flash air制作透明雪花特效
本文示例源代码或素材下载 打开FLASH CS3,新建一个FLASH AIR文档,设置窗口模式为透明(设置方法在上篇文章中我已经说过了),创建一个雪花影片剪辑,链接为snow,在场景中创建一个按钮,实例名称为close_btn,在文档类中填写main,保存此文件为snow.fla。新建一个AS文件,放在同目录下,保存为main.as,在其中写入以下代码:package {import flash.display.MovieClip;import flash.display.SimpleButton;import flash.display.StageDisplayState;import flash.display.NativeWindow;import flash.events.Event;import flash.events.MouseEvent;public class main extends MovieClip {private var window:NativeWindow=stage.nativeWindow;private var mysnow:snow;public function main() {stage.displayState=StageDisplayState.FULL_SCREEN;addEventListener(Event.ENTER_FRAME,xh);close_btn.addEventListener(MouseEvent.CLICK,closefunc);}private function xh(event:Event):void {mysnow=new snow ;addChild(mysnow);}private function closefunc(event:MouseEvent):void {window.close();}}} 我们还要为snow影片剪辑写一个包,新建一个AS文件,保存在同目录下,名为snow.as,写入以下代码:package {import flash.display.MovieClip;import flash.events.Event;public class snow extends MovieClip {private var speedy:Number=Math.random() * 6+2;public function snow() {var lastwidth:Number=this.width;this.width=Math.random() * 5;this.height*= this.width / lastwidth;this.y=-5;this.x=Math.random() * 545;addEventListener(Event.ENTER_FRAME,xh);}private function xh(event:Event):void {this.y+= speedy;if (this.y > 400) {removethis();}}private function removethis():void {removeEventListener(Event.ENTER_FRAME,xh);parent.removeChild(this);}}} Ctrl+Enter测试就可以看到效果了。
Flash AS3教程:ClassLoader类
主要用途: 1、在用flash做项目的时候,把一些元件,通过设置链接类,然后使用这个类,通过getClass方法即可把这个素材拿下来 图1(详见例1) 2、将许多许多的类分库到不同的swf中,然后通过调用swf,达到调用类库的功能,然后通过getClass来获取类(详见例2) index.base.net.ClassLoader类讲解: 加载swf文件,并且通过调用getClass获取类,也可以获取命名空间或者函数的定义 构造函数 public function ClassLoader(obj:Object = null,lc:LoaderContext = null) 参数1可以是字符串,可以是ByteArray,如果为前者则采用load方法,后者采用loadBytes方法
Flash AS3教程:ByteLoader类
前面介绍了ClassLoader类的技巧,请观看更多关于Flash教程的内容。 该类的主要功能是把swf,jpg,png,gif等文件以字节的形式加载进来 以便于使用Loader.loadBytes方法,重复加载使用素材 如果图片格式为jpg,并且是渐进式格式jpeg,那么该类还可以帮助你边加载边显示 index.base.net.byteLoader类讲解: 基本功能按字节加载图片,swf等 构造函数 public function ByteLoader(url:String = "") 如果传入了参数url,则立即执行加载! load 加载方法
Flash as3嵌入中文字体的方法
因为最近要做一个项目,涉及到要输入文本,Flash的输入文本默认下是只能显示设备字体。连系统内的字体都不能设置,必须要嵌入才能输入。 as2的时代,可以用加载字体库的方式来解决,Adobe官方的解释太烦琐了,其实总结起来就是一个替换字体的过程,把外部库的自定义字体替换当前的输入字体。 例如如下: 如果是as2的话,新建一个Fla文件share.fla,然后在库里新建一个字体文件,然后设置他的标识为MyFont,随便选择系统内的一种字体,然后选择linkage里的导出as,导出runtime sharing,导出第一帧,然后在url处填写share.swf,然后编译成share.swf 然后新建主文件main.fla,同样在库里新建一个字体文件,然后设置他的url为share.swf,这样他就共享了share.swf里的字体文件,可以在场景里放一个textinput文件来做测试 这样嵌入字体的工作就完成了,as3文件不同的地方在于没有标识这个东西了,那我们在aa.swf(就是上面的share.swf)里设置Classname为自定义的字体名字zhr_font,然后在Main文件里也设置成zhr_font的ClassName
AS3的System类解决歌词中乱码问题
在做FLASH程序时常常会遇到乱码问题,比如在做一个读取同步歌词文件的程序时载入的全是乱码,这是一个让人很头疼的问题,有的人会说,那怕什么?把那个歌词的编码改成UTF-8不就行了吗?但是网站上的下载下来的同步歌词文件大都是ANSI编码的。我们要用的是直接就可以拿来用的。 前面一篇教程讲述的是Flash中解决中文字体的问题。 有很多人写了类来解决这个问题,但写出来的类都很复杂,根本不实用。 那么,难道就没有办法了吗? 当然有,并且这个办法还很简单,我在翻看FLASH CS3的帮助文档时一不小心发现了这个办法(嘿嘿,先自娱一下)。 AS3中有一个System类,只须一个简单的设置就行了。 请看示例:package { import flash.system.*; import flash.display.Sprite; import flash.net.URLRequest; import flash.net.URLLoader; import flash.events.IOErrorEvent; import flash.events.Event; import fl.controls.TextArea; import flash.text.TextFormat; public class sys extends Sprite { private var myxml:XML; private var mytxt:TextArea=new TextArea ; private var req:URLRequest=new URLRequest("test.txt"); private var ul:URLLoader; private var tf:TextFormat=new TextFormat ; public function sys() { tf.size=14; tf.color=0xFF0000; mytxt.setSize(550,400); addChild(mytxt); System.useCodePage=true;//解决中文乱码 ul=new URLLoader(req); ul.addEventListener(IOErrorEvent.IO_ERROR,ioerror); ul.addEventListener(Event.COMPLETE,loaded); } private function loaded(event:Event) { mytxt.setStyle("textFormat",tf); myxml=XML(ul.data); mytxt.text=myxml; System.setClipboard(mytxt.text);//设置剪贴板文本 } private function ioerror(event:IOErrorEvent) { mytxt.text="无相关文件"; } }} 这是我写的一个包,具体怎么用,我想大家都会了,文中蓝色字就是解决乱码的了。 在FLASH中System.useCodePage是布尔类型的且默认值为false,用时只要把其值设为true就行了。
Flash AS3用于读取LRC同步歌词的类
今天心情不错,用FLASH写了一个用于读取LRC同步歌词的类,只要25行代码,完全用是用FLASH的字符串操作来分析标签的。 下面就是这个类:package LRC{ public class readlrc { public function readlrcastime(mp3playtime:Number,gc:String):String { var qsd:int;//起始点 var fhz:String; for (var j:int=0; j < gc.length; j++) { if (gc.charCodeAt(j) == 58) { if (int(gc.slice(j - 2,j)) * 60 + int(gc.slice(j + 1,j + 3)) == mp3playtime) { var i:int=0; do { i++; if (gc.charCodeAt(j + i) == 93) { qsd=j + i; } if (gc.charCodeAt(j + i) == 13) { fhz=gc.slice(qsd + 1,j + i); } } while (gc.charCodeAt(j + i) != 13&&j+i } } } return fhz; } }} 将此文件保存为readlrc.as。 注意:一定要把此AS文件放入一个名为LRC的文件夹中,才可以使用。 下面就用一个小示例来说明如何用这个类,新建一个AS文件,写入以下代码:package { import flash.display.MovieClip; import flash.events.Event; import flash.net.URLLoader; import flash.net.URLRequest; import flash.media.Sound; import flash.media.SoundChannel; import flash.system.System; import flash.text.TextField; import LRC.readlrc; public class mp3 extends MovieClip { private var lrcreq:URLRequest=new URLRequest("日不落.lrc"); private var mp3url:URLRequest=new URLRequest("日不落.mp3"); private var mymp3:Sound=new Sound(); private var channel:SoundChannel=new SoundChannel(); private var lrcurl:URLLoader=new URLLoader(); private var tbgc:String; private var mylrc:readlrc=new readlrc(); System.useCodePage=true; public function mp3() { mymp3.load(mp3url); channel=mymp3.play(); lrcurl.load(lrcreq); lrcurl.addEventListener(Event.COMPLETE,loaded); } private function enterframe(event:Event) { try { gc_txt.text=mylrc.readlrcastime(int(channel.position/1000),tbgc); } catch (error:Error) { // } } private function loaded(event:Event) { tbgc=String(event.target.data); addEventListener(Event.ENTER_FRAME,enterframe); } }} 保存此文件为mp3.as。
优化Flash Actionscript代码的三种方法
第一章 AS3的一些优化计算方法 1.用乘法来代替除法(当除数可转化为有限数的时候)。比如var n:Number = value * 0.5;要比var n:Number = value / 2;快。但差别并不是很大。只有在需要大量计算情况下,比如3D引擎中差别才比较明显。 2.用位运算代替除2或乘2。比如10>>1要比10*2快,而10<<1要比10*2快。从测试来看位运算几乎比乘除快一倍,但是一般情况下,我们不能选择位运算,比如我们就不能用13>>1来代替13/2,尽管前者比后者运算速度更快,但2者的运算结果却不一样。所以还是要看具体情况。 3.用unit()或int()代替取整运算Math.floor()和Math.ceil()。比如var test:uint = uint(1.5);要比var test:Number = Math.floor(1.5);快;而var test:uint = uint(1.5)+1;要比var test:Number = Math.ceil(1.5);也快。如果是Math.floor(),还可以用位运算(>>0)来代替。比如var test:uint =1.5>>0,比unit()或int()更快。 4.用乘-1来代替Math.abs()方法。比如var nn:Number = -23;var test:Number= nn < 0 ? nn * -1 : nn;要比var nn:Number = -23;var test:Number = Math.abs(nn);快。 当然还有更多的优化计算的方法。一般来说,低级运算要比高级运算速度;内部方法比调用其他方法速度快。另外要注意的是,这些方法有的时候可能并一定适用。 第二章 Actionscript 优化指南 来源 gotoAndStop.it 原著 Marco Lapi,alias Lapo, aw译 在这篇文章中,我们将讨论多种优化 Actionscript 代码的方法.
