トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     カラーピッカーの表示色数について
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
tamachan55
Åê¹ÆNo.45984
投稿日時: 2010-9-30 1:04
半人前
居住地:
投稿: 44
使用環境:
Win7,Flash CS4,
カラーピッカーの表示色数について
カラーピッカーの表示色について質問です。

http://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/fl/controls/ColorPicker.html#colors

「注意:ColorPicker コンポーネントが表示できるカラーの最大数は 1024 です。
デフォルトで、この配列は自動生成される 216 色を含みます。」

http://help.adobe.com/ja_JP/ActionScript/3.0_UsingComponentsAS3/WS5b3ccc516d4fbf351e63e3d118a9c65b32-7f1d.html

「カスタムカラーを 1024 に設定すると、色見本の数に合わせて垂直方向にパレットのサイズが変更されます。」

という記述がありますが、カスタムカラーの設定方法は書いてありません。

カラーピッカーの表示色数を増やせる方法をご存じでしたら
ご教授願えれば幸いです。
tamachan55
Åê¹ÆNo.45988
投稿日時: 2010-9-30 16:11
半人前
居住地:
投稿: 44
使用環境:
Win7,Flash CS4,
Re: カラーピッカーの表示色数について
うう、レスが付かない
凡庸性の低いトピックだから仕方がないかも・・・


cp.colors = [ 0x001100, 
              0x003300, 
              0x005500, 
              0x007700, 
              0x009900, 
              0x00BB00, 
              0x00DD00, 
              0x00FF00 ];

と書けば、表示できるみたいですが、1024個も書くのは無理だし、
何か方法は無いでしょうか?
ひろゆき
Åê¹ÆNo.45989
投稿日時: 2010-9-30 16:27
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: カラーピッカーの表示色数について
レスがつかない場合、それなりの理由があるものです。

今回のケースは、以前の投稿同様、具体的なスクリプトの提示がなされていないため、
回答者が一からスクリプトを組み立てなければなりません。

つまり、検証しやすいサンプルのスクリプトをつければ、
「多少」回答がつきやすくなるのではないでしょうか。

また、1日やそこらで、レスがつかないと嘆くには、早すぎるように思います。
基本的に、回答者は善意のボランティアですから。


----------------
質問する際は、回答者に具体的な情報を与えてください。

ひろゆき
Åê¹ÆNo.45990
投稿日時: 2010-9-30 17:15
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: カラーピッカーの表示色数について
そもそも「216色」とは、どのようなカラー値(16進数)の組み合わせなのか。
カラーピッカーがどうなっているのか、すぐに分かります。
6マス*6マス*6ブロック=216色です。

次に、カラー値がどのようになっているか。
これは、trace(ColorPicker.colors)で、配列が取得できるはずです。
0, 13056, 26112, 39168, 52224, 65280, 	3342336, 3355392, 3368448, 3381504, 3394560, 3407616, 	6684672, 6697728, 6710784, 6723840, 6736896, 6749952, 
51, 13107, 26163, 39219, 52275, 65331, 	3342387, 3355443, 3368499, 3381555, 3394611, 3407667, 	6684723, 6697779, 6710835, 6723891, 6736947, 6750003, 
102, 13158, 26214, 39270, 52326, 65382, 	3342438, 3355494, 3368550, 3381606, 3394662, 3407718, 	6684774, 6697830, 6710886, 6723942, 6736998, 6750054, 
153, 13209, 26265, 39321, 52377, 65433, 	3342489, 3355545, 3368601, 3381657, 3394713, 3407769, 	6684825, 6697881, 6710937, 6723993, 6737049, 6750105, 
204, 13260, 26316, 39372, 52428, 65484, 	3342540, 3355596, 3368652, 3381708, 3394764, 3407820, 	6684876, 6697932, 6710988, 6724044, 6737100, 6750156, 
255, 13311, 26367, 39423, 52479, 65535, 	3342591, 3355647, 3368703, 3381759, 3394815, 3407871, 	6684927, 6697983, 6711039, 6724095, 6737151, 6750207, 

10027008, 10040064, 10053120, 10066176, 10079232, 10092288, 	13369344, 13382400, 13395456, 13408512, 13421568, 13434624, 	16711680, 16724736, 16737792, 16750848, 16763904, 16776960, 
10027059, 10040115, 10053171, 10066227, 10079283, 10092339, 	13369395, 13382451, 13395507, 13408563, 13421619, 13434675, 	16711731, 16724787, 16737843, 16750899, 16763955, 16777011, 
10027110, 10040166, 10053222, 10066278, 10079334, 10092390, 	13369446, 13382502, 13395558, 13408614, 13421670, 13434726, 	16711782, 16724838, 16737894, 16750950, 16764006, 16777062, 
10027161, 10040217, 10053273, 10066329, 10079385, 10092441, 	13369497, 13382553, 13395609, 13408665, 13421721, 13434777, 	16711833, 16724889, 16737945, 16751001, 16764057, 16777113, 
10027212, 10040268, 10053324, 10066380, 10079436, 10092492, 	13369548, 13382604, 13395660, 13408716, 13421772, 13434828, 	16711884, 16724940, 16737996, 16751052, 16764108, 16777164, 
10027263, 10040319, 10053375, 10066431, 10079487, 10092543, 	13369599, 13382655, 13395711, 13408767, 13421823, 13434879, 	16711935, 16724991, 16738047, 16751103, 16764159, 16777215

