場景編輯器研發(fā)第二天,確定技術(shù)實(shí)現(xiàn)細(xì)節(jié)與取舍放棄AIR技術(shù)而應(yīng)用JSFL腳本接口
?在第一天完成了底層技術(shù)的確定結(jié)果確定為flash技術(shù)體系,現(xiàn)在則需要再細(xì)分確定技術(shù)的具體實(shí)現(xiàn)方案。
flash中最適合,作為場景編輯器的是flash pro 因?yàn)檫@里提供了很多方便快捷的工具,同時(shí)又可以用actionscript代碼進(jìn)行控制

但可惜的是flash pro并沒有開放源代碼,所以沒辦法進(jìn)行深度定制功能。
雖然flash pro并沒有開放源代碼不過abode公司開放了flash pro的接口 jsfl,我們可以通過jsfl進(jìn)行對flash pro進(jìn)行操作控制,所以這里使用flash插件的形式去進(jìn)行開發(fā)編輯器,同樣作為插件程序依然可以應(yīng)用flash pro的所有特性工具,這是第一種方案。
還有第二種方案,那就是使用flash 技術(shù)中的AIR技術(shù)實(shí)現(xiàn)打包桌面應(yīng)用,然后通過actionscript代碼和air actionscript開放的接口進(jìn)行桌面應(yīng)用開發(fā),有很多應(yīng)用都是這樣開發(fā)的,比如egret系列的各種插件,scratch少兒編程。


不過有其中的弊端,如果選擇air技術(shù)那么就必須放棄flash pro內(nèi)的所有特性,功能,進(jìn)行造輪子,這也意味著所有的編輯功能全部依賴于actionscript+flash庫進(jìn)行開發(fā),很顯然沒有必要,如果全程我自己手寫那我為什么不直接在egret引擎上去寫這樣一套編輯程序呢?玩家也能編輯,我們正是利用flash 技術(shù)和flash pro編輯器多年迭代研發(fā)的成熟和flash pro強(qiáng)大的編輯能力去構(gòu)建我們自己的特有功能,很顯然整體來看這是弊大于利的。
固然選擇方案一用插件的方式實(shí)現(xiàn)。
還有第三種方案,這是一種分離式的工作流程,完全依賴于flash pro fla格式文件,然后在導(dǎo)出swf后運(yùn)行as代碼,進(jìn)行用as代碼實(shí)現(xiàn)邏輯,這里就可以用一些類封裝外部類導(dǎo)出影片剪輯這些功能,雖然也可以實(shí)現(xiàn)編輯器功能,但是非常不專業(yè),所以不推薦。
