• ベストアンサー

フレームアクションで色の変更をする(Suzuka)

フレームアクションで色の変更をする(Suzuka) 現在suzuka(swf6)で携帯用にflashを作っています。 文字がキーフレームごとに違ったものが表示され、色もそれと同じようにキーフレームごとに変わる、みたいなのを作りたいと思っているのですが、フレームアクションから{文字}の色の変更をすることは出来ますか? setRGBとか怪しいのを見つけましたが貼りつけてみると実行されなくてなんだかもうよく分かりません。 どうかよろしくお願いいたします。

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

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

setRGB は インスタンス自体(全体)を まっ赤にする とか 真っ黒で塗りつぶす というものです。 ですからまず除外です。 テキストフィールド のテキスト(文字)の色を指定する場合は TextFormatクラス を使うか タグ付きHTML を使うかになると思いますが, TextFormat はややこしいですしあまり使い勝手がよろしくないので タグ付きHTML で色を指示するのが良いのではないかと思います。 まず シンボルリストのテキストフィールドはダイナミックテキストとして用意します。 そのとき フォントは「埋め込みテキスト」を使用しない場合(普通は使用しない), フォント名は前にアンダースコアの付いたデバイスフォントにします。 例:「_ゴシック」「_等幅」「_明朝」など また「HTML」にチェックを入れておきます。 ※下の図↓ そのテキストをレイヤーに配置し レイヤー名の部分をダブルクリックして 「レイヤーのプロパティ」パネルよりインスタンス名を付けます。 ここでは 「my_txt」というインスタンス名を付けたとしておきます。 例えばフレーム1には次のように書きます↓。 //「my_txt」の htmlText プロパティに文字列を代入 my_txt.htmlText = "<font color='#ff0000'>赤です</font>"; また例えば フレーム20をキーフレームにして、そこには次のように書きます↓。 my_txt.htmlText = "<font color='#0000ff'>青です</font>"; また例えば フレーム40をキーフレームにして、そこには次のように書きます↓。 my_txt.htmlText = "<font color='#00ff00'>緑</font><font color='#ffff00'>黄</font>"; テキストフィールドの設定さえしておけば スクリプトは、それぞれたった1行でできます。 最後の 緑 黄 ように文字ごと色を変えることもできます。 Suzuka 基礎・基本 htmlText(テキストをHTMLとしてレンダリング) http://suzupara.iinaa.net/kiso231.html

miroty
質問者

お礼

試してみたらできました。ありがとうございます。

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

