• ベストアンサー

スクリプトで数字を操作

例えば、プリロード時に進行状況がパーセントで表示されるように 数字が0から100へと徐々に上がって行くようなアクションを 任意の範囲内(秒数やフレーム数)で表現できればと考えています。 ご存知の方おられましたら、ご返答いただけると幸いです。 ※Flashは8Proを使用しております。

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

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

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

ちょっと(けっこう)誤差が大きいですが, 次のような感じではいかがでしょうか? 任意の階層,任意のフレームに書くスクリプト↓ //////////////////////////////////////////////////////////////// // ---↓手動で作成する場合は以下不要↓--- // この階層にインスタンス名 my_txt のテキストフィールドを作成 var mt:TextField = this.createTextField("my_txt", 0, 10, 20, 50, 22); // my_txt のボーダーを表示させておく mt.border = true; // ---↑手動で作成する場合は以上不要↑--- // 任意の秒数を設定 var byou = 8; // カウント用の変数 cnt の初期化 var cnt:Number = 0; // my_txt に cnt の値を表示 my_txt.text = cnt; // 関数 countUp を byou*1000/100 ミリ秒 ごとに実行 var intID:Number = setInterval(countUp, byou*1000/100); // カウントアップする関数の定義 function countUp():Void { // cnt に 1 を加算 cnt++; // my_txt に cnt の値を表示 my_txt.text = cnt; // もし cnt の値が 100 になれば if (cnt == 100) { // setInterval をクリア clearInterval(intID); } // 即 表示を更新 updateAfterEvent(); } //////////////////////////////////////////////////////////////// setInterval や setTimeout は, 「適当に ○秒間隔で 0→100 をカウント」 という感じで使うには問題ありませんが, 「任意の秒数で 0→100 をカウント」 という感じでシビアに使う場合は誤差が目立ってしまいます。 onEnterFrame などを使うと, 1フレーム進むごとに, 例えばカウントを2つアップするようなことができませんし。 誤差は出ますがなんとかそこは補正していただくなどして, setInterval を使うのが妥当ではないかと思います。

Alan036
質問者

お礼

ご丁寧な解説、ありがとうございます。 これから色々と検証してみます♪

