• ベストアンサー

actionscript 3.0 で画面の再描画をしたい

actionscript 3.0 で画面の再描画をしたい お世話になります。 actionscript 3.0 で作成をしております。 点を5つ打つscriptを作成したのですが、 描かれた点が順に1つずつ表示したいのですが、 一度に5個表示されてしまいます。 updateAfterEvent()を点を一つ打った後に入れれば、画面が描画される とお思ったのですが、実行すると updateAfterEvent();は関数でありませんとでます。 どのようにすれば、点を1つずつ表示できるでしょうか? お手数ですが、よろしくお願いします。

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

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

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

updateAfterEvent() は 関数で言うなら そもそも ActionScript 2.0 以下の関数ですし また 「イベントが起こったときに表示を即更新させよ!」 という関数ですから 意味が全く違う(逆だ)と思います。 例えば Flash のフレームレートを 12fps に設定していたとします。 この場合 12分の1秒 に 1回 表示の更新が行われるのです。 例えば 「マウスが動いたときにムービークリップを同じ位置に移動」 させるとします。 12分の1秒 に 1回 表示の更新が行われると マウスの動きに合わせてスムーズにシャキッとムービークリップが動くのではなく 12分の1秒 に 1回 ムービークリップ がカクカクとなんとなくもったりと遅く動くのです。 そういうときに updateAfterEvent() 関数(ActionScript 3.0 では event.updateAfterEvent() メソッド)を使うのです。 つまり フレームレート ごと以外に表示を強制更新させるときに使います。 一般的には 表示を強制更新 する方が反応が早くなります。 > 点を1つずつ表示できるでしょうか? つまり反応を遅くさせるべきなのですから 単純に言えば逆です。 点を1つずつ表示させるのでしたら Timerクラス を使うと良いと思います。 http://www.google.co.jp/search?hl=ja&source=hp&q=Timer+Actionscript+3.0

