临江网

 找回密码
 点这里注册

QQ登录

只需一步,快速开始

搜索
热搜: 临江老照片

编辑推荐

查看: 2133|回复: 0
打印 上一主题 下一主题

制作具有Win XP 风格的菜单

[复制链接]

1400

主题

20

好友

3822

积分

版主

Rank: 7Rank: 7Rank: 7

帖子
1453
积分
3822
注册时间
2007-4-15
跳转到指定楼层
楼主
发表于 2007-7-18 22:34:15 |只看该作者 |倒序浏览
制作具有Win XP 风格的菜单

 

  制作具有Win XP 风格的菜单

  ——妙用Director 8.5的lingo脚本

  用过Windows XP 的人都知道,它的菜单突然改头换面了,那平面带阴影的样子,用“酷”这一个流行字眼来形容是再好不过了。众所周知,大型多媒体制作软件Director 8.5是开发各种多媒体的有利工具。想不想在自己的多媒体作品里也加入类似于Windows XP风格的菜单,让你的作品更酷?

  首先,我们设想一下要实现的效果:一个Windows家族的演示软件,为了让用户更快捷地选择要观看的Windows 版本,我们制作一个快捷菜单。基本操作就是当用户在舞台范围内点击鼠标右键时,淡入淡出地弹出一个快捷菜单,让用户按下鼠标左键选定要观看的内容,选定后让计算机执行相应的演示。

  其次,说明一下在制作本例时,所要用到的一些功能:本例主要是对Director 8.5中的软件的灵魂——lingo脚本的编写和一些效果的应用。ink效果主要用于阴影、菜单选择棒的一些图片特效;透明度主要实现菜单的淡入淡出效果;角色通道主要实现菜单的显示和隐藏;其中lingo主要用于控制菜单的显示、显示位置的动态调整和相应用户的操作。

  好!了解了以上一些概况后,现在我们开始用Director 8.5 制作类似于Windows XP 风格的菜单!

  1.按快捷键 打开舞台属性,新建一个512*342 的电影文件。

  2.收集电影演员成员资料

  (1) 按 打开画板,制作一个菜单(图片大小:192*196),起名为“menu”。

  (2)制作一个菜单图片(我是从Win XP里截下来),再稍许做了点改变的(如图1)。然后将图片复制到剪贴板。

  图1

  (3)按上述方法依次单画板窗口左上角的 按钮,再新建三张图片,制作菜单的阴影(图片大小:196*200)。起名为“shadow”;菜单项选择棒(图片大小:188*19,如图2),起名为“selectbar”;背景(图片大小:随你),起名为“background”。

  说明:

  以上图片需要用Photoshop等图形制作处理进行处理。

  (1)对于阴影图片要通过羽化效果实现。

  (2)对于菜单项选择棒图片,这里的边框线为皮蛋青(#008080),框内是由下往上的皮蛋青渐变色(#9CCECE → #000000)。

  图2

  好!所需的演员成员已经全部到齐,哈哈,下面开始“编剧”!

  3.编辑电影剧本

  图3

  (1)按 打开演员库,将刚才制作的图形演员拖到舞台(Stage)上进行演出。将他们排列组织好(如图 3)。

  【注】按菜单条的个数重复地拖入菜单项选择棒。

  (2)按 打开分镜表(Score),对分镜表里的角色进行整理和编辑。打开分镜表的效果通道开关(见图4)。

  图4

  (3)设置通道1和3的角色(即背景和菜单)的ink 效果为Copy,透明度为100(如图 5)。

  图5

  (4)设置通道2角色(即菜单阴影)的ink 效果为 Darkest,透明度为50。操作类似于上一步。

  (5)设置通道4~12角色(即菜单项选择棒)的ink 效果为Transparent,透明度为0。

  经过剧本编辑,舞台上的菜单角色组如图6所示。

  图6

  好! 到现在为止已经完成整个工程的60% 啦!怎么样,看上去不是很爽啊?下面就要给它加入“灵魂”啦!让它能动起来!

  4.撰写lingo脚本

  (1)程序构思:当用户在舞台范围内点击鼠标右键时,在鼠标右键点击的位置,淡入淡出地弹出(显示)一个快捷菜单,让用户选择他要观看的内容,按下鼠标左键后选定内容,然后让计算机执行相应的演示。

  (2)程序实现

  a.编写菜单控制脚本(响应范围是全局的),按 打开脚本编辑窗口,起名为“Menu Control Script”,按脚本编辑窗口右上角的 (属性)按钮,设置其脚本类型(type)为“movie”。

  然后在脚本编辑窗口里写入以下脚本:

  --程序初始化

  on startMovie

  -- 开始时菜单应为不可见,直到用户点击鼠标右键时才显示,所以先隐藏菜单

  HideMenu

  --初始化菜单和菜单阴影的基点(使其能显示在正确的位置)

  set the regpoint of member "menu" to point(0,0)

  set the regpoint of member "shadow" to point(0,0)

  alert“在舞台范围内按鼠标右键观看效果!”

  end startMovie

  --显示菜单事件

  on ShowMenu

  --打开通道2至12,显示菜单和菜单选择棒(由于选择棒的透明度(blend)为0所以暂时看不到)

  repeat with i=2 to 12

  set the visible of sprite i to 1

  end repeat

  --设置菜单和阴影的位置为鼠标点击的位置(使菜单能动态跟随鼠标)

  set the loc of sprite 2 to the mouseloc

  set the loc of sprite 3 to the mouseloc

  --菜单选择棒动态跟随菜单(以菜单的位置为基准坐标,相对地改变选择棒位置)

  repeat with i=1 to 9

  --96 是菜单选择棒相对于菜单水平坐标的偏移值

  sprite (i+3).loch = sprite(3).loch + 96

  --32 是菜单选择棒相对于菜单垂直坐标的偏移值

  --19 是菜单棒的高度

  sprite (i+3).locv = sprite(3).locv + 32 + (i-1)*19

  end repeat

  --菜单的淡入淡出效果(透明度从10渐变到100)

  repeat with i=10 to 100

  set the blend of sprite 3 to i

  i=i+10

  updateStage

  end repeat

  end

  --隐藏菜单事件(只是将通道2至12关闭,使其不可见)

  on HideMenu

  repeat with i=2 to 12

  set the visible of sprite i to 0

  end repeat

  end

  b.编写菜单项选择棒行为脚本(响应范围只限于赋予本行为的角色),按窗口上角的 按钮,新建一个脚本,起名为“Show Bar Script”,设置其脚本类型(type)为“behavior”。然后在脚本编辑窗口里写入以下脚本:

  --当鼠标移入当前菜单选择棒时,即用户选中某菜单项了

  --让鼠标指针变成小手形状,且把菜单选择棒的透明度改成100(完全可见)

  on mouseEnter

  sprite (the currentSpriteNum).blend = 100

  cursor 280

  end mouseEnter

  --当鼠标移出当前菜单选择棒时,即用户不选某菜单项了

  --把鼠标指针还原成原来指针形状,且把菜单选择棒的透明度改成0(不可见)

  on mouseLeave

  sprite (the currentSpriteNum).blend = 0

  cursor -1

  end mouseLeave

  --当用户在某一菜单选择棒上按下鼠标时,执行相应的操作

  on mouseDown

  -- 通过 the currentSpriteNum(鼠标点击的菜单选择棒的角色编号) 属性,

  -- 可以让计算机知道用户选择的菜单项,进而使计算机做出相应的操作。

  case (the currentSpriteNum) of

  4:alert"跳转到 Windows XP 画面!"

  5:alert"跳转到 Windows 2000 画面!"

  6:alert"跳转到 Windows NT workstation 4.0 画面!"

  7:alert"跳转到 Windows NT Sever 4.0 画面!"

  8:alert"跳转到 Windows ME 画面!"

  9:alert"跳转到 Windows 98 画面!"

  10:alert"跳转到 Windows 95 画面!"

  11:alert"跳转到 Windows CE 3.0 画面!"

  12:alert"跳转到 Windows NT Embedded 画面!"

  end case

  end mouseDown

  c.编写画面行为脚本(相应范围是当前帧),按窗口上角的 按钮,新建一个脚本,起名为“Frame Script”,设置其脚本类型(type)为“behavior”。然后在脚本编辑窗口里写入以下脚本:

  on exitFrame me

  go the frame

  end

  --当鼠标右键按下时显示菜单

  on rightmousedown

  ShowMenu

  end

  --当鼠标按下时显示菜单

  on mouseup

  HideMenu

  end

  OK! 脚本写完了!我们来做最后一步吧——“灵魂附体”!呵呵!

  图 7

  5.给角色植入“灵魂”

  (1) 打开分镜表,单击第1帧画面的画面脚本(如图7),将“脚本列表”中的“Frame Script”脚本拖至其中。

  (2)打开分镜表(已打开就可跳过此步),选择通道4~12角色(即菜单项选择棒)(如图8),将“脚本列表”中的“Show bar Script”脚本拖至其中。

  图 8

  OK了!总算大功告成!是不是有些成就感啊,呵呵!快按 试一下吧!

  以上是我模仿Windows XP 的菜单做的一个演示,但是用上面的这种方法,你可以发挥你自己的想象力以及用适当的lingo脚本,制作一些其它风格的菜单和效果,比如不规则的菜单啊、让菜单项前面的小图标动起来啊什么的。

  最后,希望通过本例的制作,能使各位加深对Director 8.5的了解和应用。
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏0 顶0 踩0

发表回复

高级模式
B Color Image Link Quote Code Smilies
验证码 换一个

回顶部