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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

FlashCC学习札记

發(fā)布時(shí)間:2023/12/18 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FlashCC学习札记 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前段時(shí)間項(xiàng)目中有一個(gè)功能模塊用到了FlashCC,將C++的代碼編譯成swc文件,以便在Flash工程中使用。開發(fā)過程中遇到一些問題,現(xiàn)在記錄下來(lái),以便日后查閱。

一、開發(fā)環(huán)境搭建

說(shuō)明:本文所使用的FlashCC版本為1.0.1, 操作系統(tǒng)為Windows7 Professional 32位

相對(duì)于FlashCC的前身Alchemy來(lái)說(shuō),FlashCC的開發(fā)環(huán)境搭建已經(jīng)簡(jiǎn)化了許多,一些開發(fā)過程中依賴的組件已經(jīng)默認(rèn)集成到官方提供的定制Cygwin當(dāng)中。首先需要注意最小系統(tǒng)需求,下面是官方給出的標(biāo)準(zhǔn):

  • Flash Player 11 or higher
  • Flex SDK 4.6 or higher
  • Java Virtual Machine (64-bit)
  • Window平臺(tái)需要:Microsoft? Windows? 7 (64-bit edition)

其中前兩點(diǎn)必須要滿足。至于后兩點(diǎn),我的開發(fā)機(jī)器用的是Win7 32位系統(tǒng),裝的Java虛擬機(jī)也是32位的,實(shí)際操作中也沒有發(fā)現(xiàn)太大問題(不過建議有條件的話最好還是使用官方標(biāo)準(zhǔn))。

了解基本需求后到各個(gè)網(wǎng)站上下載Flex SDK、JRE、FlashCC開發(fā)包(1.0.1版本),下載完成后繼續(xù)下面的步驟:

1、解壓FlexSDK(本文中解壓路徑為F:\Flex\flex_sdk_4.6)

2、安裝JRE

3、解壓FlashCC開發(fā)包(已經(jīng)內(nèi)置了定制版的cygwin) (本文中解壓路徑為F:\Flash\FlasCC_1.0.1)

4、使用文本編輯器打開F:\Flash\FlasCC_1.0.1\samples\Makefile.common, 修改FLASCC及FLEX變量為下面的值:

FLASCC:=/cygdrive/f/Flash/FlasCC_1.0.1/sdk
FLEX:=/cygdrive/c/flex

至此,FlashCC的開發(fā)環(huán)境就搭建好了,下面來(lái)嘗試編譯FlashCC開發(fā)包中自帶的示例程序。

二、編譯樣例程序

直接運(yùn)行F:\Flash\FlasCC_1.0.1\run.bat,切換工作目錄到01_HelloWorld下:

注意:如果使用的是32位Java虛擬機(jī),則需要修改一下01_HelloWorld下的Makefile, 在編譯命令后加上-jvmopt=-Xmx1G

否則會(huì)報(bào)下面的錯(cuò)誤:

“LLVM ERROR: Error: Unable to launch the Java Virtual Machine.
This usually means you have a 32bit JVM installed or have set your Java heap siz
e too large.
Try lowering the Java heap size by passing "-jvmopt=-Xmx1G" to gcc/g++.”

在cygwin窗口中輸入make:

一切順利的話,會(huì)在01_HelloWorld目錄下多出hello.exe和hello.swf兩個(gè)文件,使用FlashPlayer打開hello.swf,效果如下:

?

三、開發(fā)中遇到的問題

1、FlashCC使用cygwin編譯代碼,而cygwin是一個(gè)linux環(huán)境的模擬器,所以要求被編譯的代碼要使用標(biāo)準(zhǔn)C/C++。或者是做一些跨平臺(tái)處理。

2、一開始在項(xiàng)目中編譯C++代碼成swc文件之后,使用Flash Professional CS5.5建立以一個(gè)測(cè)試項(xiàng)目,實(shí)際運(yùn)行的時(shí)候發(fā)現(xiàn)有個(gè)地方總是分配不到內(nèi)存,后來(lái)在FlashCC官方論壇上提問,才發(fā)現(xiàn)是由于編譯時(shí)指定的flash版本過低所致(FlashCC要求編譯時(shí)flash版本最低為11), 論壇上的提問。

3、以前安裝的Flash Professional CS5.5發(fā)布swf時(shí)flash版本最高只能指定到10.2,可以參考下面的文章來(lái)添加更高版本的flash支持

Adding Flash Player 11 support to Flash Pro CS5 and CS5.5

4、關(guān)于從AS3代碼中向C++中傳遞ByteArray參數(shù)的方法,一開始參考了這篇文章,實(shí)際測(cè)試中發(fā)現(xiàn)這種方法在我編寫的功能模塊中并不能正確工作。后來(lái)采用官方Demo中的數(shù)據(jù)傳遞方法成功解決了ByteArray傳參問題。貼出參考代碼:

