RGB値を変数clrに設定する???

このQ&Aのポイント
  • アクションスクリプトって何?という状況から抜け出せず、参考書とまったく同じことなら出来るだろう、FLAファイルもついているし・・と思ってやってみたけどわからなかった。
  • カラーチップを作ってそこをクリックしてがら画面をなぞるとマウスを追ってお絵かきができるやつを作りたい。
  • ボタンを押した時にボタンの下に置かれているカラーチップのRGB値を変数clrに設定するということは、カラーチップの色情報を変数に取得することを意味する。例えば、黒だったら#000000というRGB値を変数clrに設定することになるのかもしれない。
回答を見る
  • ベストアンサー

RGB値を変数clrに設定する???

お世話になっています。 アクションスクリプトって何?という状況から抜け出せず、とりあえず触ってみようと、参考書とまったく同じことなら出来るだろう、FLAファイルもついているし・・と思ってやってみたのですが、わかりませんでした。 前置きが長くなってすみません・・。 やりたいことは、カラーチップを作ってそこをクリックしてがら画面をなぞるとマウスを追ってお絵かきが できるやつです。 カラーチップにボタンを設定した後なのですが、 見ている参考書に <ボタンを押した時にボタンの下に置かれている カラーチップのRGB値を「clr」に設定します。 とあります。 これはどういうことでしょう・・? たとえば黒だったら#000000ではないということでしょうか・・?

  • Flash
  • 回答数1
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
noname#35109
noname#35109
回答No.1

その参考書を見たわけではないので, 正確にはわかりませんが,clrは書かれてあるとおり変数名でしょう。 変数とは値を入れておく入れ物です。 変数名は勝手に作者が付けるもので,特に意味のない文字列にします。 変数名はスクリプト上,意味がなければ何でも良いのですが, tmp flg など子音で短縮してあると意味もわかりやすくなります。 clr については書かれていませんがその他参考↓。 「Flash での命名術」 http://www.macromedia.com/jp/support/flash/ts/documents/fl0182.html でも,紛らわしいことに,FlashにはCLRファイルというのがあります。 Flashのカラーパレット情報を保存しておくファイルらしいです。 http://www2.odn.ne.jp/~lcarsmania/f-anima_m03.htm でも,これとは関係ないと思います。 例えば黒いボタンをステージ上に用意して(実際の色は何色でも良い), ------------------------------ on (release) { clr = "0x000000"; //または _root.clr = "0x000000"; } ------------------------------ と書けば, クリックしたとき "0x000000" という値が clr という変数に代入されるボタンができます。 そして, 黒色以外,何色でも良いので, 四角の小さなムービークリップを用意し(インスタンス名は不要), そのムービークリップに, ------------------------------ on (release) { myColor = new Color(this); myColor.setRGB(_root.clr); } ------------------------------ と書けば, クリックしたとき _root の clr という変数に代入された値の色が付くムービークリップができます。 ムービー上(SWF)で, clr = "0x000000" と書かれたボタンをクリックした後, この四角で小さなムービークリップをクリックすると,このムービークリップは "0x000000" ,つまり黒になります。 この四角で小さなムービークリップをコピペでたくさん敷き詰めれば, クリックしたムービークリップだけが黒になるので絵が描けます。 また,黒のボタンだけではなく,赤のボタンを作って, ------------------------------ on (release) { clr = "0xFF0000"; //または _root.clr = "0xFF0000"; } ------------------------------ と書いておけば, clr には  "0xFF0000" が代入されるので, ムービー上(SWF)で,このボタンをクリックした後, 四角で小さなムービークリップをクリックすると,このムービークリップは "0xFF0000" ,つまり赤になります。 参考書は違う例が書かれてあると思いますが原理はそういうことです。 スクリプトで変数 clr に任意の値を与えるので,色を与えるボタンの色は何色でも良いです。 ただ,使う人が見てわかりやすいように,同じ色にしておくほうが良いでしょうね。 また,カラーの頭には 0x を付ける約束になっていますので, 黒ボタンには ----------------------------- on (release) { clr = "000000"; //または _root.clr = "000000"; } ----------------------------- ムービークリップには ----------------------------- on (release) { myColor = new Color(this); myColor.setRGB("0x"+_root.clr); } ----------------------------- としても同じ結果になります。 == 注意 ======================================= 上で書いたのは単なる説明のための例で, 四角で小さなムービークリップをもっと小さくして,ステージ全体に置くと, メモリやCPUを使いすぎてハングアップしてしまう恐れが多大にあります。やめておいた方が良いです。 基本は,持たれている参考書の通りにしてください。 あまり,他の方が作られたのを作りかえるのは, あまりよろしくないと思いますが,参考までに以下を書きます。 Flashゲーム講座&ASサンプル集【Flashの描画について】 の http://hakuhin.hp.infoseek.co.jp/main/as/draw.html#DRAW_00 に「直線を引きたい」という項目があります。 「このFlashのサンプル - draw_00_fla6.fla(15kバイト)」 というサンプルをダウンロードして開いてみると, ステージより左上のムービークリップに ---------------------------------- onClipEvent (load) {      // (太さ, 色, アルファ);      _root.lineStyle (1, 0x000000, 100); } onClipEvent (enterFrame) {      // マウスが押されているとき      if (MouseOn == 1) {           // 開始座標           _root.moveTo (fmx, fmy);   ~ 以下省略 ~ ---------------------------------- と書いてあります。 この部分を下のように書き替えて, ---------------------------------- onClipEvent (enterFrame) {      // (太さ, 色, アルファ);      //        ※変更↓      _root.lineStyle (1, _root.clr, 100);      // マウスが押されているとき      if (MouseOn == 1) {           // 開始座標           _root.moveTo (fmx, fmy);   ~ 以下省略 ~ ---------------------------------- ステージ上に新規で以下のように書いた,赤のボタンを作って, ------------------------------ on (release) { clr = "0xFF0000"; //または _root.clr = "0xFF0000"; } ------------------------------ 赤のボタンをクリックした後線を描くと,赤い線が引けます。 「RGB値を変数clrに設定する」 とは,以上のようなことです。

