這個例子是建立在上一個interop示例的基礎上的,這個例子演示了一些更復雜的交互。(繪制到舞臺)。 這個例子由兩個CPP文件組成,所以,可以去看它的makefile文件,看它們是如何用G++打包的(如果不熟悉G++的話,可以通過這個學習一下用法)。
如果你不太熟悉Voronoi圖,可以自己百度,但是,這不是本示例的重點。這個例子主要是想向大家展示的是一些在voronoi.cpp使用到的FLASH交互內容。
如果你查看voronoi.cpp源代碼,你可以看見一個叫console的類。 這個類的源代碼放在了sdk/usr/share/Console.as位置。 這個類的目的就是提供一些libc的調用實現,比如printf什么的。
Console.as除了提供基礎調用以外,也是作為你編譯為SWF文件的主類,大家都知道的,如果在AS3中想生成一個項目,必須是要有一個活動AS3文檔,派生自Sprite作為入口函數的。 Console.as提供了一個TextField來接受所有的標準C/C++輸出。 而在一個真正的SWF或者SWC中,你可能需要替換Console.as來實現自己的需求,比如輸出重定向什么的。 下一個例子就會向你演示如何來實現一個自己的Console.as。
但是,在這個例子中,大家只要把注意力集中在它的current變量上就可以了。
當使用默認的SWF版本(-swf-version-18)編譯時。FLASCC將會嘗試在后臺運行代碼。 但是,在這個例子中,我們直接將想要繪制的東西繪制到舞臺上。 因為舞臺上的東西,在后臺運行時,也會得到相應的處理。 至于 多線程的東西, 后面的教程會提到,所以,這個例子就沒有必要演示得太多了。
最后,這個例子使用了SWF 17進編譯,它會運行在Flash的主線程中。