これは RuntimeRevolution 1.1.1 のヘルプにある文書を邦訳したものです。この文書の文責はUDIにあり、またUDIはこの文書についての一切の債務を負いません。 間違いがありましたら eudio@chabashira.co.jp までお知らせ下さい。この文書は必要と思われる時に適宜アップデートされます。

Help -> Revolution Documantation -> Development Guide -> Appearance & Positioning -> About... colors and color specifications


About colors and color specifications
カラーと、カラー指定
==============

参照:
--------------
Color Names Reference, Object menu > Colors and Patterns, Text menu > Color, accentColor property, backgroundColor property, borderColor property, bottomColor property, colorNames function, effective keyword, focusColor property, foregroundColor property, hiliteColor property, shadowColor property, topColor property


 Revolution の各オブジェクトには8つのカラープロパティがある。各プロパティはそれぞれのオブジェクトタイプで違った働きをする。これら個々のカラープロパティは、数値や名前で設定することが出来る。

 このトピックでは、Revolution のカラーモデル、オブジェクトの各部のカラー効果、そしてその設定方法について考える。

 このトピックを理解するには、オブジェクトの作り方、簡単なスクリプトの作り方、そしてオブジェクト階層について知っている必要がある。もし 'Getting Started' チュートリアルが済んでいるなら、このトピックを読むための情報は得ている。


Contents:
The Eight Colors of an Object
Color Inheritance
Specifying a Color by Name
Specifying a Color as a Numeric Triplet
Specifying a Color as an HTML Color Spec
Other Ways of Specifying Colors


The Eight Colors of an Object
オブジェクトの8つのカラー
 Revolution の各オブジェクトには8つのカラー「スロット」がある。これら8つのプロパティは、オブジェクトの各部位のカラーを決定する:

foregroundColor: オブジェクトのテキストカラー
backgroundColor: オブジェクトの塗りつぶしカラー
borderColor: threeD プロパティが false の時のオブジェクトの枠のカラー
topColor: 3Dオブジェクトの上端カラー
bottomColor: 3Dオブジェクトの下端カラー
shadowColor: オブジェクトのシャドーカラー
hiliteColor: オブジェクトのハイライトカラーと、選択テキストのカラー
focusColor: フォーカス時のアウトラインカラー( Unix と Windows システムのみ。プレビュー時を除く)

 カラープロパティを使って、これら8つのカラーを個々に見たり設定したりすることが出来る。

 各オブジェクトで利用できるカラープロパティは8つと決まっているので、いくつかのプロパティは二重の意味を持っている。例えばスクロールフィールドの backgroundColor プロパティは、テキストのバックグラウンドカラーと、スクロールバーにあるアローボックスのカラーを決定する。

 (オブジェクトごとの各カラープロパティの詳細については、各カラーの Transcript Dictionary を参照のこと)

 また各オブジェクトは、8つのカラープロパティに対応した8つのパターンプロパティを持っている。オブジェクトのパターンプロパティを設定すると、対応するカラープロパティは再設定するまで効果を失う。カラープロパティとパターンプロパティはどちらも使うことが出来るが、両方を同時に使うことは出来ない。


Color Inheritance
カラーの継承
 オブジェクトのカラープロパティは、オブジェクト階層上位にあるオブジェクトの設定を継承する。グループ化されたオブジェクトはそのグループから、カードにあるコントロールはカードから、カードはスタックから、そしてサブスタックはそのメインスタックからプロパティを継承する。

 例えばフィールドの backgroundColor が設定されていなければ、そのオーナーであるカードのバックグラウンドカラーが適用される。もしカードの backgroundColor も設定されていなければ、スタックの backgroundColor が使われる。これはスタックの backgroundColor を設定するだけで、全てのオブジェクトの設定を変えることが出来ることを意味する。

 あるオブジェクトのカラープロパティが未設定である時、そのプロパティの値は empty である。例えばカードの shadowColor が empty ならば、スタックの shadowColor を継承する。もしオブジェクトのカラープロパティが empty でないなら、上位のオブジェクト階層から継承するであろう値を上書きすることになる。

The effective keyword:
effective キーワード:
 実際にオブジェクトが使っているカラー(他のオブジェクトから継承している値も含む)を得るには、effective キーワードを使いなさい。このキーワードを使うと、カラープロパティが empty であっても、実際に使われているカラーの値を得ることが出来る。

 例えば下の文は、フィールド自身のカラープロパティであるか、そのオーナーのプロパティであるかに関わらず、必要ならオブジェクト階層を辿って、フィールドの backgroundColor を探し当てる。

  get the effective backgroundColor of field "My Field"