これらを、RRGGBB形式の16進数に直せば、どのように並んでいるか分かるはず。
0x000000, 0x003300, 0x006600, 0x009900, 0x00CC00, 0x00FF00, 	0x330000, 0x333300, 0x336600, 0x339900, 0x33CC00, 0x33FF00,	0x660000, 0x663300, 0x666600, 0x669900, 0x66CC00, 0x66FF00, 
0x000033, 0x003333, 0x006633, 0x009933, 0x00CC33, 0x00FF33, 	0x330033, 0x333333, 0x336633, 0x339933, 0x33CC33, 0x33FF33,	0x660033, 0x663333, 0x666633, 0x669933, 0x66CC33, 0x66FF33,
0x000066, 0x003366, 0x006666, 0x009966, 0x00CC66, 0x00FF66, 	0x330066, 0x333366, 0x336666, 0x339966, 0x33CC66, 0x33FF66,	0x660066, 0x663366, 0x666666, 0x669966, 0x66CC66, 0x66FF66, 
0x000099, 0x003399, 0x006699, 0x009999, 0x00CC99, 0x00FF99, 	0x330099, 0x333399, 0x336699, 0x339999, 0x33CC99, 0x33FF99,	0x660099, 0x663399, 0x666699, 0x669999, 0x66CC99, 0x66FF99, 
0x0000CC, 0x0033CC, 0x0066CC, 0x0099CC, 0x00CCCC, 0x00FFCC, 	0x3300CC, 0x3333CC, 0x3366CC, 0x3399CC, 0x33CCCC, 0x33FFCC,	0x6600CC, 0x6633CC, 0x6666CC, 0x6699CC, 0x66CCCC, 0x66FFCC, 
0x0000FF, 0x0033FF, 0x0066FF, 0x0099FF, 0x00CCFF, 0x00FFFF, 	0x3300FF, 0x3333FF, 0x3366FF, 0x3399FF, 0x33CCFF, 0x33FFFF,	0x6600FF, 0x6633FF, 0x6666FF, 0x6699FF, 0x66CCFF, 0x66FFFF, 

0x990000, 0x993300, 0x996600, 0x999900, 0x99CC00, 0x99FF00, 	0xCC0000, 0xCC3300, 0xCC6600, 0xCC9900, 0xCCCC00, 0xCCFF00,	0xFF0000, 0xFF3300, 0xFF6600, 0xFF9900, 0xFFCC00, 0xFFFF00, 
0x990033, 0x993333, 0x996633, 0x999933, 0x99CC33, 0x99FF33, 	0xCC0033, 0xCC3333, 0xCC6633, 0xCC9933, 0xCCCC33, 0xCCFF33,	0xFF0033, 0xFF3333, 0xFF6633, 0xFF9933, 0xFFCC33, 0xFFFF33,
0x990066, 0x993366, 0x996666, 0x999966, 0x99CC66, 0x99FF66, 	0xCC0066, 0xCC3366, 0xCC6666, 0xCC9966, 0xCCCC66, 0xCCFF66,	0xFF0066, 0xFF3366, 0xFF6666, 0xFF9966, 0xFFCC66, 0xFFFF66, 
0x990099, 0x993399, 0x996699, 0x999999, 0x99CC99, 0x99FF99, 	0xCC0099, 0xCC3399, 0xCC6699, 0xCC9999, 0xCCCC99, 0xCCFF99,	0xFF0099, 0xFF3399, 0xFF6699, 0xFF9999, 0xFFCC99, 0xFFFF99, 
0x9900CC, 0x9933CC, 0x9966CC, 0x9999CC, 0x99CCCC, 0x99FFCC, 	0xCC00CC, 0xCC33CC, 0xCC66CC, 0xCC99CC, 0xCCCCCC, 0xCCFFCC,	0xFF00CC, 0xFF33CC, 0xFF66CC, 0xFF99CC, 0xFFCCCC, 0xFFFFCC, 
0x9900FF, 0x9933FF, 0x9966FF, 0x9999FF, 0x99CCFF, 0x99FFFF, 	0xCC00FF, 0xCC33FF, 0xCC66FF, 0xCC99FF, 0xCCCCFF, 0xCCFFFF,	0xFF00FF, 0xFF33FF, 0xFF66FF, 0xFF99FF, 0xFFCCFF, 0xFFFFFF


