推荐阅读

商业人像速成教材:环境人像
注重化妆和造型的设计 化妆是环境人像拍摄中重要的一环。合适的妆容可以掩盖一些局部的缺陷,让平淡的五官和轮廓显得更加鲜明,也可以 起到使模特融入环境或在环境中更加突出的效果。如果模特是长发,就可以在拍摄时选择将头发放松下垂、扎紧或者盘起来,做出不同的造型,以得到不同的效果。 模特的服装最好能多带几套,以适应不同的场景。比如在一片绿色的背景下,就可以考虑来个“红花还需绿叶扶”的场景。这样不但画面色彩搭配漂亮,而且人物主 题非常突出。画面元素要合理组合 任何单一的因素都难以成就一幅成功的作品,对画面元素的控制,归纳起来虽然简单,但实际拍摄过程中想做到自觉地 进行创造性运用,并非一日之功。尤其要处理好色彩的和谐,使整个画面充满活力。通常我们在拍摄环境人像时,多遇到在树林内或大树旁选景拍摄的情况。在强烈 的日光照射下,光线穿过树叶会形成许多光斑,照在人脸上非常难看,而用这些光斑作背景画面会收到很好的效果,但需选用大光圈来控制景深,虚化这些光斑,这 样才能得到赏心悦目的画面。另一种可能的场景是,在公园内用假山石作背景,让模特穿着鲜艳的服装,从而获得较大的色彩反差,拍出的照片感染力非常强烈。还 有一些其他的背景,如有粗犷石纹的墙面、大面积的植物、池塘、建筑物、公路、雕塑等,这些背景素材只要合理组合利用,都可以成就一张成功的环境人物作品。利用空间创造感觉 控制空间的感觉最重要的是对背景的控制。拍摄时如果选择过于杂乱的背景会使整个画面找不到重点,因此要做适当的 取舍,使画面有疏有密。为了更突出空间的感觉,拍摄时除了画面的构图外,也要注意其中人与物的结合,用动作方面的创造抓住视觉的重点。其次,画面中的景物 要有呼应。主体与背景之间,以及主体与客体之间要有联系,不能孤立,这样才能够达到更完美的感觉。

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、解决了文件链接中存在的问题。现在文件链接将先搜索其数据集是否有替代对象,如有将避免重新加载。
最新发布

【Director教程】创建随机列表
随机元素对任何一个director电影来说都是极好的丰富。举例来说,你事先预备了10个声音,用户点击按钮将随机播放一个。这种随机的方式极有可能导致一个声音连续播放两次。一个简单的解决方法就是储存下最后播放的声音,然后确定下一个随机的选择不会与这个雷同。程序大致看上去会象这样。 Global gPRevioussoundOn playrandomsoundRepeat while trueR=random(10)If r<>gprevioussound then exit repeatEnd repeatGprevioussound = rPuppersound 1,”sound”&&rEnd 这种情况下,循环就会不断的产生随机数字直到得出不同于以前的数字。这是一种简单的解决方法。然而,这种方法仍有产生奇数序列的可能,就象同样的两个声音不断交替播放,或者,更可能是一个或两个声音根本不播,只是非常意外的播一次。 更好的确定所有声音以一种随机的方式播放的方法是创建一个打乱次序的列表。这种列表包含原来的元素,但是在挑选的时候却是随机的。元素是一样的,但次序是随机的。 使用打乱次序的列表,这样你就能每个声音都确切的播放一次。但是一旦所有的声音播完,你必须从头再播或者从新打乱列表,可这两种选择都有问题。第一种选择使得声音的播放有了可预知的次序,第二种选择将不能保证同样的声音不播放两次。 最好的解决方法是将列表分成两个部分来打乱。所有在列表第一部分的声音保持在第一部分,不过用新的次序。对于列表的后半部分也同样的方法。以下是打乱列表的方法。

