| 网站镜像:电信 网通 | 加入收藏 | 设为首页

Director 疑难解答(1)

  • Director 疑难解答
    01. 如何制作一个放映机(projector)可以在不同分辨率下播放?

       [A] 加入下列语句:

       on prepareMovie
         (the stage).rect = (the desktopRectList)[1]
         (the stage).drawRect = (the desktopRectList)[1]
       end

       注意,这个语句是通过放大或缩小舞台来达到效果的,所以会有变形。

    02. 如何导入photoshop的图层?

       [A] Director7.0以后的版本你可以通过Medialab公司的Photocaster Xtra来实现。

    03. 在程序中如何导入图片而不失去图片周围的白色部份?

       [A] 通过指定图片的trim whitespace属性可以实现:

       m = new(#bitmap)
       m.trimWhiteSpace = 0
       m.filename = the moviePath & ‘‘file.bmp‘‘
       m.media = m.media

    04. 如何得到全局变量列表?

       [A] 在messages的窗口中,你可以输入showGlobals来显示所有的全局变量。以下的代码也可以显示所有的全局变量:

       repeat with x = 1 to (the globals).count
         put (the globals).getPropAt(x) & ‘‘ = ‘‘ & (the globals)[x]
       end repeat

    05. 如何播放mpeg文件?

       [A] 有一系列的方法,不能说哪一种更好,并且在pc机和mac机上是不一样的,下面是四种常见的方法:

       1. 用一个xtra。这种方法用起来简单,且也有好的产品支持,但大多不能跨平台使用。当然,这是需要购买的。
       2. 使用ActiveX控件。这只能在pc机上用,相对xtra而言会有更多的限制,但它是免费的,且与标准playback能够很好的集成。
       3. 使用quicktime。但这只能在mac的机子上用(不过5.0好像也可以支持pc)。
       4. 用mac来调用。这是另一种只支持pc机的方式,但与d集成不好,不建议采用。

       选取一种最适合你的方法,但要记住多在不同的平台上做测试,mpeg文件在每种平台上的效果都是不同的。

    06. 如何才能更改project的图标?

       [A] 可以通过第三方工具来实现,比如Hoolicon。

    07. 如何制作光盘的自动运行程序?

       [A] 在mac上可以选上自动运行选择“in Toast for the HFS volume”。Toast是Mac上的烧录软件。HFS是Mac上硬盘的文件制式,相当于PC上的FAT或NTFS。

       在pc上,可以制作一个包含以下内容的txt文件,文件名为autorun.inf

       [autorun]
       open=projectorname.exe
       icon=icon.ico

       更改projectorname使之与你的exe名一样,并可加上路径如open=stuffprojector.exe,图标可以是任何的图标文件。

    08. 如何关闭一个miaw?

       [A] 最安全的关闭一个miaw的方法是在这个miaw中设置一个为true的全局变量,在这个miaw的影片中通过这个变量关闭miaw,而不要让miaw自己来关闭。同样,你可以向舞台(stage)发送命令来关闭它。

    09. 如何得到系统的打开和保存文件的对话框?

       [A] 在director中有好几种方法可以得到。下列是常用的四种方法。注意对话框并不能打开文件,它只是返回文件的完整路径(File Path)和文件名称(File Name)。

       1. FileIO:

       Open -
         set myFile = new(xtra ‘‘fileio‘‘)
         set theFile = displayOpen( myFile )
         set myFile = 0
       Save -
         set myFile = new(xtra ‘‘fileio‘‘)
         set theFile = displaySave( myFile, ‘‘Title‘‘, ‘‘Default File Name‘‘)
         set myFile = 0

       2. Buddy API:

       Open -
         set theFile = baGetFilename(‘‘Open‘‘, ‘‘C:‘‘, ‘‘Filename‘‘, ‘‘Filters│*.*‘‘, Flags, ‘‘Instruction‘‘, Allow Folder Selection, X-Location, Y-Location )
       Save -
         set theFile = baGetFilename( ‘‘Save‘‘, ‘‘C:‘‘, ‘‘Filename‘‘, ‘‘Filters│*.*‘‘, Flags, ‘‘Instruction‘‘, Allow Folder Selection, X-Location, Y-Location )

       3. FileXtra:

       Open -
         set theFile = fileOpenDialog(initialDirectory, filterString, dLogTitle, createPrompt, FileMustExist)
         --On the Mac, only the initial Directory and filterString are valid
       Save-
         set theFile = fileSaveAsDialog(initialDirectory, fileName, dialogTitle, overwritePrompt)
         --On the Mac, only the initial Directory and fileName, and prompt are valid.

       4. MUI Xtra:

       Open -
         set aMuiObj = new (xtra ‘‘MUI‘‘)
         set fileString = ‘‘Open this file‘‘
         set theFile = fileOpen(aMuiObj, fileString)
       Save -
         set aMuiObj = new (Xtra ‘‘MUI‘‘)
         set fileString = ‘‘save this file‘‘
         set theFile = fileSave( aMuiObj, fileString, ‘‘with this prompt‘‘ )

    10. flash可以向director中传递变量吗?

       [A] 你可以用getURL的三种方式来实现:

       getURL ‘‘event:directorHandler‘‘
       getURL ‘‘lingo:directorCode‘‘
       getURL ‘‘string‘‘