- ベストアンサー
actionscript2.0のサンプルコードについて理解できない部分があります
- 納得できないactionscript2.0のサンプルコードについて質問です。サンプルコードには変数loopがありますが、その必要性が分かりません。
- 変数loopに関連する記述を削除しても挙動に変化がないため、意味がないように思えます。
- 初心者ですので、変数loopの意味や必要性について平易な解説をお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
- cspl
- ベストアンサー率83% (55/66)
関連するQ&A
- マウスホイールで地球儀を回転させたい
質問です。 下記のスクリプトは地球儀をマウスで回転させるという物なのですが、 これをマウスホイールで回転させるためにframeにxmouseの値ではなくonWheelMouseの値を与えたいのですが、記述の仕方がわかりません。 知恵を貸してください。 on (press) { function run(mc) { cur = Math.floor((_xmouse - w1) / 10); pre = !pre ? (cur) : (pre); frame = cur - pre; frame = frame > 4 ? (4) : (frame); frame = frame < -4 ? (-4) : (frame); if (mc._currentframe + frame >= mc._totalframes) { mc.gotoAndStop(1); } // end if if (mc._currentframe + frame <= 1) { mc.gotoAndStop(mc._totalframes); } // end if mc._parent.b.gotoAndStop(mc._currentframe + frame); mc.gotoAndStop(mc._currentframe + frame); pre = cur; } // End of the function mm["t" + mm.OnName].WCD_Move({_alpha: 0}, {speed: 0.500000}); var w1 = this._width / 2; _parent._parent.rotate = false; intervalID = setInterval(run, 10, this); } on (release, releaseOutside){ pre = cur = false; clearInterval(intervalID); }
- 締切済み
- Flash
- もう少しでは無いかと思うのですが・・・(長文です)
初めまして この度Flash8で仕事を始めて行っており、 本などを拝見しながら少しずつは前進しておりましたが とうとう解らなくなり、こちらへの投稿となりました。 ****************************************************** ・現在行っている作業内容をご説明いたします。 画像が3枚・ボタンが「進む」「戻る」1つずつ ボタンを押下した際に画像が切り替わります。 画像名:1枚目「weddingA_mc」 2枚目「weddingB_mc」 3枚目「weddingC_mc」 ボタン名:「next_btn」「back_btn」 ・例えば「next_btn」を押した時に 「weddingA_mc」から「weddingB_mc」へ切り替わります。 その際に単純に画像が切り替わるのでは無く だんだん透明になって行き次の画像に変わると言う事 をしたいのですが・・・(アルファ値を35に設定してます。) ******************************************************** メインのタイムラインに記述しておりますActionScriptです。 var target_mc:MovieClip = weddingA_mc; terget_mc.stop(); var loop:boolean = true; var naviObj:NaviFrame = new NaviFrame(terget_mc, loop); next_btn.onPress = function() { naviObj.next(); }; back_btn.onPress = function() { naviObj.back(); }; ********************************************************** 次に本を参考にしたのですがカスタムクラスのNaviFrameクラス を書きました。 ActionScriptファイルを作り、先ほどのムービーファイルと 同じ階層に保存しました。 下記がそのActionScriptです。 class NaviFrame { var mc:MovieClip; var loop:Boolean; } //コンストラクタ function NaviFrame(target_mc:MovieClip,loopMode:Boolean) { mc= target_mc; loop = loopMode; } // //次のフレームへ移動する function next() { if(mc.currentframe == mc._totalframes) { //ループするなら先頭のフレームへ戻る if (loop) { mc.gotoAndStop(1); } }else{ //次のフレームへ移動して止まる mc.nextFrame(); } } //手前のフレームへ移動 function back() { if (mc._currentframe == 1) { //ループするならば最終フレームへ戻る if (loop) { mc.gotoAndStop(mc._totalframe) ; } }else{ //手前のフレームへ移動して止まる mc.backFrame(); } } こちらを動かしてもぐるぐるループするだけで 何も動かず延々回っている状態です。 どなたかご意見・ご指南いただければと思っております 何卒、宜しくお願いいたします。
- ベストアンサー
- Flash
- 【ActionScript】ムービークリップ間の変数の受け渡しのやり方は?
ムービークリップ間の変数の受け渡しがいまいちわかりません。 例えば、 ・_root.mc1 及び、 ・_root.mc1.mc2 というインスタンスがあった場合、 _root.mc1.mc2 のフレームに a = 100; と書き、 _root.mc1 のフレームに trace(_root.mc1.mc2.a); と書いても「undifined」と出るだけです。 (上層の値を下層で受けることはできるんですが、この例のように下層→上層の受け渡しはできないのです。) どうすればインスタンス間の変数の受け渡しができるのでしょうか。 よろしくお願いいたします。
- ベストアンサー
- Flash
- GUI入門書のサンプルコード
JavaのGUIをやってみようと思い中古で本を買ってきたのですが、 その中のサンプルコードが意味がわからない上にコンパイルエラーを起こすので 誰か解説をお願いします。 OS:Win Vista、それとJDK7です。 以下がソースコードとコンパイルエラーになります。 import java.awt.*; import javax.swing.*; import java.awt.event.*; //サンプルではActionListenerを使うのに抜けていた public class MyButton { ____JButton button; ________//※1 何故ここで宣言しているのか ____public static void main(String[] args) { ________JFrame frame = new JFrame("MyFrame"); ________Container pane = frame.getContentPane(); ________JButton button = new JButton("MyButton");________//※1 何故ここにもあるのか ________button.addActionListener(new MyActionListener()); //※2 MyActionListenerクラスはstaticでないので使用できない ________pane.add(button); ________frame.setBounds(100, 50, 300, 200); ________frame.setVisible(true); ________frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ____} ____class MyActionListener implements ActionListener { ________public void actionPerformed(ActionEvent e) ________//サンプルではpublicが抜けていた ____________if(e.getSource() == button) ________________System.out.println("button was pressed"); ________} ____} } /* MyButton.java:13: static でない 変数 this を static コンテキストから参照すること はできません。 button.addActionListener(new MyActionListener()); ^ エラー 1 個 */
- ベストアンサー
- Java
- ActionScript3.0でエラーがでる
初めまして、今非常に困っていましてどなたかお力を貸してください。 ActionScript3.0を使ってフルフラッシュサイトを作っているところなのですが、タイムラインの1フレーム目でローダーでrootを読み込み、終わったら2フレーム目(gotoAndStop(2)で)へ移動という形にしているのですが、ムービープレビューすると「Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。at Main()」 と出てしまいます。Mainはドキュメントクラスで外部asファイルに記述しています。 こんな感じで書いています↓ 『1フレーム目のタイムラインスクリプト』 stop(); ~中略~ if(info.bytesLoaded==info.bytesTotal){ if(load_mc.nowScene=="finish"){ Object(root).gotoAndStop(2); } } 『外部Main.asファイル』 package{ ~中略~ public class Main extends MovieClip{ ~中略~ public function Main() { addEventListener(Event.ENTER_FRAME, checkHandler); } function checkHandler(ev:Event):void { if (Object(root).currentFrame==1) {//フレームが1なのかを判別 return; } removeEventListener(Event.ENTER_FRAME, checkHandler); init(); } function init(){ ~中略~ } } } すみません、ホントはもっとあるのですがスクリプトが長過ぎて書ききれないのでざっくりですが、こんな感じです。 checkHandler()は、エラーが出ないように2フレーム目に来たらMain.asを参照できるようにしています。ほかになにかやり方があれば教えてほしいです。。。←なんとなくこれが怪しい気もするので。 一応こんな感じでも順調に作業出来ていたのですが、なぜか急にエラーが出始めました。 ムービープレビューすると先ほど書いたエラーメッセージがでて、画面がチカチカなり、1フレーム目と2フレーム目を繰り返しているような現象です。 いまMain.asファイルは2フレーム目にあるインスタンスを参照しているので、ドキュメントクラスを2フレーム目にきたら読み込ませる方法とかあるのでしょうか? すみませんホントに誰かご教授お願いします!!!
- ベストアンサー
- Flash
- AS3:ルートの変数とムービークリップ内の変数について
AS3:ルートの変数とムービークリップ内の変数について ルートのタイムラインで設定した変数var RootVarがあるとして、これをあるムービークリップMCからMovieClip(root).RootVarで読み取って、MC内で何か処理をしたときMovieClip(root).RootVar++;とやってもルートのRootVarの値は変わりません。 例えば、 ■ルートのタイムライン1フレームに記述 var RootVar:uint; if(RootVar>=3){ trace("できた!!"); } ■ステージにあるムービークリップMCのタイムライン1フレームに記述 MovieClip(root).RootVar=0; var AddTimer:Timer = new Timer(1000,3); AddTimer.addEventListener(TimerEvent.TIMER,AddNum); AddTimer.start(); function AddNum(eventObject:TimerEvent):void { MovieClip(root).RootVar++; } ルートからムービークリップ、ムービークリップからルートへ変数に値を渡したり受け取ったりはできなのでしょうか? 変数の扱い方が問題なのでしょうか?よろしくお願いします。 環境:AS3、Flash CS4
- ベストアンサー
- Flash
- actionscript3.0 rotationについて
actionscript3.0 rotationについて btnを押すごとにmcを時計回りに90度減速させながら回転させたいと思っています。 しかし2回ボタンを押して180度回転させるまではうまくいくのですが 3回目に270度になると、回転がとまりません。 分岐させて、-90度回そうと思うと(当たり前ですが)逆回転してしまいます。 どのように記述すればよいでしょうか? よろしくお願いします。 以下スクリプトです。 var i:int=0; function onEnter(event:Event):void{ mc.rotation += (i-mc.rotation)*0.1; } addEventListener(Event.ENTER_FRAME, onEnter); btn.addEventListener(MouseEvent.MOUSE_DOWN, MouseLDownFunc); function MouseLDownFunc(event:MouseEvent):void{ i+=90; };
- ベストアンサー
- Flash
- ActionScript2.0でインスタンス名を変数に格納することが可
ActionScript2.0でインスタンス名を変数に格納することが可能なのかが、よくわかりません。 RPGゲームを作っているのですが、4種類のアバターから自分が冒険に使いたいアバターを選択し、そのアバターでその後の冒険をすすめていく ということをしようと考えています。 こうなると、 if(1のアバターが選択(クリック)されたら){ 変数aにアバター1_mcを代入する }else if(2のアバターが選択(クリック)されたら){ 変数aにアバター2_mcを代入する } という処理にし、後で aを表示 という呼び出し方になるのかなと思い、何度も試してみたのですが、ぜんぜん思うようにいきません。記述の仕方もわからない状態です・・・単なるAS2の勉強不足なのですが、何かこの方法でも他の方法でもいいやり方があったら教えていただきたいのですが・・・;_; よろしくお願い致します!
- 締切済み
- Flash
- 変数の配列の使い方教えてください。(初心者)
VBで関数を作ってるのですが、 Function kansuu as Long Dim a(50) as Long Do (処理) Loop End Function ↑こんな形になってまして、変数a(0)~a(50)にはそれぞれ値が入ってます。{a(50)まで全部使うとは限りません。} Do文を抜ける条件として、途中に「もしa(0)~a(50)の値が全て"0"ならDo文を抜ける」という処理を入れたいのですが、変数aの"配列要素全て"という文の記述方法が分かりません。どなたか教えてください
- ベストアンサー
- Visual Basic
- VBA コードについて
MajorUnitというコードがありますがこれはどのような意味を持つのでしょうか? 調べたのですがよくわからなかったので質問させていただきます。 Dim 変数 As Seriesというコードも意味を教えていただけると助かります。
- ベストアンサー
- オフィス系ソフト
お礼
>変数 loop が false であるなら何もしない >ということです(フレーム移動もしないということ)。 まずif構文などの基本的な部分の理解がたりなかったみたいですね。 コメント付きのスクリプトで丁寧に解説していただき、ありがとうございます。 クラスの拡張性を考慮していなかったので、 わざわざloopでの条件分岐を付け加える意味が分からなかったのですが、 ようやく理解できました。