【Director教程】属性列表应用一则
问题 我需要做一个分类搜索引擎,应用于我的数据列表。列表大概如下: gdatalist=[[#name:”amanda”,#surname:”allard”,#department:”banking”,#phone:”7777”],_[#name:”peter”,#surname:”jedrasicak”,#department:”b.i.s”,#phone:”7014”],[#name:”_neil”,#surname:”cooper”,#department:”marketing”,#phone:”7012”]] 用户需要填写姓名,然后用搜索键搜索。 回答 首先,我把荣誉归给Tab Julius 的书《lingo!》,它教会了我关于lists的知识。这是一本非常不错的书。 对列表进行分类会使搜索速度加快。一旦进行分类,它就会保留这种性质。窍门在于创建一个有用的索引。 对你的列表进行分类,你需要做一个复合列表并保证编入列表的数据的索引名称具有唯一性。注意,一旦编好搜索规则你就不能临时改变。所以,用名(first name)来做索引是一个坏的选择,因为可能会出现两个同名的人。用姓(last name)来做选择也不是一个好主意,因为你还是不能保证数据的唯一性。 让你的用户同时输入名(first name)和姓(last name),我假定这样做会保证是唯一的数据------考虑如果在同一办公室出现同名同姓的人,一定会做一下区别(figuring that if there is a coincidence of names at an office one of the \"Bill\"s would be listed as a William.)。我们将用名(first name)和姓(last name)来做索引,将他们转换为复合的记号。如下 set gdatalist=[#jonesbill:[#name:”bill”,#surname:”jones”,#dept:”executive”,#phone:”_7777”], #AllenWendy:[#name: \"Wendy\", #surname: \"Allen\", #dept: \"Executive\", #Phone: \"_1234\"], #JedrasicakPeter: [#name: \"Peter\", #surname: \"Jedrasicak\", #dept: \"BIS\", #Phone:_ \"7014\"]] 现在,对列表排序,只需增加“sort gdatalist”.这会让列表按字母顺序排列,并且以后新增加的也是。 Sort gdatalistPut gdatalist 这样,列表就会按字母顺序排列。现在,如果你的用户分别在域“姓(last neme)”和域“名(first name)”输入姓(last name)=”jones”和名(first name)=”bill”,并且按下了搜索键

【Director教程】lists的使用一则
问题 我创建了一个d8的扑克游戏,我需要想出一个怎样随机洗牌的方法。我知道有一个random()的功能,但是它只能适用于数字。我的牌是用合适的字和一个决定它花色的字母来命名的,如下: heart(红心)-AH,2H,3H,4H,5H,6H,7H,8H,9H,TH,JH,QH,KH 回答 你的想法是正确的,你需要的只是将random()语句和以你的命名规则所作的列表联系起来。Lists,列表对于保存和处理数据是非常强大的工具。我们设计lists的时候要考虑到游戏的需要。当你做了一次充分的洗牌,第一张牌是在52中选一。第二张牌是在51中选一,并且不同于第一张(第一张牌已从lists中删除了)。接下来的牌将从越来越小的范围里选择。 我们从一副完整的牌的lists开始。这个命令只需执行一次,因为我们不需要改变这个lists. On makefulldeckGlobal gfulldeck--初始化列表―set gfulldeck=[]set valuelist=[“a”,”2”,”3”,”4”,”5”,”6”,”7”,”8”,”9”,”t”,”j”,”q”,”k”]set suitlist=[“H”,”D”,”C”,”S”]--即红桃,黑桃,梅花,方片repeat with whichsuit = 1 to 4set thissuit = getat(sutilist,whichsuit)repeat with whichvalue = 1 to 13set thisvalue= getat(valuelist,whichvalue)set thiscard= thisvalue & thissuitappend (gfulldeck,thiscard)end repeatend repeatend 在运行完这个命令之后,全局变量 gfulldeck 就会生成一个有序的扑克的列表。重要的是,我们必须认识到这个列表是没有“洗牌的”。 现在我们做一个列表的拷贝,作为游戏中的列表。这个是我们用来在游戏中发牌的列表,所以列表中的数据在我们发牌的时候就会从列表中删除。这样我们在开始心游戏的时候,只需从新设置游戏的列表=列表的拷贝。注意的是,我们不能简单的写set ggamedeck=gfulldeck on startnewgameglobal gfulldeck,ggamedeckset ggamedeck=duplicate(gfiulldeck)end 这是我们需要解决的怎样从ggamedeck中抽出一张随机的牌,并且将这张牌从以后的选择集中去除。我们将使用 random(), getAt(), deleteAt(), and count() 这些命令。可以用count(ggamedeck)的命令查询多少张牌剩余。我们还要确认这些剩下的牌不会再洗。在选择了牌以后,我会将sPRite 5 替换(作为例子)。

Director制作《七巧板》游戏
我使用的多媒体编著软件是Director MX,首先我使用Flash MX制作了游戏当中所需要的七巧板组件,导出为*.png格式图像,由于该格式图像为矢量图,所以文件较小。打开Director,导入生成的png组件,保持它的矢量特性不变;然后我们从Library中Animation的Interactive里选Drag to Rotate和Draggable两个行为加入到角色窗中,双击Drag to Rotate行为,在打开的Script窗口中修改三个命令行; 将 on mouseDown me 改为 on rightmouseDown me 将 end mouseDown 改为 end rightmouseDown 将 if the mouseDown then 改为 if the rightmouseDown then 通过这些修改,使原先定义在鼠标左键的行为,变为右键行为。 此时,从角色窗中托出一个七巧板组件1放到分镜表内第一通道中的第三桢的位置,修改该精灵的属性,使其变为一桢;然后从角色窗中托出修改后的Drag to Rotate行为,放置到通道1的精灵上,在从角色窗中托出Draggable行为,也放置到通道1的精灵上。为了使影片始终在当前桢放映,我们从Library中Navigation里选Hold on Current Frame行为放置到分静表中行为脚本通道的第三桢上。此时,我们运行影片,当鼠标左键按住七巧板组建1进行托动时,该组件随鼠标移动而移动;当松开鼠标左键,按下鼠标右键作旋转托动时,改组件随鼠标移动而发生旋转。 如上步骤分别将七巧板组件2―7放置到分静表的2―7通道中的第三桢上进行编辑,加入游戏封皮在第1通道的第一桢上,在行为脚本通道中加入Hold on Current Frame行为;待所有编辑过程完成后,试运行影片,我们便可以利用这组七巧板摆出各种图形来。然后我们将该程序打包,生成可执行文件(*.exe)。

Director 3D 基础(之一)
本教程的例子是用Macromedia的教程例子。教程假定大家已是熟悉Director基本功能与操作,并能完成简单的工作了的。一、使用3D演员3D演员有多种层次的属性。一个3D演员包含一个完整的3D空间,叫3D世界。一个3D世界可以有多个3D model(模型),例如,一个3D演员可以包括一个图球与一个正方体等等。每一个3D model(模型)就类似于一个Director SPRite,都有它们的一系列属性,如:大小、颜色、阴影等。Director提供两种方法去查看它们的属性:Shockwave 3D窗口与Lingo程序语言。(1)导入3D演员当你在3ds max或其它建三维模型程序中建立了3D模型,并把它们输出成为“.w3d”格式后,你就可以把它导入Director中使用了。打开本教程附件,你会找到“3D Tutor for Dir User Start.dir”与“Orb.W3D”1、打开“3D Tutor for Dir User Start.dir”影片。可以看到演员表中已有两个演员。2、用外部链接文件方式导入“Orb.W3D”,如图:3、导入后可以见到演员表中多了个名字为“Ord”的演员。4、保存你的影片。(图一)(2)使用Shockwave 3D窗口在演员表中双击“Orb”演员,就会打开Shockwave 3D窗口来查看“Orb”演员。见到打开的Shockwave 3D窗口中有一个圆球,球上环绕着“macromedia”字样,如图:下面介绍一下打开的Shockwave 3D窗口,窗口中有一些工具是可以修改3D世界的camera(摄像机,可以理解为观察整个3D世界的窗口或视角、角度等什么的)位置的。可以用三种不同的方式来移动camera(摄像机):平移(panning)、旋转(rotating)、移远移近(dollying)。(图2)1、为了移动camera(摄像机)可以先按下这个按钮,然后再在Shockwave 3D窗口中按住鼠标左键不放来拖动一下,效果是看到球的位置移动了。(图3)2、要旋转球,从而从不同角度来看它,按下这个按钮,再在Shockwave 3D窗口中按住鼠标左键不放来拖动一下。(图4)3、这两个按钮是当你在使用上面的旋转按钮时配合来用的。是决定Y轴或Z轴哪个是上面的轴的。(图5)4、为了移近与移远球,可以先按下这个按钮,然后再在Shockwave 3D窗口中按住鼠标左键不放来拖动一下,效果是看到球变大了(近了)或变小了(远了)。(图6)5、当你做了各种操作(放大缩小、平移、旋转)之后,要恢复原来的样子,就要按这个按钮了。(图7)6、而当你做了各种操作(放大缩小、平移、旋转)之后,觉得很满意了,想把这时的状态保存下来,就要按这个按钮。(图8)

Director 3D 基础(之二)
为模型加上texture(材质、贴图)这一节要说的是建立一个按钮为模型加上texture(材质、贴图),以更改它的表面外观。1、停止影片,重置你的播放头,使它回到第一帧。2、象上面一样利用工具面板中的按钮工具在四个按钮之上建一个按钮。3、在按钮上输入Add Texture。4、在演员表中把这个按钮的名称改成:AddTexture5、在分镜表中右键这个按钮角色(在通道6),在弹出的菜单中,选取“Script…”,打开Script窗口。6、在Script窗口中输入(此时是on mouseUp事件):myTexture = member(3).newTexture(‘‘red square‘‘, #fromCastmember, member(1))member(3).model(1).shader.texture = myTexture第一句程序的意思是在演员表的第3个演员(“Orb”3D演员)中用演员表中第一个演员的图案建立一个名字叫做“red square”的新的texture(材质、贴图),并把它赋给变量myTexture来记住它。第二句的意思是把“Orb”角色中的模型1(即球)的shader(材质球)中的texture(材质、贴图)属性改变成变量myTexture所指定的值。[特注:关于shader:以3DMax为外部三维编辑器,director中的一个shader就是max中的一个材质球,一个shaderlist就是一个model的shader如:一张桌子,桌面是一种材质(一个材质球),四个桌腿共用一个材质(另一个材质球),桌面桌腿都是分开的model(共五个),所以导入director中,共有两个shader,五个shaderlist。摘自zain的文章《shockwave3D制作之随便说》]7、关闭Script窗口,保存你的影片。8、重置你的播放头,使它回到第一帧。播放影片,按AddTexture按钮,怎么样,看到球的表面变了吧。如果你按了按钮超过一次,会弹出一个Lingo出错的提示框。因为第一次按时已经在演员表的第3个演员(“Orb”3D演员)中建立了名为“red square”的新的texture(材质、贴图),当第二次按时,Lingo程序会尝试再建一个一模一样的同名的texture(材质、贴图),这是不允许的。移去texture(材质、贴图)为了移去texture(材质、贴图),可以再建一个按钮,并在按钮的程序中用resetWorld()命令实现。这个命令可以移去任何在3D演员中新建的项目,并返回其最初的状态。例如,上面所做的新的texture(材质、贴图)就可以移去。1、停止影片,重置你的播放头,使它回到第一帧。2、象上面一样利用工具面板中的按钮工具在五个按钮之上建一个按钮。3、在按钮上输入Reset World。4、在演员表中把这个按钮的名称改成:ResetWorld5、在分镜表中右键这个按钮角色(在通道7),在弹出的菜单中,选取“Script…”,打开Script窗口。6、在Script窗口中输入(此时是on mouseUp事件):member(‘‘Orb‘‘).resetWorld()意思是重置3D演员“Orb”为初始状态。7、关闭Script窗口,保存你的影片。8、重置你的播放头,使它回到第一帧。播放影片,随意按几下旋转或移摄像机的按钮。9、按按钮ResetWorld。可以看到球又回到原位,且表面外观又复原了,这时你又可以按AddTexture按钮而不会引起Lingo报错了。用帧程序(或叫帧脚本、帧行为)实现旋转模型当你使用3D演员建立了你自己的影片时,有时候会希望你的3D模型在没人对它操控时也会自动旋转或移动,这时你就可以利用帧程序来实现,下面的例子是实现“Orb”演员中的球的自动旋转的。1、打开分镜表。2、双击程序通道(脚本通道)的第28帧,这时会打开Script窗口,显示原来在第28帧处的程序:go to the frame3、把插入点移到“on exitFrame”后,按下回车键,插入点会下移到新的一行。4、在这新的一行输入以下程序:member(‘‘Orb‘‘).model(1).rotate(0,5,0)这句程序和上面为旋转按钮建立的程序是基本上一样的。但在这儿的作用是:每当播放头插放一次第28帧时,rotate命令就使球旋转5度。5、关闭程序窗口并播放你的影片,这时你一样可以使用前面建过的按钮。只是旋转按钮的效果就不太一样了,因为,这个球自己在不停地自动转。

Director 3D 基础(之三)
本教程的例子是用Macromedia的教程例子。一、关于3D演员与精灵在Director8.0或更早的版本中,一个演员都是存在影片中并完成特定的任务:一个数码声音、一个图片、一篇文字、一个按钮、一个图标、甚至是一个程序或行为。这些各式各样的2D演员仍在Director8.5中完成重要的任务,但Director8.5有了新的不同的3D演员了。一个3D演员包含一个完整的3D世界,包括一些模型们以及它们给赋予的行为等。在Director8.0或更早的版本中,一个精灵是一个演员的实例――在分镜表中占有特定一段(即是角色)。如果你改变一个精灵,你不会改变这个演员的;但如果你改变了这个演员,你就改变了所有使用这个演员的精灵(角色)。(十年特注:这句话可以这样理解,一个演员可以做多个角色。)这些各式各样的精灵仍然以2D演员的实例的形式存在于Director8.5中。然而,一个3D演员却是不同的了,因为每个3D演员的3D精灵在该演员中通过使用摄像机的方法可以有不同的外观。每个摄像机能看到一个3D(世界)演员的外观:一个摄像机可以从前面来看一个模型,而另一个摄像机可以从侧面来看这个模型。由于每个在用同一个3D演员的3D精灵可以设定为不同的摄像机,所以用同一个3D演员的各式各样的精灵可以有有同的外观的。二、在一个3D世界在3D世界中的各组成部分之间的关系有点类似于2D精灵们和演员们之间的关系:1、一个模型资源包含可以许多模型共同的一整套的几何数据,就象许多精灵可以用同一个演员。2、同一材质球(shader)可以为多个模型定义颜色,就象一个演员可以定义多个精灵的外观。3、材质球使用许多表面贴图(textures)象模型使用许多模型资源,改变一种表面贴图可以影响所有使用它的材质球。4、同一种运动可以应用于不只一个模型,就象一个演员可为多个精灵所共用。三、关于样本影片(这篇教程的)这篇教程的样本影片3Dintro.dir演示了一个3D演员里是各个组成元素是如何工作在一起的。这个影片包含了在Director中创建一个3D演员和联合使用2D和3D的技能。影片中用于解释发生了什么事的文本与图象精灵是与Director8.0或更早版本中一样受分镜表控制的。而3D演员与3D环境是受Lingo程序控制的。每个程序是通过单独的步骤加于运动的模型上的。当你运行这个影片时,你可以点击各行文本以引发以下各步骤内容:1、创建一个空的3D演员2、添加一个模型(在这儿是一个球)进空的3D演员中3、为模型添加一个材质球(shader)4、为材质球添加表面贴图(texture),在这里就是为球加了表面图案5、使模型动起来6、创建第二个模型(在这儿是一个正方体),并且为两个模型建立父代关系(即一个是主,另一个是从)7、使第二个模型环绕第一个模型运动起来通过这些步骤,影片提供了你能利用Director8.5的3D功能来做一些事情的一个简单的例子。你可以利用整套的3D命令做更多的事情的。本文剩下的部份就是介绍这个样本影片以及它所用到的行为等。四、创建一个3D演员样本影片3Dintro.dir已经包含了一个将要通过Lingo程序来添加模型们的3D演员。如果你建立了你自己的新影片,你就必须从创建一个空的3D演员开始。创建空的3D演员的步骤:1、在Director中,选取Insert > Media Element > Shockwave 3D。2、为这个新的3D演员命名。一个新的空的3D演员就被加进了演员表中了。五、加一个球进3D世界中样本影片使用了创建球体的行为,被附加于Create Sphere文本演员上,点击文本演员就加了一个球体进3D世界。创建球体的行为的Lingo脚本如下:on mouseUp(me)if voidP( sPRite(1).member.model(‘‘newSphere‘‘)) then tSprite = sprite(1)tMember = tSprite.membertTempModel = tMember.newModel(‘‘newSphere‘‘)tSphereResource = tMember.newModelResource \\(‘‘newSphereResource‘‘, #sphere)tSphereResource.radius = 60tTempModel.resource = tSphereResource tTempModel.parent = tMember.group(‘‘world‘‘)tTempModel.addToWorld() tCenterPoint = point(sprite(1).width/2, sprite(1).height/2)tPointToVector = tSprite.camera.spriteSpaceToWorldSpace \\(tCenterPoint - point(tSprite.left,tSprite.top))tMember.model (tTempModel.name).transform.position = \\tPointToVectorgo nextend ifend这个脚本是这样工作的:1、脚本创建一个新的模型,叫“tTempModel”。2、然后创建一个新的球体模型的资源叫“tSphereResource”。由于球体是原始的基本的形状,所以可以在空的3D世界凭空创建它。3、然后脚本添加一个定义半径长度的尺寸给模形资源。4、这个新创建的球体模型被指定用于叫“tTempModel”的球体模型。5、这个模型被指定为这个3D世界的子对象。6、把模型加进世界中。7、脚本给模型一个在3D世界里的位置。留意,脚本并没有创建灯光。然而,3D世界里的灯光已被属性检查员打开了。 六、添加一个材质球shader一旦创建了球体,就可以点击第二行文本“Create Shader”,利用添加材质球行为为球体添加材质球。添加材质球行为的脚本如下:on mouseUp(me) if voidP( sprite(1).member.shader(‘‘newShader‘‘)) then tSprite = sprite(1)tMember = tSprite.membertTempShader = tMember.newShader(‘‘newShader‘‘, #standard) tMember.model(‘‘newSphere‘‘).shader = tTempShadergo nextend ifend脚本简介:1、确定是否有材质球加在球体上了。2、如果没有,用newShader()命令创建一个材质球。3、应用材质球于球体。注意到在这个步骤中没有做任何可见到的东西DD球体看起来毫无变化。添加材质球是为了使球体能给添加上可以改变外观的贴图(texture)。

Director 3D 基础(之四)
七、添加贴图(texture)添加了材质球之后,点击字样为“Add Texture”的文本运行建立贴图的行为。脚本如下:on mouseUp(me)if voidP(sPRite(1).member.shader(‘‘newTexture‘‘)) thentSprite = sprite(1)tMember = tSprite.membertTexture = tMember.newTexture(‘‘newTexture‘‘, \\#fromCastMember, member(‘‘Colors‘‘)) tMember.model(‘‘newSphere‘‘).shader.texture = tTexturetMember.model(‘‘newSphere‘‘).shader.textureMode = #nonego nextend ifend脚本流程:1、确定是否有贴图加于球体上了。2、如果没有,脚本使用原先已经被创建的名称叫“Colors”的位图演员创建一个新的贴图。3、然后脚本应用贴图于材质球中,于是就显示在球体的表面上。4、材质球的textureMode属性被设为#none,结果是贴图被应用于没有特别设定的状态。八、使球体运动起来添加了贴图之后,点击字样为“Set the Sphere in Motion”的文本运行旋转程序。脚本如下:property pActiveon beginSprite(me)pActive = FALSEend beginSpriteon mouseUp(me) pActive = TRUE go next endon enterFrame(me)if pActive thentSprite = sprite(1)tMember = tSprite.membertMember.model(‘‘newSphere‘‘).rotate(0,0,-5) end ifend脚本流程:1、当用户点击文本时,脚本把pActive的值设为TRUE,就可以使球旋转起来。2、然后脚本设定每次进入当前帧时都使球旋转5个单位。

Director 3D 基础(之五)
用lingo来把2D字体延展成3D字体Macromedia Director 8.5 Shockwave studio允许你在你的影片中用以下两种方法创建3D文本:1、把2D演员延展成3D文本。2、延展文本进3D世界。虽然你可以利用这两种方法来获得类似的“看”到的效果,但由于它们是用不同的方法来改变文本的,所以它们是有不同的优点的。 一、延展2D演员成3D文本当你延展2D演员成3D文本,显示2D文本为3D模式,既可以使用Lingo也可以使用属性检查员来指派3D属性给一个2D文本。显示3D文本需要Text Asset Xtra、3D Asset Xtra和Font Xtra,这些都是在安装Director 8.5时已经一起安装了的。当一个文本演员以3D模式显示并在舞台上有一个精灵时,这个精灵就是一个3D精灵(还成了一个有自己独立的摄像机与灯光属性的3D世界),不是一个2D“普通”的文本精灵。你可以切换文本于2D与3D模式之间。如果是从3D切换到2D,这个精灵的3D Asset和一些3D属性就会删除掉,并且舞台上的精灵就会回复为一个普通的2D文本精灵。然而,位置、材料属性和灯光信息还是会保存在文本演员中。要显示2D文本于3D模式,你必须设置2D文本属性如字体大小与样式,然后设置3D文本属性如斜面类型和斜面厚度、字的厚度、字的光滑程序。二、延展文本进3D世界当你直接延展文本进3D世界,你也要设置文本演员的属性,如字体大小与样式,然后使用Lingo延展文本。然而你还有切换2D与3D之间的选择权。一旦文本被延展进3D世界,你还可以象移去世界中的其它模型一样移去它的。延展文本进3D世界的一个优点是文本中的每个字符都有自己的材质球,并且3D文本属性包括一个材质球列表。你可以利用材质球列表单独地改变每一个字符。例如,你可以选择某个字符运运起来,其它不运动,也可以只为某个字符加上色彩。三、观看样版影片样版影片3DText1说明如何把2D文本显示为3D模式,样版影片3Dtext2说明如何延展文本进3D世界。四、3DText1当你打开3DText1影片,你可以看到舞台上有一个由名叫“textSample”扮演的精灵。这个演员的文字是“Director 3D”。当影片播放时,你可以切换文本于2D与3D模式之间,你可以使用舞台左边的按钮来应用不同的设置并看这些设置是如何影响这个文本的。每个属性按钮包括一个行为脚本以调用影片程序中的一个事件(句柄)。要查看完整的影片程序,打开Script window然后去到Movie Script 5。在影片程序中,以下的事件指定了模型(文本)位置以及摄像机位置与旋转角度。transform属性包括旋转和位置两个子属性。on startMovieif member(‘‘textSample‘‘).displayMode = #mode3d thenmember(‘‘textSample‘‘).model[1].transform.position = vector(-190, -5,0)member(‘‘textSample‘‘).camera(‘‘DefaultView‘‘).transform.position = vector(81, 21, 90)member(‘‘textSample‘‘).camera(‘‘DefaultView‘‘ ).transform.rotation = vector(-3, 0, 0)end ifend

Authorware中如何呼叫外部的程式(EXE)
利用JumpOutReturn或JumpOut内部函数呼叫即可 语法 JumpOutReturn@"程式名称" JumpOut@"程式名称" JumpOutReturn主要的功能是将Authorware的程式放置在背景 然後将被呼叫的程式开启在前景执行 当离开此程式後 会继续执行背景的色Authorware程式 而JumpOut的功能主要差别在 当呼叫其它的程式时 会先将Authorware程式关闭 曾安德 编著