2016-11-29 4 views
1

スクリプトを処理からas3に移植しようとしています。私はすべての処理を知らないし、私はトラブルコード(処理)の特定の行を理解することが生じています:actionscriptへの移植処理3 - カラーデータ型の理解

color[] unsorted = new color[sortLength]; 

色が処理中のデータ・タイプのようですが、ここでの実装は、複数のアレイのように見えます。何か色配列データ型がありますか?

+1

これはコピーされた配列のようです。配列の名前はcolor []ですが、カラーデータ型とは関係ありません。おそらく、この配列はカラーデータ型の値で埋められていますか?参照を参照してください:color c1 = color(204,153,0); – Kokodoko

答えて

4

処理中colorタイプは基本的にint次のとおりです。0xAARRGGBB

あなたは、これがcolor()関数によって返されたタイプであることもわかります。あなたは可能な限り処理の挙動を反映するために、同じタイプの効率的な、固定サイズのリストを維持したい場合はすなわち

var sortLength:uint = 10; 
var unsorted:Vector.<uint> = new Vector.<uint>(sortLength,true); 
trace("unsorted",unsorted); 

上記に変換します。

var unsorted:Array = new Array(sortLength);を行う必要があります。 (Arrayは、uintだけでなく、複数の型を保持できるので、効率が少し低下します)

+0

ありがとう、私が思ったようなものでした。私は処理を理解しています: "color [] unsorted ="色分けされたものだけを10個のエントリのためのスペースを作るためにunsortedという配列を型キャストしますか? あなたがやっているのと同じです:ベクター。 ? –

+1

@DavidLamm Almost:処理の構文をas3であるかのように見ているので、それは型キャストとみなされます。実際にはjavaです。 Javaでは、 'var'キーワードを使用しません。最初に変数型を指定するだけです。たとえば、as3の '' '' myInt:int = 0; ''はProcessing/java(c/C++の場合もある)の '' 'int myInt = 0;' 'になります。同様に '' 'var myIntArray:Vector。 =新しいベクター。 (10、真); '' 'は' '' '' Processing''の '' my [] myIntArray = new int [10]; '' 'です。 長いストーリーの短い:はい、同じタイプの固定サイズの配列を作成していますが、それは型キャストではありません。 HTH –

+0

偉大な答え、ありがとう –

関連する問題