| 网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 |
![]() |
| Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道 |
本节创建一个长方体画面的实例。该实例使一个立体随着鼠标的移动而产生旋转变化。
立体画面动画制作操作步骤如下: 中国网管论坛bbs.bitsCN.com
(1) 启动Director 8.5。执行Modify→Movie→Properties命令,在弹出的舞台属性检查器对话框中将电影舞台的大小设置为450×450,将背景颜色设置为黑色,如图8-19所示。 网管网www.bitscn.com
网管网www.bitscn.com
图8-19 设置舞台的属性
网管联盟bitsCN@com
(2) 按Ctrl+R组合键,导入6张图片到Cast窗口中,如图8-20所示。
网管网www_bitscn_com
图8-20 导入图片 网管u家u.bitsCN.com
(3) 将Cast演员逐一拖动到舞台上,生成6个精灵,如图8-21所示。 网管联盟bitsCN@com
图8-21 生成精灵
中国网管联盟bitsCN.com
中国网管联盟bitsCN.com
:global allcorners
网管u家u.bitscn@com
global pCenter
网管论坛bbs_bitsCN_com
global Rlist
网管网www_bitscn_com
global gRotate
网管u家u.bitscn@com
global Planeangle 网管u家u.bitscn@com
网管u家u.bitscn@com
on startMovie
网管联盟bitsCN_com
initbox 网管u家u.bitscn@com
end
网管u家u.bitsCN.com
(5) 在initbox函数中,设置以下Lingo语句,如图8-23所示。
on initbox
allcorners=[[–60,–60,–60],[60,–60,–60],[60,60,–60],[–60,60,–60],[–60,–60,60],
网管下载dl.bitscn.com
,,[60,–60,60],[60,60,60],[–60,60,60]] 网管联盟bitsCN@com
pCenter=point(200,175) 网管bitscn_com
Rlist=[[1,2,3,4],[1,2,6,5],[3,4,8,7],[2,3,7,6],[1,4,8,5],[5,6,7,8]] 网管联盟bitsCN@com
end
图8-23 Initbox句柄
(6) 设置framescript句柄,输入Lingo控制语句如下,如图8-24所示。 网管u家u.bitscn@com
on framescript 网管网www_bitscn_com
gRotate=gRotate-(float(the mouseH-320)/30)*pi()/100
Planeangle=-(float(the mouseV-240)/30)*pi()/20 网管联盟bitsCN@com
drawsides 网管u家u.bitsCN.com
end 网管网www_bitscn_com
中国网管联盟bitsCN.com
图8-24 framescript句柄
网管论坛bbs_bitsCN_com
(7) 在Script窗口输入以下drawsides函数中的Lingo控制语句,如图8-25所示。 网管u家u.bitscn@com
on drawsides 网管网www.bitscn.com
list=[]
repeat with i = 1 to count(allcorners) 网管u家u.bitsCN.com
temp=plotPoint(allcorners[i])
add list,temp 中国网管联盟bitsCN.com
end repeat
网管网www_bitscn_com
quadlist=[:]
repeat with i =1 to count(Rlist)
thisRect=Rlist[i]
网管网www.bitscn.com
q=[list[thisRect[1]][2],list[thisRect[2]][2],list[thisRect[3]][2],list[thisRect[4]][2]] 网管网www.bitscn.com
z=[list[thisRect[1]][1],list[thisRect[2]][1],list[thisRect[3]][1],list[thisRect[4]][1]]
中国网管联盟bitsCN.com
addprop quadlist,z,q
end repeat
sort quadlist 网管网www_bitscn_com
repeat with i =1 to count(Rlist)
网管网www_bitscn_com
sprite(i).quad=quadlist[i] 网管u家u.bitsCN.com
end repeat
end
中国网管联盟bitsCN.com
图8-25 drawsides句柄 网管下载dl.bitscn.com
(8) 在Script窗口输入以下plotPoint函数中的Lingo控制语句,如图8-26所示。 网管下载dl.bitscn.com
on plotPoint objectInfo 网管bitscn_com
x= getAt(objectInfo,1) 网管联盟bitsCN_com
y=getAt(objectInfo,2)
z= getAt(objectInfo,3) 网管论坛bbs_bitsCN_com
radius=sqrt(x*x+y*y)
if x=0.0 then angle = atan(the maxinteger) 网管bitscn_com
else angle = atan(float(y)/x) 网管网www.bitscn.com
if y<0 then angle =angle+pi()
set angle =angle +gRotate
realX=radius*cos(angle)
realZ=radius*sin(angle) 网管bitscn_com
realY=z 网管联盟bitsCN@com
radus=sqrt(realY*realY+realZ*realZ)
if realZ = 0 then angle =atan(the maxInteger)
else angle=(atan(realY/realZ)) 网管bitscn_com
if realZ<0 then angle =angle +pi() 网管网www.bitscn.com
angle = angle -Planeangle
网管论坛bbs_bitsCN_com
screenX=realX 网管联盟bitsCN_com
screenY=radius*sin(angle) 中国网管联盟bitsCN.com
screenZ=radius*cos(angle) 网管联盟bitsCN_com
return [screenZ,point(screenX,screenY)+pCenter]
end 中国网管联盟bitsCN.com
网管联盟bitsCN@com
图8-26 plotPoint句柄
中国网管论坛bbs.bitsCN.com
(9) 在Score窗口的Script通道中,双击第1帧。在弹出的Script窗口中,加入以下的Lingo控制语句,如图8-27所示。
网管下载dl.bitscn.com
on exitFrame me 中国网管联盟bitsCN.com
framescript 网管网www.bitscn.com
go to the frame
网管u家u.bitsCN.com
end 网管u家u.bitsCN.com
(10) 至此,立体画面动画的制作完成了,播放效果如图8-28所示。

图8-27 第1帧的Lingo脚本 图8-28 立体画面播放效果
网管联盟bitsCN_com
|
0
|
评论加载中…