関連するQ&A

  • 画面に描画した場合の深度はどのように

    こんにちわ。Flash8を使っています。 今回,Flashで地図(クリックするとその地点が中心へ移動)と地図上に 線を描画できるように考えてみようと思い,作成しております。 今は,線の描画と地図の移動をメインに作成しております。 地図は,マスクを使い必要な場所だけを表示させています。 さらに画面上でマウスが矢印のカーソルの場合,ドラッグで直線を描画できるようなものを作成しました。 ここで質問なのですが,自分で描画した線が地図の後ろへ隠れてしまいます。 swapDepth()の設定ではどうにもならないようで困ってます。 実際には,下記のアドレスのようなものを作成しております。 具体的なActionScriptをここに記載はしておらず大変恐縮なのですが, 対応に関する概念や策などをご存知の方,教えてください。 よろしくお願いいたします。 http://rec.main.jp/flash_test/map_test.html

    • ベストアンサー
    • Flash
  • innerHTMLで画面更新後、初期画面に戻ってしまう。

    javascript初心者です。  1つのHTMLファイル内で、TABLE内のあるセルに対して、ボタンクリック時に単なるセルの値を<INPUT>タイプに変更する関数をinnerHTMLを使用して作成しました。  ところが実行すると一時的には更新され、表の中に<INPUT>フォームが表示されるのですが、関数を抜けると画面が再描画されて、初期表示状態に戻ってしまいます。  おかしな事は、その関数のすぐ下は</SCRIPT>でscriptの記述は終わりなのですが、関数の最後の締めくくり文字"}"と"</SCRIPT>"間にalertを記述すると、関数を抜けたあと、このalertが実行されます。そのまま下に流れてHTMLが実行されているようにも見えます。  環境はIE6.0(W2K)ですが、IE5.5(NT4.0&W2K)でも現象は一緒でした。  frameを使用して3ファイル(フレームファイルと上下のHTML)に分割して自分以外のhtmlをinnerHTMLで更新したことはあるのですが、この方法しかないでしょうか。  画面再描画を停止するMETAタグとか見当たらないようですが、ご存知でしたら教えて下さい。 よろしくお願いします。

  • ActionScript

    ActionScript3.0でムービクリップ(たとえば丸)をA点からB点に移動し、その後C点、さらにD点という具合に移動させたい場合、どのようにスクリプトを書くのが一般的なのでしょうか?やはりif文などを使うのでしょうか? ものすごく初歩的なことのようですが、わからずにいます。何卒よろしくお願いします。

    • ベストアンサー
    • Flash
  • ActionScriptエディタを作りたい!です…

    毎度お世話になっておりますsassakunと申します。 変な回答をすることがありフォローを入れていただきありがとうございます。 Flashカテゴリでの質問は初心者です。 訳あってActionScriptエディタを作成中です。 「Flash Player de ActionScript」(今閃いた仮称)。 大した物ではないです。 テキストエディタでスクリプトを作る事が多々あるのですが,定型句みたいなものをキーボードを叩くのが面倒です。 またifをIFと書いてしまったり書き間違いが多いです。 蛇のアイコンのソフトも知っていますが,あれはFlashより使い勝手が悪い。 それなら自分で作ってしまおうと思ったのです。 TXTという変数名のダイナミックテキストエリアを作成し,あるボタンをクリックすると,そのボタンのスクリプトで  on (release) {   TXT = TXT + "ActionScript(値)"  } みたいなスクリプトで, 変数TXTにどんどんスクリプトを加算していく方法で大体はできました。 大体と言うのは自分がよく使うスクリプトの範囲内という意味です。 でも上のスクリプトだとどうしても文字列の後に,"ActionScript(値)" が付いてしまいます。 そうではなくて,  onClipEvent (load) {  | (←マウスカーソルのつもり)  } のカーソル部分に _root.stop(); などというスクリプトが入れたい場合が多々あります。 タグ挿入型HTMLエディタならぬ,Script挿入型ActionScriptエディタです。 イメージをスクリプトにするなら, on (release) {  TXT1 = TXT の1文字目からカーソルまで;  TXT2 = TXT のカーソルから最終文字まで;  TXT = TXT1 + "ActionScript(値)" + TXT2; } みたいな感じです。 これを実現するActionScript,または方法はあるのでしょうか。 そんなことも知らないのか! などと思われそうな気もしますが,ここでの質問は初心者ですのでよろしくおねがいします。

    • ベストアンサー
    • Flash
  • ActionScript3.0について教えていただきたいです。

    ActionScript3.0について教えていただきたいです。 下記の添付画像を参考にしていただくと理解しやすいかと思います。 FLASH CS4にて、フレームの移動を行いたいのですが、どうも上手くいきません。 「メニュー画面」でボタンを選択し、「サブメニュー画面」を表示するところまではできるのですが、 緑のボタンをクリックして、「目的のページ」に移動する事ができません。 「メニュー画面」から「サブメニュー画面」へは、 ボタン名.addEventListener(MouseEvent.CLICK,任意の関数名); function 任意の関数名(e:MouseEvent):void{ gotoAndStop(ページ数); } というスクリプトで動きますが、「サブメニュー画面」から「目的のページ」への移動ができない状況にあります。 どなたかわかる方いらっしゃいましたら、是非教えていただきたいです。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • ActionScriptで入力画面が遷移するシステムを作成したい

    ActionScriptの初心者です。宜しくお願いします。 ActionScriptで、複数の入力画面を作成し、切り替えて利用する業務的なプログラムを作成しようとしています。 具体的には画面Aは「目録」画面Bは「明細」で、画面Aで選択した行の明細行の内容を画面Bへ表示し入力させる流れです。 (※図の描写がある為、ActionScriptで作成しようとしています) 「画面遷移」や「画面切り替え」のキーワードで、色々と調べてみましたが、どうも基本的な構成の作成方法が理解できません。 申し訳ありませんが、どなたかご教授願いませんでしょうか。 漠然とした質問で申し訳ありません。

    • ベストアンサー
    • Flash
  • Windowsプログラミング 画面描画 ちらつき

    SetDIBitsToDevice関数を使って画面に描画をした後、LineTo関数やEllipse関数を使って その画面上に線や丸を表示させる処理をしているのですが、描画処理を一度にできていないためか ちらつきが発生してしまいます。 調べてみるとビットマップのマルチバッファリングなどが解決策にあるのですが、 私は一次元配列で画素値を格納していてビットマップに情報は保持していないため よく解決策で使われているBITBLTが使えない状態です。 裏画面に描画しておいて、最終的に描画は一度だけにするという考えは分かるんですが、 これをSetDIBitsToDevice関数を用いてちらつきが発生しないようにできるんでしょうか? プログラムとしては画像の上に線と円をひたすら描画していくようなイメージをしています。 アドバイスお願いします! case WM_PAINT: hDC=BeginPaint(hParent,&ps); SetDIBitsToDevice( ps.hdc, 0, 0,// コピー先x,y座標 pimg -> bih.biWidth,// DIBの幅 pimg -> bih.biHeight,// DIBの高さ 0, 0,// DIBの座標 0,// 走査線 pimg -> bih.biHeight,/ 走査線数 pimg -> lpBmpData, (BITMAPINFO *)&( pimg -> bih),// BITMAPINFOにキャスト DIB_RGB_COLORS ); for(int i=0; i<number-1; i++){ if(i==0){  hPen1 = CreatePen(PS_SOLID, 1, RGB(255,0,0));  electObject(hDC,hPen1);  MoveToEx(hDC,Xs,Ys,NULL);  Ellipse(hDC,Xs-2,Ys-2,Xs+2,Ys+2); }else{  LineTo(hDC,Xe,Ye);  Ellipse(hDC,Xs-2,Ys-2,Xs+2,Ys+2); } }

  • 描画キャンパス内にテキストボックスを作成したい

    Windows 7 Ultimate 64 SP1、Word 2010で、描画キャンパス内にテキストボックスを作成するにはどうしたらいいですか。 次の(1)~(6)の順でクリックしたら、テキストボックスはできたのですが描画キャンパス外にできてしまいます。 (1)挿入 (2)図形 (3)新しい描画キャンパス (4)挿入 (5)「テキストボックス」の下向き黒色▼(※このクリックをする直前には描画キャンパスは画面上に表示されています) (6)シンプルテキストボックス(※このクリックをする直前には描画キャンパスは画面上に表示されています)

  • 描画の常識???

    お世話になります 音楽ソフト等の波形を表示する、描画手法について教えてください 波形を縮小している場合は線ですが、拡大すると点が現れます これって、何で描画しているのでしょうか? たとえば、ビットマップで描画して、これを拡大するとこれと同じ感じになるのでしょうか? それとも、ポリゴン? 素人ながら色々調べていますが答えが見つかりません どなたかご存知の方、教えてください! よろしくお願いします

  • 【ActionScript】 .asファイルの表示をアクションフレームで表示できますか?

    FLASH8(Win-XP)使用者です。 外部の .as スクリプトを参照する場合、なぜか通常の場所ではなく、描画をおこなう場所に表示されてしまいます。 通常ActionScriptを表示するアクションフレーム(?) →ウインドウ>アクション で出てくるウインドウ に表示されないもんですかね? CS3なら可能とかいうご回答でも結構です。よろしくお願いいたします。

    • ベストアンサー
    • Flash

専門家に質問してみよう