• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:_x,_y指定の移動の方法(Flash lite1.0))

_x,_y指定の移動の方法(Flash lite1.0)

このQ&Aのポイント
  • MCが画面いっぱい、左右に繰り返し移動する方法を求めています。
  • 左に移動したら右に戻る動作や、右端から左端に移動して下に移動する動作が可能かどうか知りたいです。
  • ステージの大きさは240×240で、MCは15×15と15×14の二種類あります。

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

  • ベストアンサー
noname#35109
noname#35109
回答No.1

まず,考え方としては,  _x += (1)*移動距離      ↓   端まで来たら      ↓  _x += (-1)*移動距離      ↓   端まで来たら      ↓  _x += (1)*移動距離      ↓   端まで来たら      ↓  _x += (-1)*移動距離      ↓      … という感じで, 1 と -1 を入れ替えればいいわけです。 次に,具体的な方法です。 15×15のMCはでも良いですし, 15×14のMCはでも良いです。 どちらでも良いので, MC 内のフレームを 3フレームにします。 そして, スクリプト用レイヤーを用意し,3フレーム目を空白キーフレームにします。  □ レイヤー 筆・・|○ []|○| ←スクリプト  □ レイヤー 筆・・|●//// | ←何か物 そして, MC 内タイムラインの 「フレーム1」 で, 次のような変数に定数を設定しておきます。 ------------------------------- // 切り替えのための変数 flg の初期値 flg = 1; // スピードの設定 (※可変) spd = 8; ------------------------------- 「フレーム2」には何も書きません。 そして,「フレーム3」に次のように書けば,できあがりです。 ------------------------------- // x座標を spd ずつ加算or減算 _x += flg*spd; // x座標が「ステージの幅-このMCの幅/2」になれば if (_x>=-_width/2+240) { // x座標を「ステージの幅-このMCの幅/2」で固定 _x = -_width/2+240; // y座標を高さ分下へ _y += _height; // そしてフラグの符号を変える flg *= -1; // // x座標が「このMCの幅/2」になれば } else if (_x<=_width/2) { // x座標を「このMCの幅/2」で固定 _x = _width/2; // y座標を高さ分下へ _y += _height; // そしてフラグの符号を変える flg *= -1; } // // このMC内を フレーム2 に戻して Play gotoAndPlay(2); ------------------------------- 2つ MC がありますが, どちらとも同じ構造とスクリプトで行けます。  

minaphoo
質問者

補足

早々のご返答ありがとうございます! 動きをつけるコトが出来ました。 でも、これはMCがx座標の0に配置されていないと正常に動かない様ですね。 0ではなく例えば20など他の位置にしたい場合は どのように変えれば良いでしょうか? 宜しくお願いいたします。

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

その他の回答 (1)

noname#35109
noname#35109
回答No.2

#1です。 > これはMCがx座標の0に配置されていないと正常に動かない様ですね。 そんなことはないと思いますが。 ステージに見えている範囲に置いてくださればどこでもOKだと思いますよ。 ただ, 最初に進む向きに関しては, // 切り替えのための変数 flg の初期値 flg = 1; をこのままか, 場合によっては -1 に変えてください。 最初に右に進みたい場合が 1 で, 最初に左に進みたい場合が -1 です。

minaphoo
質問者

お礼

なるほど!! flgの値を変えたら正常に動きました。 お手数をおかけして申し訳ございませんでした。 非常に勉強になりました!ありがとうございました。

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

