ログイン
メインメニュー
|
投稿者 |
スレッド |
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)等を組み合わせる事は可能でしょうか?
|
|
|
|
|