日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ScaleForm十六戒言

發布時間:2025/3/15 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ScaleForm十六戒言 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

不知不覺,在不停地叫罵、哀嚎、驚嘆、歡喜中,開發工作已經走過了一個節點了,UE3作為一個頂級,維護多年的引擎,層層深入后,發現每一塊都有值得深入,值得改進的地方,平時負責一些場景,機關,交互的活,雜務很,UI也缺人,作為一個火頭兵,so,這也是當仁不讓的,所以無意間對Scaleform也接觸了些許,昨日也正好和群友聊到,一開始沒想到其中亦有很多好玩的地方,也是,無論什么,深入下去,都是大有門道的~

?

?

平時忙得團團轉,現在,是時候靜下來好好消化一下的時候了,那就先從這個UI開始說起。

?

首先,SF庫的優勢體現在Flash工具上,動畫的精確可控性,脫離以往很多時候由程序員填個XML的山寨限制,美工可以自由地利用時間軸、幀與層展開效果,這個是很贊的,當然,漂亮是有代價的,實際應用中也遇到了諸多問題,畢竟,之前用過的人少之又少,大家都是摸著石頭過河,

?

?

所以這里就總結幾點,大言不慚,但還不敢用箴字,姑且稱為ScaleForm十六戒言,寄望能饗以后人,有同行的,更歡迎交流;

?

?

?

1.

加入控件,謹記統一在第一幀預留關鍵幀,確保頭尾一致,否則很可能會在動畫播放之后,找不到對應的控件;

?

?

?

2.

Label,Action層,統一放置,規定好分工,標簽,AS代碼統一管理;

?

?

?

3.

如需要動畫處理后再進行邏輯調用,可預留下對應函數名,在尾幀再進行調用;

?

?

4.

自行擴展庫,如GFx上在建立自己的UI庫,大力提倡使用相對目錄包含,且注意,Flash文檔設置中的目錄優先級高于軟件選項中的AS庫設置;

?

?

?

5.

千萬不要輕易改變控件名,否則,嘿嘿,等著一切從頭再來吧;

?

?

?

6.

在Unreal中,SF控件,GfxObject都是臨時變量,它們是動態創建的,謹記;

?

?

?

7.

零碎的圖素,SF支持如CEGUI的圖素打包處理,在位圖加上pack 屬性,一些特殊用例,則加上no-pack;

?

?

?

8.

no-pack屬性可用在一些大圖,或者需要程序動態改變的,如RenderTarget(普通動態改變可以使用MovieClip打成一個mc,然后里面用Label標記,不同圖素),RT的使用,在UE3中考慮需要多一些,SceneCapture,Alpha通道,Gamma變換,PostProcess,,具體偏題了,不再展開,只做一點建議,盡量規避半透明RT;

?

?

?

8.

組件化非常總要,合理地抽出通用組件,會讓工作效率、程序效率事半功倍;

?

?

?

9.

關于字體,官方就有文檔,謹記把它也看成是一個控件,統一管理,不要自行單獨使用一處字體;

?

?

?

10.

美術人員直接出的文件總是難以盡善盡美的,關于調試,尤其是UE3下,UScript腳本不能斷點,SF沒有源碼,以下兩點或許會成為救命稻草,

A,別忘記原始的Flash調試,有更清晰的調試信息。B,千萬要注意輸出面板和編譯錯誤面板;

?

?

?

11.

UE3下,Click Extension和GfxPlayer 一定要注意跟進,開發成員間保持同步,有時候莫名其妙的問題也許就出在這里;

?

?

?

12.

Flash CS6在穩定,速度上絕對是個更好的選擇,很多時候軟件如同DC,選新不選舊;

?

?

?

13.

游戲的縮放確實是個頭疼問題,上一個項目為把折騰進入Facebook那小小的640窗口,沒少受苦,還好Flash的Stage本身支持 exactFit noScale等屬性,建議還是noScale,用動態對齊的方法來做,一些特殊需要拉伸的,再自行處理~

?

?

?

14.

關于Package儲存,UE3的文件系統自有他一套王國,Flash導入后,texture的儲存要注意存放的格式,還有,不同游戲階段如登陸,游戲中、RT等,建議分包存儲(Flash就得使用不同目錄,否則,已經開工后,蜘蛛網一樣已經纏在一塊了,那就算了),方便調試,也可減輕項目管理工具的流量壓力(Package忒大...);

?

?

15.

關于視頻,眾所周知,Flash的FLv出現,對在線視頻的意義是革命性的,早年上網,QuickTime,WMV都不給力,為一個RealPlayer上在線影院,是電信拉高價格的得意價碼,再后來...好吧,可現在尊敬的SF大大竟然告訴我們想要播放視頻,請另付XXdollar,好吧,個人的思路還是走RT,一直瞎忙,現在剛開始看這塊,計劃動態的用libtheora渲染(感謝Google),如果誰有這方面經驗,還望不吝賜教。

?

?

?

16.

關于如何制作酷炫的效果,其實Flash萬變不離其宗,所有酷炫動畫的本質就如同骨骼動畫,就是二維平面上的位移,縮放,Alpha插值漸變,再加上遮罩層,AS腳本,不停的Stop,GotoPlay...好吧,這個還是個經驗活,多看,多學最重要;

?

....

?

補充,后續:

17.

  開始建立關鍵幀,放入元件很重要,結束時,確保控件存在于最后一幀同樣重要,否則在一個Movie的多個Scene下跳轉,在調用SF的主體程序內同樣會遇到莫名其妙的指針丟失問題;

18.

  幀上的action進行變量初始化?這一點一定要防范,尤其是獨立一個控件,多次創建調用的情況下,主體程序內對指定變量的賦值與action腳本內的賦值很可能會因為時序問題出現不可預知的情況,so,需要動態賦值的變量初始化,要么不動,要么寫在對應的AS類初始化函數中;

19,

  關于透明控件,在ScaleForm中它是仍然會接收鼠標等輸入響應!

所以,當程序遇到某塊特定區域鼠標無法點擊的怪異情況,先去檢查下,美術是不是為了做一個漸變幀的效果,

只讓一個控件alpha變成0,而未設置inVisible了~

?

20,

  AS中并沒有C\C++中的指針概念,但是它具有一個一遇到空變量就罷工的傲嬌特性,并且不會報錯,這點非常值得警惕;

如,美工拖出一個控件,你對齊做了初始化,和addListener,然后,美術趕腳不爽,又來不及改動,把控件這層改成引導層,

然后,你一無所知,AS從此默默地在化為引導層的空控件變量后自行跳出,

好了,Boss過來一看,原先好好的功能突然就謝特了,在錯宗復雜的腳本海洋里去跟蹤?去看咋一眼就是對的資源?

關鍵時刻,這些都是非常痛苦的,所以,AS寫腳本多寫一行 If( != null ){ },養成嚴格習慣,會有好處的~

?

21,

  由C++向as中變量賦值時,需要變量是Public

22,

  Flash中使用共享字體庫鏈接,如果一個控件會引用到其中使用字體,如果中途更換了所用字體,SF有Bug會不斷地遞歸尋找字庫,會出錯甚至導致崩潰,

而這種幾個庫(不同Flash文件間共享)出現的問題,統稱為莫名其妙的Cache問題,有時候勾上自動更新也不是很好的選擇(同自動申明舞臺實例),這時候,清除組件定義常常是最直接有效的(例如:源控件正常,引入后死活有問題,就很可能是Cache造成)

?

轉載于:https://www.cnblogs.com/Zephyroal/archive/2012/08/26/2657293.html

總結

以上是生活随笔為你收集整理的ScaleForm十六戒言的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。