网站建设| 数据库类| 图形图象| 程序设计| 现代办公| 操作系统| 考试认证| 网络技术| 软件工程| 电脑相关| 文学作品
网站开发| 网页制作| 操作系统| 图象图形| 考试认证| 数据库类| 程序设计| 硬件技术| 现代办公| 网络技术| 笑话频道
 
您的位置: 电脑书库首页-> 电脑文摘-> 图象图形-> Director-> 定制能够随意拖动的MIAW

定制能够随意拖动的MIAW
作者:佚名 来源:InterNet 加入时间:2005-2-7
相关文章 相关书籍:
我们经常想要创建一个具有以下属性的MIAW(Movie In A Window,窗口中的影片):

  1. 没有标准的标题栏。

  2. 在以窗口模式运行的放映机中,能够被用户在舞台范围内外自由拖动。

  看起来好像很容易,可是许多开发者发现,即使给windowType指定了有效值,最终的MIAW仍然带有标题栏,且仅能在舞台范围内拖动,或者虽然没有标题栏,但位于舞台范围内,且根本无法拖动。作为一个Director开发者,你也许根本不需要这些功能(因此也不需要知道windowType究竟该如何取值),你也许一直苦于无法算出给windowType赋予何值才能够得到满意的结果。本文阐述的技巧很好地解决了这一问题,将其用在Director程序中非常容易。此外,这项技巧已经通过测试,在MAC和PC上都能够工作的很好。

  做法很简单,只需两步:

  1. 选择合适的windowType值,此处必须令windowType=2。

  2. 给一个“伪造”的标题栏添加Lingo代码,以便鼠标能够随意拖动这个MIAW。

  为什么在这个MIAW中,必须令windowType=2呢?简单地说,是因为一个取值为2的“窗口”实际上根本就不是窗口,而是一个对话框。真正的窗口(windowType取其他的有效值)必须在当前舞台环境的父窗口边界内,这不是Director的特性,这是所有视窗操作系统的一个基本概念。通过令windowType=2,实际上创建了一个“对话框中的影片”,而对话框能够存在于桌面上的任何地方,且与创建它的主窗口的大小和位置都没有关系。因此只要能够在预期的位置用Lingo在一个对话框(windowType=2)中打开影片,那么随后就可以在运行时用Lingo改变它的位置。

  首先,在MIAW的“热点”上添加相应的Lingo代码,以便当鼠标按下时跟踪其位置,并相应地调整窗口(实际上是对话框)的rect值。

  将下面的代码粘贴到Script Window中,并确保将其设置成Movie Script。

on DragWindow dWhichMIAW
  tell the stage
    set mPt to point(the mouseH,the mouseV)
    set origRect to the rect of dWhichMIAW
    repeat while the mouseDown
      set newPt to point(the mouseH, the mouseV)
      set deltaPt to newPt - mPt
      set newRect to offset(origRect,getAt(deltaPt,1), ?
      getAt(deltaPt,2))
      set the rect of dWhichMIAW to newRect
      tell dWhichMIAW to updateStage
      updateStage
    end repeat
  end tell
end

  正如你看到的那样,这个带有参数(dWhichMIAW)的剧本被MIAW引用,同时根据传递的参数值运行。可是从哪里调用剧本呢?很简单,你的MIAW看起来可能像下图那样,注意我是如何使用一个Director中的Shape演员来“伪造”标题栏的。



  其次,将下面的剧本放在“伪造”的标题栏上。

global gVideoPlayer
- the global reference to your MIAW

on mouseDown
  repeat while the mouseDown
    tell the stage to DragWindow(gVideoPlayer)
  end repeat
end

  这就是要做的一切。当你打开这个MIAW时,没有标题栏,点击“伪造的标题栏”能够在屏幕上任意拖动MIAW而不受舞台尺寸和边界的限制。

  虽然这项技巧很简单,但在Director开发中,确实为定制能够随意拖动的影片打开了创造性的大门。

[文章录入员:nancy]

相关文章 相关书籍:
本站推荐内容

近期主机类热搜关键词:
美国服务器 美国服务器租用 海外服务器租用 国外服务器租用

Director
PhotoShop
CorelDraw
3D-MAX
AutoCAD
FreeHand
Illustrator
Authorware
Director
Maya/Rhino
其它
电脑教程阅读排行
·在Director中使用Powe...
·内存中对象的配置
·Director小技巧
·音频与数字视频、flash音频的...
·认识Director中的Xtra
·控制动画GIF
·Director中各种内部事件发...
·Director8行为库的应用
·用Lingo解决组合问题
·行为库创建技巧