関連するQ&A

  • 画像ローテーション

    最近アクションスクリプトをはじめました。 初心者です。 ---------------------------------------------- onClipEvent(Load){ speed = 10; goal = -1*(this._width); } onClipEvent(enterFrame){ if(this._x <= goal){ this._x = 0; } else{ this._x -= speed; } } ---------------------------------------------- なんですが、これを実行すると、 右から左に移動した正方形の画像が 左端へ移動した後、一番右端に戻りません。 左端に到達後、一番右端にその画像をワープさせて またその繰り返しをするにはどうしたらよいのでしょうか? よろしくお願いします。

    • ベストアンサー
    • Flash
  • Flash ActionScript■移動するMCを停止・再生する方法とは?

    ActionScirptのみの記載で、 ・左から右へ移動 ・MCにマウスオーバーすると、その場所で停止 ・停止したMCはその場で別のMCに差し替え ・MCからマウスアウトすると、その場所から再生 というものと作りたいと思っております。 シナリオで言えば、 「左から歩いてきた猫が、マウスオーバーで立ち止まり、顔を洗う。 マウスアウトすると顔を洗うのを止めて、右へ歩き出す」 というものです。 「左から右への移動」までは作ることができましたが、 移動するMCにマウスオーバーしても、停止出来ません。 そのため、それ以降の動作もまったく…(滝涙) どうかご存じの方がおいででしたら、ご教示いただきたく。 よろしくお願いします。 制作/動作環境 WinXP,Flash8

    • ベストアンサー
    • Flash
  • ComboBoxでmcを移動させるには

    お世話になります。 コンポーネントのComboBoxでリストから項目を選択して、一つのムービークリップを等間隔で移動させたいと思っています。 例えば、 +10.0を選択するとmcが右に1300px移動 +3.0を選択するとmcが右に390px移動 +1.0を選択するとmcが右に130px移動 0はデフォルト -1.0を選択するとmcが左に130px移動 -3.0を選択するとmcが左に390px移動 -10.0を選択するとmcが左に1300px移動 というような感じに作るにはどうしたら良いでしょうか? なるべく簡単な方法でできるとありがたいです。 どうぞ宜しくお願いいたします。 環境:Windows XP、Flash Professional 8

  • 座標の移動指定について教えてください

    初歩的な質問で申し訳ありませんが、 ボタン操作によって上下にスクロールするループ画像が作りたいです 見える範囲(ステージ)が縦幅300pxなのに対し、(ムービー クリップに設定した) 縦幅500pxの画像と、押すたびに画像を 20pxずつ上と下に動かすための ▲(上用)▼(下用)2つの ボタンを配置します。 ボタンを操作して画像を初期の座標(たとえばy.100)から 上下に動かし、ステージの上端か下端で 画像が見切れそうな 位置(たとえばy.200、もしくはy.0)にまでついた時に元の 位置(y.100)まで戻り、 ループしてるようなflashが作りたいのです。 onClipEvent (load) {   this.my_mc._y = 100; } if (my_mc._y < 0) {  my_mc._y = 100; } else if (my_mc._y < 200) {  my_mc._y = 100; } ↑のように指定しても思うように動いてくれず、困っております どなたかお力をかしてください…お願いします flash CS3のactionscript2で作業しています

  • イメージギャラリーの最後までいったら「次へ」ボタンを消す

    イメージギャラリーを制作中です。 配置する要素は「写真」、「前へ」ボタン、「次へ」ボタン、で写真は40枚です。 写真は外部読み込みではなくてphoto_mcに入れ込んでいます。 最後の写真になったら「次へ」ボタンを消して表示されないようにしたいのですがどうしたらよろしいでしょうか? 一部ですが以下が「next_btn」のスクリプトです。 //---ボタン「next_btn」に関して--- //x座標をステージ右より55px左にする next_btn.x = stage.stageWidth-55; //y座標をステージ下より15px上にする next_btn.y = stage.stageHeight-15; ~~~~~~ //関数 nextClick の定義 function nextClick(evt:MouseEvent):void{ // 写真入り「photo_mc」内を次のフレームに戻して停止 photo_mc.nextFrame(); } 環境はWin XP、Flash CS3、actionscript3、flashplayer9 です。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • ActionScript■指定回数でループを止めるには

    全てActionScriptだけで、動作させています。 ・Loadされたら、MCの移動量を定義 ・フレームに入ったら、ブラウザの縦横サイズを設定   {毎フレームごとに移動量を座標に足す     {もしMCが右端+100の位置に来たら、      (MCを左端-100に戻す) } 上記の{ }部を3回繰り返したら停止する、というものを作成したいのですが。 for文を入れて+Stop();を最後に記載したのですが、ダメでした。 回数を指定しないと、ちゃんと動作しますが当然ながら無限に動きます。 すみません、どなたかご教示頂けませんでしょうか。 どうぞよろしくお願いします。 ※当方Flash8にて制作しております。

    • ベストアンサー
    • Flash
  • Photoshop 1px単位で移動させたいです

    ソフト:Photoshop CS3 質問1. マウスでシェイプを作成すると、横幅、高さが0.01px単位で作成されてしまいます。 これをグリッドを表示させずに1px単位で作成する方法はありますか? 質問2. マウスでシェイプを移動させると、x座標、y座標が0.01px単位で移動してしまいます。 これをグリッドを表示させずに1px単位で移動させる方法はありますか? よい方法をご存知の方がいらっしゃいましたら、ご回答お願いします。

  • スライダをドラッグして変数を吐き出させる方法

    MacOSX FlashMX2004環境です。 オリジナルのスクロールバーを製作して、 そのドラック位置によって変数を吐き出させる仕組みを作りたいのですが、迷宮入りしてしまい質問させていただきました。 よろしくお願いいたします。 恥ずかしながら、オリジナルのスクロールバーの作り方もわかっていません。原理はなんとなく頭に浮かぶのですが、どう書けばいいのか困っています。 内容は、 小さなMC(最初は左端)[以下スライダ]を右にドラッグするとドラックした分だけ、 上にある別のMCが動くという仕組みです。 スライダを右にドラッグした分の数字が変数 pNum に吐き出され、 スライダを左にドラッグした分の数字も変数 pNum に吐き出される。 吐き出したい変数は1から150です。 一番左端の時は1、右端の時は150としたいです。 スライダは左端~右端まで130pxのみ動かしたい。 スライダを使わずに上にある別のMCが動いてもスライダが動いて欲しい。(上にある別のMCとスライダを連動させたい) お時間よろしい方がおられましたら、 助けていただけませんか? お願いいたします。

    • ベストアンサー
    • Flash
  • フルスクリーン、画面右で切れた分だけ、左から表示

    制作環境AS3.0、CS4です。 フルスクリーンでMovieClipを右移動させて、 画面右で切れた分(部分)を左から表示させたいです。 (ドキュメントサイズとMovieClipは同サイズで 途切れることなくひと続きのようにループしたいです) フルスクリーン(画面可変)のため数値で指定できないため 応用がきかずに困ってます・・・ 以下、現状ソースです。 var speedX:Number=20; back_mc.addEventListener(Event.ENTER_FRAME, onEnterframe); function onEnterframe(eventObj:Event):void { var mc:MovieClip=eventObj.target as MovieClip; //ステージの右に出た分だけ・・・ if (mc.x+stage.stageWidth>stage.stageWidth) { //ステージの左に表示 mc.x-=stage.stageWidth-mc.x; } else { mc.x+=speedX; } } そもそも1つのMovieClipでつなぎあわせるのは、if文では無理かもしれませんが・・・ 詳しい方、ご教授お願いしたいです。

    • ベストアンサー
    • Flash
  • X.Yの座標の表示

    autocad LT2000iにて練習中です お知恵かして下さい。 座標の表示 コマンドを使えばx軸・Y軸の2本立てで表示できる事は解ったのですが、 その知りたい座標そのもの(その場所)にX・Y値を表示できないものでしょうか? 用途としてはMC加工のデータ入力の際に 計算が面倒な交点をcadで図を引いて合理化をはかりたいと思っております。 cadcamを使えばと言われればそれまでですが そんな近代的な会社では無いもので。。。 宜しくお願い致します。