The hiliteColor property:
hiliteColor プロパティ:
 カラープロパティ継承ルールの中で、hiliteColor プロパティは例外である。 hiliteColor プロパティにはグローバルプロパティとオブジェクトプロパティがある。あるオブジェクトの hiliteColor プロパティが empty だった場合、オブジェクト階層上位の設定が継承されるのではなく、グローバルの hiliteColor 設定が使われる。


Specifying a Color by Name
名前によるカラー指定
 Transcript では、カラープロパティを使う場所に、標準的なカラー名のセットを用いることが出来る。このウィンドウの上部にある See Also メニューの Color Names Reference を使えば、これらのカラー名と同等の RGB 指定、HTML 指定の値を見ることが出来る。

 ハンドラ内で colorNames 関数を使えば、利用可能なカラー名のリストを得ることが出来る。


Specifying a Color as a Numeric Triplet
RGB によるカラー指定
 コンピュータのディスプレイモニタのカラーは赤、緑、青(RGB)の三原色によって成り立っているので、これらを数値で指定して色を決定することが出来る。この指定方法は numeric triplet と呼ばれる。(訳注:この日本語訳では RGB 指定と呼びます)

 各数値はゼロ(色なし)から 255 (その色の最大値)までの整数で指定しなければならない。各値はカンマで区切られる。

 それぞれの値は RGB の三原色であるので、3つの値が同じ場合はグレイになる。例えば '127,127,127' は普通のグレイ、'64,64,64' は暗いグレイ、そして '196,196,196' は明るいグレイである。

 3つの値がゼロなら黒を表す。3つの値が最大の 255 なら、それは白を表す。

 純粋な赤を指定するには、緑を表す2番目と、青を表す3番目の値をゼロにする。赤を表す1番目の値が大きいほど、明るい赤になる。 '255,0,0' は最も明るい赤であり、'150,0,0' は暗い赤の指定である。同様にして、純粋な緑や青を指定するには、それぞれ他の2つの値をゼロにする。二次色を指定するには、3つの値のうち1つをゼロにする。 '255,255,0' は明るい黄色、'255,0,255' は明るいマゼンタ、そして '0,255,255' は明るいシアン(青緑)である。

 三原色のひとつを独立して設定できるため、RGB によるカラー指定では非常に微妙な色を使うことが出来る。例えば数値を増やせば明るい色になるし、減らせば暗い色になる。3つの数値のうち1つか2つをゼロにすれば鮮明な色になるし、3つの数値を近いものにすれば濁った色になる。3つを完全に同じにすると、グレイになる。


Specifying a Color as an HTML Color Spec
HTMLの仕様によるカラー指定
 HTML カラー指定は RGB 指定に良く似ている。3つの各値は赤、緑、青を表す。

 しかし HTML カラー指定では、それぞれの値は10進数ではなく、2桁の16進数で表される。またカンマなどで区切らず、頭にはハッシュマーク(#)を付ける。

 例えば RGB の '0,0,0' (カラー名 black )は '#000000' と表され、'255,0,0' と '#FF0000' は同じ色を表す。

 注意! どのカラー指定でも値をダブルクォートで囲うことを推奨するが、特に HTML のカラー指定では重要である。何故なら、# はコメントアウトの記号としても使われる。 Revolution は # 以降を文末まで無視するので、恐らくスクリプトエラーを起こすだろう。


Other Ways of Specifying Colors
カラーを指定する他の方法
 どのカラー指定も交互に交換可能である。例えばカラー名 'white'は RGB では '255,255,255' であり、HTML カラーでは'#FFFFFF' である。これらは全て同じ色を指している。

 特定の文字列が Transcript のカラー名として使えるかどうかは、is a オペレータを使って調べることが出来る。(訳注:例えば "red" is a color は true を返す)

 mouseColor 関数はマウスポインタの位置のカラーを RGB で返す。スクリーン上の一点のカラーを得るには、メッセージボックスに以下の文を入力する:
  the mouseColor
 それから色を調べたい場所にマウスポインタを移動して、Return キーを押す。

邦訳/文責:UDI
2002.12.30
2003.01.02

inserted by FC2 system