• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:選択したMCのカラーを変更させる)

選択したMCのカラーを変更させる

このQ&Aのポイント
  • 選択したMCの色を変化させる方法を教えてください
  • 現在、カラーミキサーを使って複数のMCの色を変える方法を模索しています
  • カラーパレットで色を選択すると、選択したMCの色が変わる仕組みを作りたいです

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

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

すごい参考URLですね。 その参考URLを全て理解したわけではありませんが, ここまですばらしい物をサンプルとして提供してくださっているのなら,あとは簡単なものでしょう。  引用:  『ステージに色を変える対象物(ここでは楕円)を配置し、  黒(#000000)に配色する。  これをシンボルに変換、インスタンス名をobjectとする。』 と書いてあるのですから,色を変更するオブジェクト名は object です。 このオブジェクトのインスタンス名を変えれば良いだけのことだと思います。 また,スクリプトの根幹は  _root.onEnterFrame で動作しているわけてすから随時更新ということで,すごくラッキーな状態です。 色を変える対象物である object というインスタンス名は, 空白行を含む 19 行目 ycolor = new Color(_root.object); に登場しているだけです。 ここをとりあえず, ycolor = new Color(_root[_root.obj]); と書きかえます。 そして,色を変えたいオブジェクト(ムービークリップ)に, ---------------------------- on (release) { _root.obj = this._name; } ---------------------------- と書けば, _root の 変数obj に色を変えたいオブジェクト(ムービークリップ)のインスタンス名が代入されますから, そのオブジェクト(ムービークリップ)のインスタンス名が,即 _root の 変数obj に代入され, ycolor = new Color(_root[_root.obj]); が, ycolor = new Color(_root.インスタンス名); となり実行されます。 参考URL「インスタンス名の取得-設定」 http://homepage3.nifty.com/ginga-b/MX/inst_prop_name.html ---注意--- 色を変えたいオブジェクト(ムービークリップ)が複数ある場合,それらには必ず別々ののインスタンス名を付けてください。 また,オブジェクト(ムービークリップ)が _root にない場合は, ycolor = new Color(_root[_root.obj]); のパスを注意してください。 例えば,色を変えたいオブジェクト(ムービークリップ)が,_root にあるわけではなく, 「mov」というインスタンス名のムービークリップ内にある場合は, ycolor = new Color(_root.mov[_root.obj]); となります。 また,念のため, _root の タイムラインの フレームのスクリプトには, var obj = "実際に存在するインスタンス名"; というような感じで,あらかじめ,変数_root.obj に初期値を与えておいた方が良いかもしれません。

blue_february
質問者

お礼

ご丁寧な回答有難うございます。 無事に解決することができました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • [AS2.0]別レイヤー上にある複数のMCを乗算で色変更したい

    [AS2.0]別レイヤー上にある複数のMCを乗算で色変更したい こちらのサイトからFlashをお借りして、mcの色を変更しようと思っています。 http://hakuhin.jp/as/color.html#COLOR_01 ・乗算のみを使って、色を変更したい。 ・別レイヤー上にある複数のMCに、同時に色を反映させたい。 以上のことをやりたいと思っております。 教えていただきたいこと。 ・使わないアルファと加算(aa.value, rb.value, gb.value, bb.value, ab.value)を削除すると、 正常に動かなくなってしまうのは何故か。 ・複数のMCに、一括してASを適応させることは可能か。 色々と検索したのですが、解決法を見付けられませんでした。 あまり詳しくないので、質問が上手く伝わるか心配です。 AS2.0に詳しい方がいらっしゃいましたら、よろしくお願い致します。

    • ベストアンサー
    • Flash
  • painter9のカラー変更について

    painter9のカラーを変更する場所(円の中に三角形があるカラーパレットのことです)の色を変更したいのですが、変え方がわかりません。 私のカラーパレットは背景がアイスミントのような色でになっていて、カラーパレットで選べる色も緑系だけになっています。 カラーセットの色でカラフルな黄色を選んでもそれに対応する緑系の色に置き換えられてしまいます。 よく講座サイトさんで見かけるような白から赤、黒、黄色、青・・・・ などのグラデーションのきれいなパレットに変更したいです。 まったくの初心者なので、やり方がわからず困っています。 よろしくお願いします。

  • サイト上でカラーシミュレーションをしたいのですが

    塗装屋さんのホームページでよく家のイラストや写真などを使用してカラーパレットから色を選択 するとその色に外壁や屋根の色が変化するものを見かけるのですが、私も同じようなページが欲しくて質問をさせていただきました。 ホームページはホームページビルダー17にて作成しています。 カラーシミュレーションのページは多分JAVAもしくはFLASHにて作成するのではないかと思います。 当然私で作成出来るようなレベルではないと思いますので、無料にてJAVAscriptやFLASHなどを提供しているサイトもしくは格安でそのページだけを作成してくれるところをご存じでしたら教えて下さい。 また「私が作成してあげますよ!」という方がいらっしゃいましたらよろしくお願いします。 下記のサイトのような感じです。 http://usui-kenso.co.jp/colorsimulation.html

  • カラーパレットを表示してくれるライブラリを探しています。(dojoを除く)

    カラーパレットを表示してくれるライブラリを探しています。 dojoはファイルサイズが大きいので対象外です。 ボタンを押すと、javascriptによるカラーパレットが出てきて、そこから色を選択すると、テキストフォームに選択した色コードが表示されるようなものを作りたいと思っています。 お願いします。

  • 色が変更された複数のmcを一括で元に戻したいのです

    Flashで地図を作成しています。 階層は下記のとおりです。 _root   ├ clear_but   ├ choice_txt   └ map_mc      ├ acho_mc      ├ bcho_mc      ├ ccho_mc      ├ dcho_mc      └ echo_mc 各町名mcがクリックされた時、クリックされるたびに複数のmcが赤く着色されるよう、下記のような処理をしています。 _global.area[0] = "acho_mc"; area_color_on = new Color(_global.area[0]); area_color_on.setRGB(0xFF0000); これらの各mcに対し、clear_butレイヤーに配置しているclear_butボタンがクリックされたら、すべての町名mcの色を元に戻す処理をしたいと思います。 クリックされた町名が配列変数に格納されるはずなので、for文などで下記の処理をループさせればいいと思ったのですが、うまくいきません。 for(i=0;i<108;i++) { trace(_global.area[i]); area_color_off = new Color(_global.area[i]); area_color_off.setRGB(0xFFFF99); } レイヤーの階層が異なるので、着色の対象となるmc名の記述の仕方が悪いのかと直接、 area_color_off = new Color(_root.map_ccho_mc); area_color_off.setRGB(0xFFFF99); と記述してみるなど、いろいろ試みたのですがうまくいきません。 一括で色を元に戻せる良い方法があればと思うのですが… よろしくお願いします。

    • ベストアンサー
    • Flash
  • カラーパレットを便利にしたい

    ホームページビルダーでスタイルを設定するとき、前景色・背景色で色を取得するのですが、限られた色しか選択できないため、不便です。ユーザー定義で「その他」を選んだときに現れるカラーパレットは16色までしか色を追加できないし・・・困っています。このカラーパレットをWebデザイン用の便利なパレットに変更できないでしょうか?そもそもこのカラーパレットってどこに収納されているんですか?

  • インスタンス名の変更mcどうしのhittest

    お世話になります。Flash,actionscriptの初心者です。 現在actionscript2.0でちょっとしたFlashコンテンツを作っているのですが、解決できない ことがあり、ぜひお知恵を拝借できればと思います。 詳しくは添付図をご覧いただきたいのですが、 A1_mcとB1_mcのムービークリップをhittestで衝突判定させ、 B1_mcは見えないようにし、 A1_mcはgotoAndPlay(2)で2フレーム目にします(☆の絵)。 同時にthis._name="C1_mc"でインスタンス名を変更しました。 (ここまでは大丈夫で、trace(this._name)でも変更が確認できる。) 同じようにA2、B2、C2も設定しました。 そして、姿(○⇒☆)とインスタンス名(A⇒C)と変わった C1_mcとC2_mcをhittestで衝突判定させてD_mc(■)を見えるようにしたいのですが、 何も起きず、hittestが発動していないのではと思ってしまいます。 説明がわかりにくいと思うのですが、インスタンス名を変更した物どうしのhittestを うまく発動させるにはどうしたらよいか、教えていただきたいのです。 にわか知識のためFlashやactionscriptの根本的な問題を理解できてなさそうです・・・。 ちなみに何がやりたいかというと、○と○、○と☆ではお互いに反応しないが、 ○と◇が合体して☆になったもの同士(☆と☆)が接触すると、反応して■が出現する・・・ そんなFlashを作りたいのです。 自分の現状のやり方以外でこれが実現できるのなら、それでも大歓迎です。 長文になりましたが、ぜひともよろしくお願いいたします。 <参考・・自分の組んだAS> A1_mc.onEnterFrame = function() { if (this.hitTest(_root.B1_mc))     { _root.B1_mc.gotoAndPlay(2); //2フレーム目(空のキーフレーム)にとび、B1を消す this.gotoAndPlay(2);  //○⇒☆(2フレーム目)に姿を変える this._name="C1_mc"; //インスタンス名をA1_mcからC1_mcに変える     trace(this._name); //インスタンス名の変更を確認する。 delete this.onEnterFrame;     } else{ } }; A2_mc.onEnterFrame = function() { if (this.hitTest(_root.B2_mc))     { _root.B2_mc.gotoAndPlay(2); //2フレーム目(空のキーフレーム)にとび、B1を消す this.gotoAndPlay(2);  //○⇒☆(2フレーム目)に姿を変える this._name="C2_mc"; //インスタンス名をA2_mcからC2_mcに変える     trace(this._name); //インスタンス名の変更を確認する。 delete this.onEnterFrame;     } else{ } }; C1_mc.onEnterFrame = function() { if (this.hitTest(_root.C2_mc))     {     this.visible = false ; //姿を消す _root.C1_mc.visible = false; _root.D_mc.gotoAndPlay(2); //D_mcの出現(D_mcの1フレーム目は透明で見えなくしている。2フレーム目からアニメーションさせたいのでvisibleは使わない)     delete this.onEnterFrame; }   else{ } };

    • ベストアンサー
    • Flash
  • Fl cs6 as3.0 複数のMCの動かし方。

    はしめまして。 Flash cs6 Actionscript3.0で、動画のコンテンツ(web用)に作ろうと思っているas3.0初心者です。 早速、質問をさせてもらいます。 今、ステージ上にA、B、C3つのムービークリップがあります。 それを、それぞれA_mc、B_mc、C_mcとします。 Aのムービークリップが基本的に、ステージ上にあるようにして そのAの中にあるボタン(Bがステージに入ってくる)をクリックすると Bと入れ替わる。 BとCにはそれぞれ、A、B、Cが移動するボタンがついています。 BにあるC、がステージに入ってくるボタンを押せば、Bと入れ替わりCがステージ上に現れます。もちろんその逆もあります。 B、Cがステージにいないときには必ずAがいることにしたいのです。 B、Cが入れ替わる間もAが B、Cが動いている間はステージにいます。 AとBはステージ上方向への移動。 Cはステージ下方向への移動。 (ステージ上にあるのは、A、B、Cのいずれか一つです) モーショントゥイーンを使えば何となく(ホントに何となく)出来るのですが 使わずにasで作りたいと考えています。 出来れば、動きだしと、動き終わりのスピードなども変えたいと思っています。 アクションの記述を教えていただきたいと思います。 お手数ですが、初心者ですので分かりやすく お願いいたします。 それでは、宜しくお願いします。

  • CreateEmptyMovieClipで作成したMCに枠線を付けたい

    CreateEmptyMovieClipで作成したMCに枠線を付けたい。 Flash MX、AS2.0で、CreateEmptyMovieClipで作成したMCに 赤い枠線を付け、ロールオーバーされた時はオレンジに色を変えたいと思っています。 フィールド内に枠線をASで表示させることはできるのですが、 MCに枠線を付けたい場合の処理がいまいちわかりません。 たとえば CreateEmptyMovieClipで120×120の四角いMCを作成し、 それに赤い枠線をつけるにはどうしたらよいのでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • カラーパレットの色名はVBAで取得できますか?

    ご存じの方がいらしたらご教示お願いします。  http://oshiete1.goo.ne.jp/qa3061670.html を拝見して疑問に思ったことですが、塗りつぶし色のカラーパレットに表示するToolTipの「色名」はVBAで取得可能でしょうか 色だけであれば  ActiveWorkbook.Colors(n) nは0~56 で取得できます。でもパレットの各色にマウスをポイントしたときにポップアップする「色名」はどんなコレクションで取得できるのでしょうか。 またカラーパレットで前回選択した色は「選択された状態」になっていますが、パレットの「この色が選択されている」ということを取得するプロパティもあるのでしょうか。 この質問は「現在選択されている色」は色名(文字列)としてなら  Application.CommandBars("Drawing").Controls(n).TooltipText   ( n は ID=1691 のコントロールのIndex番号 ) で取得できるので、各パレットの「色名」を取得できれば、現在選択されているColorも取得できると考えての質問です