好多朋友問過這個(gè)問題,為什么director 里關(guān)于save的命令有三個(gè),這三個(gè)到底有什么不同,我該選擇哪一個(gè)來save我的文件?
其實(shí)回答這個(gè)問題還得先了解一點(diǎn)director的文件結(jié)構(gòu),一個(gè)director movie文件包含的主要信息是cast, 和score,cast含有所有電影所需的原始資源而score則負(fù)責(zé)控制電影的播放流程,可見cast 對文件的大小貢獻(xiàn)最大,對movie最后的整體表現(xiàn)影響也非常大。 通常多媒體開發(fā)人員都會(huì)考慮電影優(yōu)化的問題,例如,導(dǎo)入優(yōu)化過的圖形文件和視頻文件,不過更加常見的情形是導(dǎo)入了很多資源,實(shí)際上并沒有完全使用,還有就是導(dǎo)入時(shí), 是按照開發(fā)者的需要來導(dǎo)入,并非是movie播放的需要,cast members在cast窗口里的位置和次序并不是呈現(xiàn)優(yōu)化的狀態(tài)。 這些都是開發(fā)者需要解決的問題。頭一種情形,可以find unused members, 然后delete; 第二種情形就要用到下面的save and compact命令了。
save: 保存你所有自從上次save后的改變,改變的信息是加在原有的版本之上,換句話說,如果你一直不斷的save, 文件會(huì)越來越大,即使你刪除了某個(gè)cast member,然后save, 文件還是不會(huì)減小,適用于編輯狀態(tài)。 我常常告訴學(xué)生,ctrl + s是世界上最便宜的保險(xiǎn)政策,作為一個(gè)職業(yè)的開發(fā)者,每五分鐘 ctrl + s一次,應(yīng)該是下意識(shí)的舉動(dòng)。
save as: 這個(gè)大家都知道,當(dāng)你新保存一個(gè)文件的時(shí)候,用save as。不過對director來說,這個(gè)命令還意味著,保存文件之前,先優(yōu)化文件,例如同樣是上面列舉的情形,刪除的cast members一定會(huì)在文件的大小上顯示出來。 這個(gè)命令執(zhí)行后,通常還意味著,你有了兩個(gè)不同版本的movie文件。 有些情形下,director拒絕工作,save as, 再保存一次為新文件,就會(huì)為你解困。
save and compact: 這個(gè)指令和save as一樣,先優(yōu)化,再保存,和save as 不同的是,保存后自動(dòng)刪除舊文件,只留下最新的優(yōu)化過的文件。對于shockwave 和 cd-rom的開發(fā)來說,這個(gè)指令的重要性是不言而喻的。publish as shockwave之前,必須執(zhí)行一次save and compact。 而如果有什么意外發(fā)生,無法使用sava指令的時(shí)候,save and compact就成了不可或缺的救急措施。
最后簡單的介紹一下director文件優(yōu)化的次序:
首先被寫入文件的是一個(gè)director文件的文件頭部分,也就是說將要首先載入ram的內(nèi)容是關(guān)于cast, score的紀(jì)錄以及編譯好的lingo script, 這些內(nèi)容通常會(huì)始終保留在ram中,而且占用的內(nèi)存空間很小。
接下來就是真實(shí)的媒體內(nèi)容,嵌入式的媒體cast members先載入,優(yōu)化時(shí),這些members按照他們在score窗口出現(xiàn)的先后次序重排,盡管你在cast 窗口沒有辦法看到重排的次序,但當(dāng)你用save as 或 save and compact 的時(shí)候,它是實(shí)實(shí)在在的發(fā)生了,也就是說score中的第一個(gè)幀所需要的所有的cast members都會(huì)先被寫入文件。
最后director會(huì)檢查所有還沒有寫入的嵌入的媒體members, 這次是按照它們在cast 窗口里的次序?qū)懭胛募?例如按鈕的over 和down 狀態(tài)的members, 他們通常是被lingo來調(diào)用而不是直接顯示在score窗口里的。 與此類似的情形還有puppetsound所調(diào)用的聲音members。
還有一個(gè)小竅門,如果你有一些cast libraries, 需要和你的項(xiàng)目里的多個(gè)movies都保持外部連接的方式,那你不必要每一個(gè)movie都使用sava and compact, 你可以使用菜單欄 xtras --> update movies, 選擇update movies, 這好像是一個(gè)save and compact 的批處理命令。
新聞熱點(diǎn)
疑難解答