関連するQ&A

  • アクションスクリプトでボタンを押すたびに足し算

    Flash CS5上でボタンを押す毎に、設定した数を足していくフラッシュを作りたいのですが うまく動作してくれません。 予めボタンに数字を設定して(例えば100)それをクリックすると テキストフィールドに加算されていく。というものにしたいのですが… 1回クリックで100、2回目で200、…という感じです。 表面上ではボタンと現在の数字だけがあるだけのシンプルなものです。 どのようなアクションスクリプトを記述すれば良いのでしょうか。 詳しい方、教えていただけませんでしょうか? よろしくお願い致します。

  • 5フレーム目で3秒止めて7フレーム目に移動。

    5フレーム目で3秒止めて10フレーム目に移動というようなフラッシュを作りたいと思っています。 フレーム数を増やすのではなく、 アクションスクリプトを使ってできないでしょうか。 既にアニメーションを作ってしまって、 少し変更したいなぁと思っているので^^;

    • ベストアンサー
    • Flash
  • FLASHでのアニメーション制作で秒数が狂います。

    FLASH CS6で15秒のアニメを作っています。 フレームレート29.97fpsで、フレーム数が450です。 モーショントゥイーンでキーフレームをつくるたびにだと思うのですが、 再生するとトータルの秒数が増えていました。 フレームレートもフレーム数も変わっていません。 再生すると最後に15sとなるのですが、途中のカウントが瞬間的に増えたり減ったりするので実際は15秒以上の再生時間になるのです。 説明が難しくうまく伝えられないのですが、 原因はなんでしょうか? はじめてのflash制作で困っています。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • 入力された数値によって変化するFLASH

    アクションスクリプト3.0でテキストフィールドに1~10のどれか数字一つを選んで入力すると四角形が作成される(10~20だと円形になるような)数値によって変化するFLASHを作成しているのですがわかりません。 とくに1~10までの数は○○になるという数値の範囲を設定するアクションスクリプトが全くわかりません。 ご教授お願い致します。

    • ベストアンサー
    • Flash
  • flash mx ボタンについて

    FLASH MX でボタンを作りダウンの(3番目)フレームにアクションを追加したいのですが、現在の選択範囲にアクションを割り当てる事ができませんと表示されます。 何これ!

  • エクセル2002 数字の抽出とグラフの作成

    任意の数字を抜き出してグラフを作成したいのですが可能でしょうか。 棒グラフか何かで数字の頻出度順にしたいと考えています。 そのステップとして(1)表の数字の抽出、(2)グラフ化があると思います。 (1)では関数を使えば範囲内の数字の出現数がわかると思うのですがどれを使っていいのかわかりません。 (2)では他のデータで3列指定してグラフ化すると系列2までしかでません(3行あるので系列3にしたいです)。 よろしくお願いします。

  • FLASHでのアクションスクリプトによるグループ別けについて

    FLASH MX を使って、10個のオブジェクトを2つのグループ(Aグループ、Bグループ)にドラッグで移動させてグループ別けをしたいと思っています。任意のオブジェクトをどちらかのグループにドラッグすると、順番に上から並び、また、一度片方にドラッグして並んでしまったものを、もう片方へドラッグすることができ、もともとオブジェクトがあった隙間もうまる(下に並んでいるものが、上にあがってくる)ような仕組みにしたいのですが、よい方法はないのでしょうか? フレームアクションに変数を20個用意して、移動させるごとに変数へオブジェクトのnameを代入しているのですが、どうしても隙間をうめるようなスクリプトがわかりません。 ご存知のかたがいらっしゃいましたら、宜しくお願いいたします。

  • ASだけで○秒停止する方法

    AS3で下記のスクリプトを書いています。 画像をぼかした状態で徐々に表示させ、ぼかしがなくなったら○秒見せて ぼかしながら消していくという内容を想定しています。 ひとまず動くのですが、ぼかしながら消していく関数を実行する前に任意の 秒数(フレーム数?)停止させたいのですが、どうすればいいのでしょうか? package { import flash.display.*; import flash.events.*; import flash.utils.* import fl.events.*; import flash.filters.*; public class Main extends MovieClip { public var logoObj1:MovieClip = new logo1(); public var blur:BlurFilter; public var i:uint = 70; public var ii:uint = 0; public function Main():void { opening(); } private function opening(e:Event = null):void { blur = new BlurFilter(); addEventListener(Event.ENTER_FRAME, BlurMinus); } private function BlurMinus(e:Event):void { blur.blurX = i; blur.blurY = i; logoObj1.filters = [blur]; logoObj1.x = w / 2; logoObj1.y = h / 2; addChild(logoObj1); if ( i == 0 ) { // ここで任意の秒数を経過したらBlurPlasを実行させたい! addEventListener(Event.ENTER_FRAME, BlurPlas); } i = i - 2; } private function BlurPlas(e:Event):void { blur.blurX = ii; blur.blurY = ii; logoObj1.filters = [blur]; logoObj1.alpha += (0 - logoObj1.alpha) / 50; if ( logoObj1.alpha == 0 ) { removeEventListener(Event.ENTER_FRAME, BlurMinus); removeEventListener(Event.ENTER_FRAME, BlurPlas); } ii = ii + 2; } } }

    • ベストアンサー
    • Flash
  • ボタンでのページの切り替え方法

    お世話になります。 FLASH MX WIN XP使用です。 FLASHでフォトアルバムを作っています。 1ページ8枚の写真を掲載し、それを3ページ作っています。 ページはタイムラインの 1フレームに1ページ 2フレームに2ページ 3フレームに3ページ と作ってあります。 これを < 1 2 3 > といったボタンで 各々の数字を押すとそのページに飛ぶようなボタンを 作りたいのですが、 1 2 3 にどのようにアクションスクリプトをつければよいでしょうか? 解かる方いましたら教えてください。 宜しくお願いします。

    • ベストアンサー
    • Flash
  • action script3.0でフルflashサイトを制作する場合の

    action script3.0でフルflashサイトを制作する場合の質問です 下記のサイトのように、ブラウザ拡大縮小させた場合、 1.一定以上ブラウザザイズを小さくすると、背景イメージをの縮小がストップする。 また、一定以上ブラウザサイズを拡大させるとそれに伴い背景イメージも拡大。 つまり任意のサイズ内で、背景画像が縦横比固定で、ブラウザサイズに合わせて拡大縮小。 2.左横の白いバー内の文字は可変せず、バー本体は背景と同じで、任意の範囲で可変。 背景がブラウザサイズでどこまでも拡大縮小する方法はみつけたのですが、任意のオブジェクトと 任意の範囲内でとなるとわからなくなってしまいます。 よろしくお願いします。 http://shimaifudosan.co.jp/earththeresidence/

専門家に質問してみよう