Multimedia Fusion 2,簡稱MMF2,是由Click Team所製作的多媒體製作軟體,在歐美等地區盛傳已久(~以下省略廢話一千字~)。而在整個製作流程上最重要的,非Event Editor莫屬(等同於程式碼編輯的部分),要讓程式有好的執行效率、正確無誤,非得在這裡下點功夫。小弟瞭解的並不多,不過在這邊把自己目前所知道的部分介紹一次。
Event Editor最重要的就是「事件、原因、結果的順序」。
能做到事件排序正確,那麼大部分跑出來的成果就不會有錯誤了,大部分。小部分是相同物件在選擇時所導致的錯誤,留到之後的改進篇再說~
事件的順序是由上往下進行的,跟其他程式語言一樣,只有"前進"一個方向;同個事件則可分成因、果部分,左邊的原因成立,便會執行右邊的結果。要注意的是在Event Editor可看出原因的順序,但不能看出結果動作的順序(需要在同事件雙擊左鍵來編輯先後,不過編輯後可能導致物件排序混亂,要注意...)。因此便能利用這特性用因果事件作許多變化了。這邊舉兩個常用的例子:
example:先用always,再扣除特定狀況(事件順序)
以一般邏輯而言,如果要讓A、B狀況套用相同結果,應該是像左圖一樣分為「非A非B,A,B」再各自定各自的結果(例子為讓人物的flag為on或是off)。但是這樣一來,如果特定狀況太多,會讓第一個事件變成「非A非B非C非D...」,看起來很惱人。所以可以在第一個事件先將全部人物的flag設為off,下面幾個事件再挑出符合特定狀況的人物將flag設為on。可以用OR operator(filter)再簡化事件,OR operator選擇處如下圖所示。
example:紀錄前面的按鍵動作(結果順序)
由上面的例子來看,當這個事件(玩家按搖桿鍵1)被觸發第一次時,PrsBBtn的數值先給PrsABtn,接著C給B、D給C、E給D.....直到H給G後,再給PrsHBtn新的數值。等到搖桿鍵1被放開、PrsA恢復0後,便能在玩家按第二次搖桿鍵1時再觸發一次第一個事件。接著,又是B給A、C給B、D給C....、給PrsHBtn新的數值。數值像滾輪一樣傳遞,如此便可記錄之前(此範例記錄八個步驟)的按鍵動作了。
如果沒有特殊的事件限制(如Fast loop、Run this event once等等),這些事件每個畫格(frame)都會被跑一次,顯示速度FPS是50的話,事件就每秒跑50次。所以只要能每秒讓電腦承受得了這麼多事件(每個物件需要計算的量都不同),那麼成果畫面便會順暢而不LAG了。當然,能讓計算量越少、越簡潔當然是越好,不過MMF2顯然不是為了讓程式跑得快而設計的軟體,所以只要能達到基本需求就可以啦。
....今天先打到這裡好了<( ̄︶ ̄)>
沒有留言:
張貼留言