AS3 1 // First lets fill a ByteArray like we normally would in ActionScript 2 var bytes:ByteArray = new ByteArray(); 3 bytes.endian = "littleEndian"; 4 for (var j:int = 0; j < 10; j++) 5 bytes.writeInt(j); 6 7 bytes.position = 0; 8 9 // Now we want a pointer to that ByteArray 10 var bytesPtr:int = CModule.malloc(bytes.length); 11 12 // Use CModule.writeBytes() to write the ByteArray we created into flascc's 13 // main memory. The parameters of writeBytes() are first the pointer in flascc 14 // memory, the length of the ByteArray, and the ByteArray itself 15 CModule.writeBytes(bytesPtr, bytes.length, bytes); 16 printLine("Checksum: " + MyLib.examineBytes(bytesPtr, bytes.length)); 17 CModule.free(bytesPtr); C 1 __attribute__((annotate("as3sig:public function _wrap_examineBytes(buffer:int, bufferSize:int):int"))) 2 void _wrap_examineBytes() { 3 unsigned char *arg1 = (unsigned char *) 0 ; 4 int arg2 ; 5 int result ; 6 { 7 AS3_GetScalarFromVar(arg1, buffer); 8 } 9 { 10 AS3_GetScalarFromVar(arg2, bufferSize); 11 } 12 result = (int)examineBytes((unsigned char const *)arg1,arg2); 13 { 14 AS3_DeclareVar(asresult, int); 15 AS3_CopyScalarToVar(asresult, result); 16 } 17 { 18 AS3_ReturnAS3Var(asresult); 19 } 20 }

?

PS:附上FlashCC 官方論壇地址

http://forums.adobe.com/community/game_developers/flascc

?

版權(quán)說(shuō)明:本文章版權(quán)歸本人及博客園共同所有,未經(jīng)允許請(qǐng)勿用于任何商業(yè)用途。轉(zhuǎn)載請(qǐng)標(biāo)明原文出處:

http://www.cnblogs.com/talywy/archive/2013/04/03/2997702.html

轉(zhuǎn)載于:https://www.cnblogs.com/talywy/archive/2013/04/03/2997702.html

總結(jié)

以上是生活随笔為你收集整理的FlashCC学习札记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产毛片久久久久久国产毛片 | 精品一二三四 | www天堂在线 | 中文字幕高潮 | 日日躁夜夜躁白天躁晚上躁91 | v99av| 制服诱惑一区二区三区 | 日本在线视频观看 | 久久97精品久久久久久久不卡 | 亚洲av成人无码网天堂 | 一卡二卡在线观看 | 福利网站在线 | 日韩欧美在线不卡 | 欧美日韩少妇精品 | 成人免费视频网站在线看 | 特级av| 911国产在线 | 国产一极片 | 国产一区二区三区四区 | 中日精品一色哟哟 | 射射av | 欧美成片vs欧美 | 五月天黄色网址 | 姑娘第5集在线观看免费好剧 | 亚洲欧美综合另类 | 久久成年视频 | 大尺度摸揉捏胸床戏视频 | 男插女视频免费 | 亚洲制服av| 国产成人无码aa精品一区 | 美景之屋电影免费高清完整韩剧 | 伊人免费在线 | 国产精品乱码一区二三区小蝌蚪 | 色呦呦 | 欧洲亚洲国产精品 | 在线看成人av | 超碰.com| 亚洲精品国产suv | 3p在线视频 | 中文字幕无码日韩专区免费 | 日韩国产精品一区二区 | 日本性猛交| 免费黄色欧美 | 91久久精品一区二区三 | 大陆一级黄色片 | 红杏出墙记 | 少女国产免费观看 | 日韩av一区二区在线播放 | 国产精品福利一区 | 欧洲女同同性吃奶 | 亚洲av成人精品日韩在线播放 | 黄色免费成人 | 国内精品国产三级国产aⅴ久 | 超碰96在线 | 国产日本精品 | 夜夜嗨av色一区二区不卡 | 欧美成人黄色小说 | 美女视频黄色免费 | 在线视频久久 | 国产97在线观看 | 亚洲综合自拍 | 国产精品久久毛片av大全日韩 | 女人扒开腿免费视频app | www.xxxxx日本| 亚洲综合色在线 | 欧美成人国产va精品日本一级 | 亚洲天堂小视频 | 国产亚洲精品aaaaaaa片 | 亚洲免费一区 | 波多野结衣www | 搡8o老女人老妇人老熟 | 91精品国产综合久久久久久久 | 亚洲国产综合av | 激情文学88 | 大象传媒成人在线观看 | 欧美黑人做爰爽爽爽 | 久操这里只有精品 | 五月激情小说 | 爱久久 | 色草在线 | 日韩久久精品一区二区 | 手机在线看片 | 欧美熟妇毛茸茸 | 成人一区二区三区视频 | 韩日av片 | 91av久久| 精品色哟哟 | 免费黄色网址观看 | 蜜臀99久久精品久久久久小说 | 污导航在线 | 欧美又粗又长又爽做受 | 夜夜骚av| 日韩在线视频你懂的 | 日本久久黄色 | 亚色视频 | 鲁啊鲁在线视频 | 极品美女扒开粉嫩小泬 | 欧美成在线视频 | 水蜜桃91|