関連するQ&A

  • 「Suzuka」のアクションスクリプト

    フリーのFlash作成ソフト、「Suzuka」を使用してFlashをつくっているのですが、アクションスクリプトの命令の言語がさっぱりわかりません。 スクリプト(クリックアクション)となっている所に、スクリプト編集があるのですが、もともと、アクションスクリプトの知識は皆無で、手も足も出ません。 今回は、Flashでテキストだけの物語を作ろうとしているので、 せめて、 「クリックして、次のテキストを表示する」 ことをやりたいのです。 これは、テキストエフェクトでは出来ませんでした。 やりかたがわかる人はどうか、教えてください。 よろしくお願いします。

  • フレームレートの変更

    Flash初心者です。 キーフレームを複数利用してぱらぱら漫画のような アニメーションを作成しました。 ボタンを用意してクリックすると移動スピードを変更したいのですがアクションスクリプトでフレームレートの変更は可能でしょうか? stop();でボタンクリックでストップさせることはできました。 ご存知の方いらっしゃいましたらよろしくお願いします。

    • ベストアンサー
    • Flash
  • suzukaで携帯向けフラッシュを作成できますか?

    suzukaで携帯向けフラッシュを作成できますか? お金を使わずに作りたいのでFlash作成にsuzukaを使っています。 どこかでswfバージョンを4にすれば携帯でも見られるようなことを聞いたことがあるのですが、見られませんでした。 携帯は制限もあるようですのでその制限なども教えて下さるとうれしいです。 簡単なActionScriptを使ったようなPC向けflashが作れるレベルです。 みられなかったswf4のファイルは↓のファイルです。 使用したファイルはベクタファイル一つとテキストです。 http://www.biwa.ne.jp/~takumi-k/other_test/keitai.swf また、そのswfファイルのもとのCSFファイルは↓です。 http://www.biwa.ne.jp/~takumi-k/other_test/keitai.csf ちなみに試した携帯の機種はN703iμです。

  • Suzuka にて テキストを50フレーム表示するには

    フラッシュ初心者です。FlashソフトSuzukaを使い始めました。 練習で脱出ゲームを作っています。 対象物をクリックした時に、テキストでコメントを30フレーム表示させたいです。 例えば ボタンとしてタイムラインに設置した『カレンダーの画像』を、 クリックするたびに、”今は1月だ”と50フレーム表示させたいです。 今やっている方法ではボタンを押した瞬間1フレームだけコメントが表示されてスグに消えてしまいます。 今やっている方法は以下の通りです。 ------------------------------------------- ボタン 通常時:カレンダーの画像 押下時:スプライト01 マウス通過:カレンダーの画像 スプライト01 カレンダーの画像 50フレーム 表示させたいコメント 50フレーム ------------------------------------------- どうやったら 50フレームコメントを表示させておけるのでしょうか? また、ボタンとして以外の方法じゃないとダメなのでしょうか? ご教示宜しくお願いいたします。

    • ベストアンサー
    • Flash
  • SuzukaのAction Scriptについて

    SuzukaでのAction Scriptについて質問があります。 スプライト(インスタンス名:c_sprite)の中にテキスト(変数名、インスタンス名:c_text)を配置して、 _rootより、Action Scriptによってこのテキストの色を変更しようとしました。 しかしながら、色が変わりません。 当該部分のプログラムは以下のとおりです。 var c_text_tf = new TextFormat(); c_text_tf.color = 0x0000FF; _root.c_sprite.c_text.setNewTextFormat(c_text_tf); _root.c_sprite.c_text = "■"; テキストは次のように設定しています。 ・自動サイズ、ダイナミックテキストにチェック ・それ以外(テキスト入力、HTMLなど)はチェックなし ・文字は「■」を埋め込み ・初期テキストなし どのようにすれば改善できるでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • flashでflvを読み込んでフレーム毎に別けるには?

    flash MX pro 2004 なのですが ファイル>読み込み>ステージへ読み込みから flvファイルを読み込んだ場合 (例えば100フレームあったとして) 1-100までの1つの長いオブジェクトのようなものになります。 以前の私の認識では「swfファイル」を読み込めば 1から100まで一つ一つのオブジェクトになっていたので 当然flvもそうなると思っていたのですができないようですので、キーフレイム挿入すりゃいいんだと思ってやったのですが・・なんとそこからまたflvの最初から100フレームの物ができるのですね・・ また、「swfだったら読み込める」と思って 1 flvを読み込む 2 swfで書き出す 3 その書き出したswfを読み込む のですが、100フレームまで、一つ一つできるのですが 今度は全フレーム空白のキーフレームで意味がありません。 flvは「タイムテーブル」という独自の時間理論であり flashのフレームとは時間の概念が違うというところまではわかったのですが、 実際どうにかしたらフレーム毎にキーフレイムを作ることができると思うのですが、できないのでしょうか? ご存知な方いらっしゃいませんか? たいした映像ではないので きっちり時間にあわしたいというのはないです。 途中途中に説明文を入れたいだけなのですが、 なんとも上手くいかないのです。 どなたかご存知の方いないでしょうか?

  • Flashのアクションスクリプトについて質問があります。

    Flashのアクションスクリプトについて質問があります。  FlashのCS2を使って選択式クイズを作っています。タイトルや問題などのフレームにはラベルを付けて、ラベルレイヤーのキーフレームにスタートや選択肢のボタンを配置しました。そして、タイトルラベルにあるスタートボタンを押すと問題1に飛ぶようにアクションスクリプトを設定しました。その後、きちんと設定出来ているか再生して確認してみたところ、問題1から再生されて、タイトルから再生されなくなりました。何回かやり直してみたのですが、タイトルから再生されませんでした。アクションスクリプトの設定は、「タイトルラベルのキーフレームをクリック→スタートボタンが選択されていることを確認→F9を押してアクションスクリプトの設定画面を表示→スクリプトアシストをオンにする→グローバル関数の中にあるgotoをダブルクリック→移動して再生を停止をオンにする→タイプをフレームラベルに変更→フレームのメニューをクリックして問題1を選ぶ」というふうにしました。 なぜ、タイトルからではなくスタートボタンを押さないと表示されない問題1が表示されたのかわかりません。どこで設定を間違えているのか分からないので、わかる方がいらっしゃたら教えていただきたいと思います。お願いします。

  • フリーソフトsuzukaで作ったFlashがブラウザで表示されない

    フリーソフトsuzukaでswfファイルを作ったのですが,そのswfファイルをホームページに載せてFTPサーバにアップしたところFlashの部分がいつまでも表示されません。ブラウザの下の方にデータを読み込んでいるようなバーが出ていますが、いつまでも終わりません。 アップするまでで何か間違えたのでしょうか。お教え下さい。 ちなみにSuzukaで作ったFlashはSuzukaのメインメニュー[ツール][オプション][パブリッシュ設定][HTMLファイルも保存する]にチェックしてhtmlに貼り付けてあるものをアップしました。

  • suzuka テキストの繰り返しをなくしたい

    いつもお世話になっています。 以前こちらでsuzukaを使って1枚の画像に文字を1つづつ表示させる方法を教えていただきました。 例えば「おはよう」という文字を1文字づつ出したい時 Suzuka を起動させて, シンボルリスト に 「おはよう」 と書いたテキストを用意します。 その「おはよう」をレイヤーに追加します。 そのレイヤーに追加した 「おはよう」 を選択した状態で, 右のテキストのプロパティパネルで右下の方,  □エフェクト にチェックを入れ,「編集」ボタンをクリックします。 「エフェクト編集」パネルの  ○登場 にチェックを入れ,その右の,  [          ▼] となっている部分で,「[SWF6]フェードイン」 を選択します。 □1文字毎 にチェックを入れ, その他は適当に, 間隔:[  10]  [左から▼] として, プレビューフレーム数 を 50 くらいにして, 右の 「プレビュー」 ボタンで動作確認してみます。 間隔:[  10] の部分にちゃんと数字が入れてあれば, 左から徐々に お は よ う が出てくるはずです。 一応の動作確認ができたら,「OK」で「エフェクト編集」パネルを閉じます。 「おはよう」レイヤーのフレーム1 を選択, 右クリック→コピー 「おはよう」レイヤーのフレーム50 を選択, 右クリック→貼り付け でフレーム50にも同じ「おはよう」を貼り付けます。 フレーム1 を選択して,右のパネルで,  □トゥイーン にチェックを入れます。 これでフレーム1~フレーム50で1文字ずつだんだん現れる 「おはよう」 ができます。 上記の方法を教えてもらい出来ました。 ちゃんと1文字づつ表示されるのですが、文字が全部現れた後 またくりかえします。 「おはよう」の「う」で終わり繰り返さない方法は どのようにすればいいのでしょうか? よろしくお願いします。

  • suzukaでフレームあたりのActionscriptの量の限界は?

    いつもありがとうございます。 Suzuka・Flash初心者ですがよろしくお願いします。 Suzukaでルートのフレームアクションに2フレーム(コマ) あるものを現在弄っているのですが、 1フレーム目にStopがあり、そして下の方に ――――――――――――――――― // 更新データロード時の動作定義 myXML.onLoad = function() { // 次のフレームへ _root.nextFrame(); }; ――――――――――――――――― というのがあり、これで次の(メイン)フレームに行くんだなぁ、 と理解できるのですが、 この1フレームに他の機能や定義を書きすぎてしまい、 特にIf文が100個以上あって、"構文エラー"は出ないものの、 動作が不審?になってきました。 これはフレームあたりに書く量が多く、処理が重くなっているのでしょうか? {}や()の量が多くて、見栄えも悪く、別のフレームに移した所、 エラーになってしまいました。メインの2フレーム目を3フレーム目に 移してもエラーにならなかったのですが、重い1フレーム目を分解して 2フレーム目に挿入した所、急に動かなくなりました。 Suzukaがフレーム順に動いていると理解しているのですが、定義や 変数の扱いは必要になる箇所までなら、何フレーム目で行っても 一緒なのですよね?それとも私のIf文や定義文が間違って、エラーが 出ているのかも、良く判りません。。一応何をどういう風に移動したのか、書きます。 (1)stop(); (2)変数の処理 (3)―――言語処理―― var sprach = System.capabilities.language ; if(sprach="cs"||"pl"||"ru"||"tr"){ sprach = "en" ; } if (System.capabilities.hasIME) { var sprach = "ja" ;} if (sprach="es"){ ・・・・ }    *この部分が挙動不審 else if (sprach="it"){・・・・ }  *先頭にくるif文が else if (sprach="de"){・・・・ }  *変数sprachの中に勝手に else if (sprach="en"){・・・・ }  *代入される。この例は"es"。 else if (sprach="ja"){・・・・ }  *先頭を入れ替えると値も変わる。 else {・・・・} *上手くsprachが働いていないのかも・・・。 (4)―――言語処理のユーザー関数―― function converterIT(num) {・・・・ return XXX;} function converterDE(num) {・・・・ return XXX;} (5)残りの命令。 (4)だけで130行、残りの項目(1)(2)(3)(5)は250行あって、・・・等の 大部分がIF文で占められており、{}や()の数は間違えていないのの、 (3)の部分で挙動不審となり、他のフレームへ移せないのかな?と 思っています。(4)のユーザー関数は”定義”ですよね?これは切り離して 独立して1フレーム目に持ってきても良いものなのでしょうか? (3)も切り離してメインフレーム(元の2フレーム目)との間に挿入する事 はできるのでしょうか?したのですが、画面が真っ白になります。 SuzukaやFlashでの変数や定義はどこに書いても基本的に同じですよね? 上記のmyXML.onLoadの命令はロード完了前にメインフレームに行かない為の 配慮なんですよね?格フレームに一々Stop();を書く必要はありませんよね? としたら通過(する)したフレームに書かれた変数や関数の定義はFlashは絶対に 見落とさずに実行しているハズなんですよね?

    • ベストアンサー
    • Flash