kobahikaru
質問者

お礼

いつもお世話になっています!! わかりやすい説明ありがとうございました! 任意の記号なんですね。 とりあえず、一色はできました!! よくわからないけど出来たという状況ですが アクションスクリプトをこれから学ぶ とっかかりができたような気がします。 教えて頂いたサイトをじっくりやってみます。 sassakunさんは私のFLASHの師匠ですね!! ありがとうございました。

関連するQ&A

  • 変数で外部のswfファイルを読み込む…

    今、オールFLASHのサイトを作っていて、メニューバーをアクションスクリプトで下から上にスライドするように作ってます。 メニューhome.flaファイルの中のmenu_back_mcというムービークリップに作ってあります。その中のスクリプトは sliderという、タイムラインの中にslide_mcというムービークリップを作っててます。 参考書を参考に作ったのですが現時点では、slide_mcの中にbtnとpicに分けて、 btn部分にスクリプトを書いてduplicateMovieClipで複製するようになっていて、メニューをクリックすると、getURLで飛ぶように設定されてます。 この部分をhome.flaファイル内にscreen_mcに外部swfを変数で読み込ませて、各コンテンツに飛ぶように設定したいのですが、どういうふうに変えたらいいかわかりますか…? 因みに環境はFLASH MX 2004、OSはXPです。 宜しくお願いします。 必要であれば、スクリプトを載せます。宜しくお願いします。

  • Flashでボタンをつくっているのですが、actionscriptをつ

    Flashでボタンをつくっているのですが、actionscriptをつかってボタンをクリックさせたいのですが、アクションパネルのところに「現在の選択範囲にアクションを割り当てることはできません。」と表示されてしまいます。 参考書に附属されているflaをみたところ、Actionscript1.0、2.0となっているのですが、作成しているのはActionscript3.0で作っています。 ====== on (release) { /*↑ボタンが押されて離されたら*/ _parent.gotoAndPlay("about"); /*↑「about」ラベルへ移動*/ } ====== このようなscriptをいれたいのですが、うまくいきません。 ムービークリップでボタンを作るまではできました。その後、何かが抜けているのかして上記のようなエラーがでます。 flash初心者のため、どういう風に書いて質問させていただいたらよいのかわからないのですが、参考flaと見比べたときに「シンボル定義」のなかにあるムービークリップがひとつたりませんでした。(このムービークリップは「navigation」というものですのでそれがありません。) 質問するにはあまりにも情報が少ないかもわかりませんが、何卒ご教授いただけると大変助かります。 宜しくお願い致します。

    • ベストアンサー
    • Flash
  • FLASH5で以下のようなことをする場合に。

    [1]~[17][18][19][20][21][22][23][24][25][26][27][28][29][30] B     ●a A   ● 上記のようなflaファイルがあります。 AはボタンでBはムービーです。 Aのボタンには以下のようなアクションスクリプトが設定されています。 -------------------- on(rollOut){ this.gotoAndPlay(18); } -------------------- Bの18フレームには以下のようなアクションスクリプトが設定されています。 -------------------- this.stop(); -------------------- Aのボタンの1度目のロールオーバーはきちんと意図した通りに動くのですが、 連続で2回やった時に意図した動きになりません。 時間を置いて再びやったり、違うボタンを触ってからやればきちんと動きます。 連続で2回やってもきちんと意図した通りの動きをさせるためにはどのようにすればいいのでしょうか?

  • リンゲージの設定

    こんにちは。 リンゲージの設定の仕方について教えてください。 設定したいシンボルを選択し、「ActionScriptに書き出し」と「最初のフレームに書き出し」にチェックを入れたあと、アクションスクリプトは何を選択した状態で、どの階層で設定すればよいのか教えて下さい! 現在作っているのはムービークリップの絵があり、それをリンゲージで複数つくり、ステージ上でマウスに反応し動くものを作っています。スクリプト初心者です。宜しくお願い致します。

    • ベストアンサー
    • Flash
  • モニタの設定について

    MITSUBISHIの液晶モニタをMacOSXで使用しています。 RDT196Sだったと思います(今手元になく…すみません) このモニタの画面の色を正しい色彩にしたいのですが どうも上手くいきません。 今まで使っていた設定は個人的には良い感じだと思っていましたが 別のモニタで見た時に自分は黒だと思っていた物が 黒ではなく若干赤みがかっていて、本当に黒色の上に その黒が乗ると違いが一目瞭然でした。 (赤っぽくなった黒の色の設定はCMYK100%の黒色→jpgに保存(RGB)でした。 下地はwebカラーの黒です) 自分は絵を書くので、この色の差が許せなく なるべく黒の違いが分かる様な設定にしてみたつもりですが なんとなく全体が薄いというか、明るいというか…。 黒の差も最初よりは分かる様になりましたが微妙です。 Mac用のカラープロファイルもダウンロードして その後モニタ自体の調整をしたりしましたが 正解が分からないのでなんともいえません。 キャリブレーターとかいうのがあるらしいのですが やっぱりそういう物を買わないと正しい色の設定は 難しいのでしょうか?

  • 色を定数にしたいのですが

    お世話になります。VB2005での質問です。 画面のコントロールのバックカラーをコードで変更しようと思っています。 そこで、そのたびごとにRGBの数字を入力するのは面倒なので 定数に入れておきたいのですが、その方法がわかりません。 VB6.0のときは、 Public Const CLR_YELLOW = "&H00C0FFFF" とモジュールに設定しておき 画面では TextBox1.BackColor = CLR_YELLOW で色を設定することができました。 上記のコードをVB2005にアップグレードしてみましたが、ますます複雑になってしまいました。 TextBox1.BackColor = System.Drawing.ColorTranslator.FromOle(CInt(CLR_YELLOW)) 現在はよくわからないので、いちいち下記のように書いています。 TextBox1.BackColor = Color.FromArgb(255, 255, 192) 「Color.FromArgb(255, 255, 192)」の部分を定数に設定するには どうしたらよろしいでしょうか。 よろしくお願いいたします。

  • 更新するたびに画像が変わるFLASH

    こんばんは。 4つのムービーを作っておいて、ページの更新ボタンを押すたびにムービーが変更されるアクションを作りたいのですが、どのようにすればよいのかサッパリわからず困っています。何か参考になるflaファイルがあれば教えて欲しいです。 flashkitのサイトで検索してみたんですが、うまくキーワードが入れれず、参考のものが見つかりません。

    • ベストアンサー
    • Flash
  • 設定をいじってしまい色調がおかしい

    掃除のため電源をいれたまま、ディスプレイを少し移動させる際に設定ボタンに触ってしまい、画面全体が少し赤みがかっておかしな色調になってしまいました。メーカーはMaxstar Corp(?)製のA170E1-08で、リセットボタンにあたるようなものは見当たらず、説明書や箱は処分してしまいました。 色に関する項目は明るさ、コントラストとRGBのみのようで、触ってしまった直後はRGBがそれぞれ50、明るさとコントラストは焦って色々いじってしまったため不明です。明るさとコントラストに原因があると思い、0~100までの設定値の中で5刻みごとに全ての組み合わせを試しても、自然な色合いになりませんでした。 また、NVIDIAコントロールパネルのカラー設定の項目からいじってみたりしたのですが、変化はありませんでした。 メーカーの日本向けサイトも見当たりませんし、こういった場合はどうすればいいのでしょうか?

  • マウスを乗せるとランダムに画像が舞い上がる

    ある画像(たとえば★とします)にマウスを乗せると しゃぼんだまを飛ばしたようにランダムにある画像(★)から舞い上がると言うような物を作りたいと思っています。 マウスをはずすと舞い上がるものも消える(止まる)ようにしたいです。 ボタンのオーバーフレームにムービーを作ってみたのですが、動きがぎこちなく納得がいきません。 アクションスクリプトを使うとできるのかなと思いましたがボタンアクションかムービークリップアクションにすればよいのか分かりません。 このときにできればマウスポインターが指の形に変化しないようにしたいとも思っています。 よろしくお願いします。

  • オブジェクトアクションの設定について

    FlashMXでバナーを作成する際、オブジェクトアクションの指定があり、ヘルプを読んで設定しましたが、初心者なものでわからない点が多々ありました。初歩的な質問ばかりですみませんが・・・わかる方教えてください。 Q1.オブジェクトアクションは、インスタンスごとに設定するとあったので下記のように行ったのですが・・・ (1)シンボルを配置したフレームをクリックして、 (2)インスタンスをクリックして、 (3)プロパティでグラフィック(作成したのはすべてグラフィックシンボルでした)をボタンに変更して、 (4)アクションパネルにスクリプトを記入する。 これを全フレーム内のインスタンスすべてに 繰り返す、というのでよかったのでしょうか? 長いフラッシュだと大変な作業ですし、もしかしたら間違っているのではと思っています。。 Q2.グラフィックシンボルなのに、ボタンに変更しないとスクリプトが書き込めないのはなぜですか。 Q3.ボタンにはインスタンス名を書き込む欄が出てきますが、これはどんな役割があるのでしょうか。 Q4.スクリプトは、 on (release) { getURL(_root.clickTAG, _root.targetTAG);} という内容ですが、これの正確な意味を教えてください。

    • ベストアンサー
    • Flash