初级视频编辑室|草蜢非编论坛|初级视编室|草蜢视频编辑|会声会影|威力导演|电子相册

标题: Director实现舞台适应屏幕程序代码 [打印本页]

作者: 五星上将    时间: 2014-11-12 11:55
标题: Director实现舞台适应屏幕程序代码
--on prepareMovie me
--myStageRect=the deskTopRectList[1]
--(the stage).rect=myStageRect
--(the stage).drawRect=mystageRect
--end

下面这段代码实现的功能是:
1、舞台居中
2、根据屏幕宽高比和舞台宽高比实现电影的不变形缩放(即,如果舞台宽高比小,则上下充满,左右留空;如果屏幕宽高比小,则左右充满,上下留空;)
on prepareMovie
screenRect = _system.deskTopRectList[1]
wPreH = (screenRect.right-screenRect.left)*1.0/(screenRect.bottom -screenRect.top)

movieRect = _movie.stage.rect
wPreW = (movieRect.right-movieRect.left)*1.0/(screenRect.right-screenRect.left)
hPreH = (movieRect.bottom - movieRect.top)*1.0/(screenRect.bottom -screenRect.top)

if wPreW >= hPreH then
diffH = screenRect.height - movieRect.height/wPreW
newDrawRect = rect(0, 0, screenRect.width, screenRect.height - diffH)
newMovieRect = rect(screenRect.left, screenRect.top + diffH/2, screenRect.right,screenRect.bottom - diffH/2)
else
diffW = screenRect.width - movieRect.width/hPreH
newDrawRect = rect(0, 0, screenRect.width - diffW, screenRect.height)
newMovieRect = rect(screenRect.left + diffW/2, screenRect.top, screenRect.right- diffW/2, screenRect.bottom)
end if

_movie.stage.rect = newMovieRect
_movie.stage.drawRect = newDrawRect
end
根据这个修改,是可以只实现居中,不放缩的
这个代码放在电影脚本中,并保证没有其他的prepareMovie处理子,不用修改直接使用
别外:
可以在全屏的第一帧写
on exitframe me
sprite(1).left=***
sprite(1).top=***
sprite(1).width=***
sprite(1).height=***
end


作者: 施南莲珠    时间: 2014-11-12 12:45
谢谢楼主分享!
作者: duanxb    时间: 2014-11-12 13:29
谢谢楼主提供分享
作者: yantbz2014    时间: 2014-11-12 15:13
谢谢你提供的分享。
作者: 山里人    时间: 2014-11-12 19:42
为了论坛,辛苦啦!
作者: yipingzi    时间: 2015-1-13 00:12
参观宝库,看一看。




欢迎光临 初级视频编辑室|草蜢非编论坛|初级视编室|草蜢视频编辑|会声会影|威力导演|电子相册 (http://shibianshi.com/) Powered by Discuz! X3.2