これが、1024(=2^10)色だと、13マス*13マス*6マス=1014色が実質上の最大色数ですね。
RGB、それぞれ色要素につき13段階取れるわけですが、1014色を試す前に、
216色を表示するのに、スクリプトで書けないか、検証してみることでは?

AS2.0ですが、「ムービークリップの色を変化させる」が参考になるでしょうか。


----------------
質問する際は、回答者に具体的な情報を与えてください。

ひろゆき
Åê¹ÆNo.45991
投稿日時: 2010-9-30 18:00
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: カラーピッカーの表示色数について
var max:uint = 6;
var unit:uint = 0xFF/(max - 1);
var colors:Array = new Array();

for (var b:uint = 0; b < max; b++) {
	var cb:uint = unit*b;
	for (var r:uint = 0; r < max; r++) {
		var cr:uint = unit*r;
		for (var g:uint = 0; g < max; g++) {
			var cg:uint = unit*g;
			var rgb:uint = cr << 16 | cg << 8 | cb;
			colors.push(rgb);
		}
	}
}

trace(colors);
これじゃダメ。


----------------
質問する際は、回答者に具体的な情報を与えてください。

tamachan55
Åê¹ÆNo.45992
投稿日時: 2010-9-30 18:07
半人前
居住地:
投稿: 44
使用環境:
Win7,Flash CS4,
Re: カラーピッカーの表示色数について
うわ!
今の私のレベルでは難しくて無理ですね。
例えば cp.color = fullcolor; みたいな安易なコードで出来るもんだと思ってました・・・

勉強してまた出直します。
リンク先はかなり詳しいですね。
これから拝見させていただきます。
ひろゆき
Åê¹ÆNo.45993
投稿日時: 2010-9-30 19:02
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: カラーピッカーの表示色数について
import fl.controls.ColorPicker;
import fl.events.ColorPickerEvent;

var max:uint = 6;
var unit:uint = 0xFF/(max - 1);

var colors:Array = new Array();

for (var n:uint = 0; n < 2; n++) {
	for (var b:uint = 0; b < max; b++) {
		var cb:uint = unit*b;
		for (var r:uint = 0; r < 3; r++) {
			var cr:uint = unit*(r%3 + 3*n);
			for (var g:uint = 0; g < max; g++) {
				var cg:uint = unit*g;
				var rgb:uint = cr << 16 | cg << 8 | cb;
				colors.push(rgb);
			}
		}
	}
}

var color:int = 0x000000;

var cp:ColorPicker = new ColorPicker();
cp.addEventListener(ColorPickerEvent.CHANGE, changeHandler);
cp.move(10, 10);
addChild(cp);
cp.colors = colors;
cp.selectedColor = color;

function changeHandler(event:ColorPickerEvent):void {
	var color:uint = event.color;
}
これでいけるはず。


----------------
質問する際は、回答者に具体的な情報を与えてください。

tamachan55
Åê¹ÆNo.46013
投稿日時: 2010-10-5 23:15
半人前
居住地:
投稿: 44
使用環境:
Win7,Flash CS4,
Re: カラーピッカーの表示色数について
せっかく解析してくださったのに
レスをしなくて御免なさい
しなかったというより出来なかったのが実情で、
ビット演算子、16進数等がいまいち理解不能で
実の有るレスができませんでした。今も・・・
野中文雄
Åê¹ÆNo.46014
投稿日時: 2010-10-5 23:25
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: カラーピッカーの表示色数について
Adobeデベロッパーセンター「ActionScript 3.0におけるパフォーマンス向上のヒント」の06「数値の演算」をご参照ください。
引用:
tamachan55さんは書きました:
ビット演算子、16進数等がいまいち理解不能で
実の有るレスができませんでした。今も・・・


----------------
 

tamachan55
Åê¹ÆNo.46020
投稿日時: 2010-10-6 14:02
半人前
居住地:
投稿: 44
使用環境:
Win7,Flash CS4,
Re: カラーピッカーの表示色数について
詳しい参照先ありがとうございます。
かなり難しそうですが、頑張ってみます。
cr << 16 | cg << 8 | cbというコードが鍵だという事は
解るのですが、原理を理解しなければ応用も利かないし
せっかく解析していただいたひろゆきさんのコードも理解できませんから。
野中さんの著作はかなり上級者向けのようで、いつの日か理解できるように勉強したいと思います
割り算と掛算で処理速度が違うなんてASは奥が深そうですね

ここで初心者ということに甘えて、また質問をします
(また見当違いの質問かもしれませんが・・・
ひろゆきさんが提示してくださった216色の16進数リストを拝見すると(0.3.6.9.C.F)で構成されてますが、これに例えば(1.2.4.5.7.8,A,B,D,E)等を組み合わせる事は可能でしょうか?

(1) 2 3 4 5 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops