• ベストアンサー

flashで箱の真上にくるまで○を移動させる。

BlurFiltanの回答

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

○を■の上までと書かれている文章が, ○と■をまったく同じ座標に重ねる(レイヤー的に上)と言う意味で書かれたのか, モニタ上で見たとき■の上まで○を持ってくる(x座標を左に移動するだけ)と言う意味で書かれたのか,わかりかねましたので,両方回答しておきます。 まず,○も■も,ムービークリップシンボルにしてください。してあったらそのままでかまいません。 次に,○を目標物体である■に近づけるため,■にインスタンス名を付けてください。 インスタンス名はプログラム的に何の意味も持たない文字列であれば何でも良いですが, ここでは■に「square」というインスタンス名をつけたとしておきます。 ◎ 一定の速度で近づけるスクリプト ○に以下のようなスクリプトを書けば, その○が画面に表示されたとたんに■に向かって動きだし,■と重なれば止まるスクリプトになります。 onClipEvent (load) { //スピードの設定(変更箇所) spd = 20; //移動距離の算出 movement_x = (_root.square._x-this._x)/spd; movement_y = (_root.square._y-this._y)/spd; //※ //変数counter(カウンタ)を初期化 counter = 0; } //1フレーム時間に毎回計算 onClipEvent (enterFrame) { //カウンタを1ずつ加算 counter++; //x座標とy座標を移動 this._x += movement_x; this._y += movement_y; //※ //もしcounterがspdを上回れば if (counter>=spd) { //重なった位置を保持 this._x = _root.square._x; this._y = _root.square._y; //※ } } このスクリプトで変更する箇所は1箇所です。 変数 spd の値を仮に 20 としていますが,この値を変えてください。 一応スピードの設定のつもりで書いたので spd としていますが, spd の値が大きいほど遅く,小さいほど速くなります。逆数になっています。 //※と書いた行が3行あります。 モニタ上で見たとき■の上まで○を持ってくる(x座標を左に移動するだけ)と言う意味で質問を書かれていた場合,この※の行を消してください。※の行はy座標を変化させる部分です。 ◎ 近づくにつれてだんだん減速するスクリプト これがActionScriptでよく見かける動きで, FlashMX2004まででは,モーショントゥイーンでは表現できない動きです。 これも,○に書いてください。 onClipEvent (load) { //スピードの設定(変更箇所) spd=10; } //1フレーム時間に毎回計算 onClipEvent (enterFrame) { //座標を徐々に近づける this._x += (_root.square._x-this._x)/spd; this._y += (_root.square._y-this._y)/spd;//※ } このスクリプトで変更する箇所も1箇所です。 変数 spd の値を仮に 10 としていますが,この値を変えてください。 これもスピードの設定のつもりで書いたので spd としていますが, spd の値が大きいほど遅く,小さいほど速くなります。 //※と書いた行が1行あります。 モニタ上で見たとき■の上まで○を持ってくる(x座標を左に移動するだけ)と言う意味で質問を書かれていた場合,この※の行を消してください。 動き自体は面白いですが,スクリプトは上のものより簡単になります。 上のスクリプトも下のスクリプトも,小学算数のレベルで書ける四則演算です。 一度,したいことを計算式で書いてみて,スクリプトにすると良いかもしれません。

remonedo
質問者

お礼

質問文が不十分で申し訳ありませんでした。丁寧に両方の場合について回答していだたきましてありがとうございました。早速明日、両方をやってみようと思ってます。丁寧なわかりやすい回答をありがとうございました。

関連するQ&A

  • FLASHで移動のスクリプトを教えて下さい。

    FLASHについて質問です。シンボル移動のアクションスクリプトを教えて下さい。 FLASH CS5 XPとVista使用 アクションスクリプト 2.0 簡単なゲームを作っています。 動かしたいムービークリップをフレーム移動ではない方法を考えています。 ムービークリップの名前を「maru」とし、ステージにx200、y200の位置(A地点)に配置しムービークリップをクリックする、 すると右に100移動、(B地点) 2回目にクリックすると元の地点(A地点)に戻る。 3回目にクリックするとまた右に100移動、(B地点) 4回目にクリックすると元に地点(A地点)に戻る。 ・・・というような一つのムービークリップがA地点とB地点を行き来するだけの動きを希望しています。 このようなアクションスクリプトを試してみました。 on (release) { if (_x > 200) { marux = -marux; } if (_x < 200) { marux = -marux; } _x += marux;} onClipEvent (load) { marux = 100; } ところがこれだと、3回目のクリックでもとのA地点に行かずに-100の座標、A地点より100左の地点へ行ってしまします。 ムービークリップにいれるアクションスクリプトを教えて下さい。 どうかよろしくお願い致します。

  • FLASHで振り子風の移動スクリプトを教えて下さい

    こちらでは大変お世話になっております。 前回に引き続き移動のスクリプトを教えていただきたいのです。 ムービークリップをクリックすると、振り子のように1点は固定をしたまま右へ40度移動させる。次にクリックするともとの位置に戻る、次にクリックするとまた右へ40度、次はもとに戻る…。 というような、2つの地点を行き来するだけの動きにしたいのです。 on (release) { this._rotation -= 40; } ムービークリップに上のような記述をすると、1回目のクリックは良いのですが、2回目のクリックでそのまま40度ずつ回り続けてしまいます。クリックするたびに行って戻るだけの繰り返しができるアクションスクリプトを教えていただければと思います。 超初心者で勉強しはじめたところです。 どうかよろしくお願い致します。 アクションスクリプト2.0 FLASH CS5

  • flash ドラッグ&ドロップでフレーム移動

    今晩は、質問させて下さい。 使用osはmac10.6.8/ソフトはFlashCS5.5/アクションスクリプト3.0です。 特定のインスタンス(maru)を別のインスタンス(shikaku)にドラッグ&ドロップした時、指定のフレーム(29フレーム目)に進むスクリプトを教えて頂きたいです。 どうぞご教授お願い申し上げます。

  • 線をのばしたり…(Flash)

    こんにちは。 例えば、線が長くのびていくようなものを作るには どうしたらいいのでしょうか?? 透明人間が線を描いているような…とでもいうのでしょうか??自分なりに考えてやってみたのは、 1フレーム目に点を描いて、最後のフレームに長い線を描いたり色々試してみたのですが…何だか違うみたいです。 Flashは、基本的な事くらいしか分からず、action scriptはほとんどまだわかっていません。 簡単にできるような気がするのになかなか分からないのですごく気になります。 もしよろしければ、教えて下さい。

  • FLASHで

    撮った写真をパソコンに取り込んで、 パソコン内で見せたいと思っています。 見せ方として、画面に縦に2枚ならんで写真があるとします。 クリックするとその2枚の画像が重なって1枚の写真に重なるという方法です。 重なるときに少しお互いの写真の透明度が下がって、下の写真と上の写真が透けて見えるようにしたいのですが、 どういうソフトを使ってどういう命令をすればそのようなことが可能でしょうか? という内容を書いたら、FLASHを使うといいのではないかとおっしゃっていただいたのですが、 クリックしたら、移動するアクションや 途中で写真を半透明にしてゆく方法などが、ジャバスクリプトの場所に命令を書き込んだらいいのか、フラッシュでどう組み立てればうまくいくかがわかりません・・・ どうしたらいいのでしょうか???><身勝手な質問で申し訳御座いません。

  • スクリプトとFlashのサイトに関する質問

    線を描くようなスクリプトコマンドはないでしょうか? たとえば、四角形をスクリプトで描くようなアニメーションがしたいのです。 (Shapアニメーションではどうもうまくいかないので、 アクションスクリプトを使用してみようと思ったのですが…) また、質問掲示板などがあるFlashサイトがありましたら、 教えていただけないでしょうか?

  • FLASHでのタブキー移動について

    現在、携帯用FLASHを作製しています。 FLASH MX2004で制作、書き出しはFLASH Lite1.0で行っています。 仕様書に「カーソル移動をさせるとき、携帯での↓はPCでのTabキー、↑はShift+Tabキー」であるとの記述があったのですが、 on (release, keyPress "<Tab>") { gotoAndPlay("***"); } と記述してみましたが、携帯では指定箇所へ移動できませんでした。 また、アクションスクリプト>グローバル関数>ムービークリップ制御>on で keyPressのShift+Tabに該当する記述を探しましたが、見つかりませんでした。 携帯の↓↑ボタンに該当する記述はどのようにすればよいのでしょうか。 ご存じの方、教えて頂けると助かります。 よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • Flash MX に関する質問です。

    ホームページを作ろうと思っているんですが、 バナーのアニメーションは完成している状態です。 そこで、質問なんですが、 2枚あるアニメーションで、 1枚目のアニメーションの上にマウスカーソルを 持っていったときに、2枚目のアニメーションが 表示されるアクションやスクリプトを教えてください。 よろしくお願いします。

  • 移動に関するアクションスクリプトがわかりません

    あるムービークリップをクリックした時にX座標を0の位置にもっていきたいのですが、アクションスクリプトをどう書いたら良いのか分かりません。 瞬間的に移動するのではなくスーッという感じで動かしたいのです。 on (release){ this._x = 0} と onClipEvent(enterframe){ this._x += -2 } これを融合させたような感じにしたいのですが、書き方が分かりません。メインのタイムラインに動くフレームをつくりgotoAndPlay()で飛ばしても良いんですが、アクションスクリプトだけで作ることは不可能でしょうか?

    • ベストアンサー
    • Flash
  • flashでムービークリップを移動したい。

    下記のようなback_mcを作成しました。 レイヤー1 _root.back_mc.onPress=function(){ _root.back_mc_x=_root.back_mc_x-50; } レイヤー2 ○の絵 これをシートの上に配置しても動作しません。 ○の絵をクリックし続けると、移動するものが作りたいのですが... なるべく別解よりは、上のコードのミスを指摘してほしいです。

    • ベストアンサー
    • Flash