• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Actionscript2.0でドラクエのようなキャラの移動を実現する)

Actionscript2.0でドラクエのようなキャラの移動を実現する方法

H240S18B73の回答

回答No.1

主人公のいた場所を人数分配列にして残しておいては? import flash.utils.Timer var charList:Array=new Array() var dstList:Array=new Array() init() function init(){ for(var i=0;i<4;i++){ charList.push(addChild(new Sprite())) with(charList[i]){ x=275 y=200 with(graphics){ beginFill([0xFFCC88,0xCCFF88,0x88CCFF,0xFF88CC][i]) drawEllipse(-10,-10,20,20) endFill() } } dstList.push(new Point(275,200)) } } var timer:Timer=new Timer(50,4) timer.addEventListener(TimerEvent.TIMER,step) function step(e){ for(var i in charList){ var vec=dstList[i].subtract(new Point(charList[i].x,charList[i].y)) vec.normalize((vec.length>=5)?5:0) charList[i].x+=vec.x charList[i].y+=vec.y } } stage.addEventListener(KeyboardEvent.KEY_DOWN,onKey) function onKey(e){ if(timer.running)return; switch(e.keyCode){ case Keyboard.UP: dstList.unshift(dstList[0].add(new Point(0,-20))) break; case Keyboard.DOWN: dstList.unshift(dstList[0].add(new Point(0,20))) break; case Keyboard.LEFT: dstList.unshift(dstList[0].add(new Point(-20,0))) break; case Keyboard.RIGHT: dstList.unshift(dstList[0].add(new Point(20,0))) break; } while(dstList.length>charList.length)dstList.pop() timer.reset() timer.start() }

script001
質問者

お礼

ご回答ありがとうございます! また、配列が必要とのご指摘、非常に勉強になりました。 書いていただいたソースは、おそらくActionscript3.0だと思いますが、 私の知識が乏しいため、内容を理解するのに時間がかかってしまいました。 (残念ながら、まだ理解しきれていません…) ソースを拝見している最中に、別の方がご回答してくださり、 そちらがすぐに私の環境に使えるものでしたので、ベストアンサーにさせていただきました。 しかし、一番早くご回答いただき、また、ソースを示して頂いた事に対して 非常に感謝しております。 今後のプログラミングの際に、書いていただいたソースは使えるように 保存しておきます。 ご回答ありがとうございました!

関連するQ&A

  • ドラクエ9・操作キャラの背丈について

    ドラクエ9の主人公・仲間作成で一番背を低くすると、一番高く設定した時のどの辺りが頭のてっぺんになりますか? 同じ設定だと男の方が女より高かったりしますか? フィールド移動中や戦闘画面で背の高さの違いはちゃんとわかるのでしょうか? 配信でクリア後に仲間になるルイーダ、リッカ、ロクサーヌ、イザヤールは背丈は主人公・仲間作成で何番目の背の高さに設定したのと同じになりますか? イラストを見ると、リッカは背が低かったりと身長差がありますが、それは再現されているのでしょうか? イザヤールは必ず主人公より長身になるなどはありますか? また、イラストだとルイーダとリッカでは明らかに胸の大きさが違いますが、水着などを装備させるとそこら辺はわかるのですか?

  • 【Key.isDown】

    なんにもインスタンスを持たない【MC】を つくって、下記のソースを実行。 onClipEvent (enterFrame) { if (Key.isDown(Key.UP)) { _y -= 1; // 上に移動 } } そうすると↑キーを押すと【MC】が移動するのですが 本来やりたいことの動作確認でしかなく、 gotoAndPlay();を使うのが目的で 別に移動機能は無いものと考えてもらいます。 onClipEvent (enterFrame) { if (Key.isDown(Key.UP)) { gotoAndPlay("label"); } } フレームの移動をさせるにはどうすればいいのですか?? 教えてください><

    • ベストアンサー
    • Flash
  • FLASH MXで質問です

    アクションスクリプト初心者ですが、無い知恵を振り絞って簡単なシューティングゲームを作ろうと思っています。 そこで質問なのですが、キーボードで自機となるMovieClipオブジェクトを自由に動かしたいのですが、斜めに移動させるにはどの様にしたら良いのでしょうか? 今の所、4方向への移動は onClipEvent(enterframe) { if (Key.isDown(Key.LEFT)) { _x += -10; }else if (Key.isDown(Key.RIGHT)) { _x += 10; //以下上下移動をUP,DOWNキーに割り当て } } としています。 ifの後を&&のAND処理で2つのキーが押された場合をtrueとすれば良いとは思うのですが、書き方が悪いようで機能してくれませんでした。 ぜひアドバイスをお願いします。

  • キャラメイキング!!

    キャラメイキング!! PS2・PS・DS・GCのソフトで、主人公や仲間等のキャラメイキングが 自由なゲームってありますか?? 名前、性別、顔や頭はもちろん、 背の高さや服装など、細かい所もなるべく・・・ 今持っているのは、 ジルオール ドラクエix トモダチコレクション です。(抜けてるのあるかもです・・ シムピープル系以外でお願いします。 後、内容も面白いと思ったものでよろしくおねがいします!!!

  • Excel内でのセル間のカーソル移動について質問です。

    Excel内でのセル間のカーソル移動について質問です。 セルにカーソルが乗っている状態で、キーボードの矢印キーを押すと、 その方向にカーソルが移動すると思いますが、 現在、A1にカーソルが乗っている状態で↓キーを押し続けると、 カーソルが19行目まで移動した時点で改行(列)されてB1に移動します。 そのまま↓キーを押し続けていると、B19に達した後C1に、C19に達した後D1に、 というように、 最下段が19行目であるかのような振る舞いをします。 どういった原因(機能)でこのようなことが発生しているのでしょうか。 この19行目を1行選択し「削除」することで、20行目が最下段になるようです。 つまり何か設定されているのだと思うのですが。 なお、19行目以降に数値の入力は可能ですし、保護もかけておりません。 また、このファイルはそれなりにマクロを組んでいます(新規で開いたものではない、と言いたいだけで、マクロが影響しているかどうかわかりません)。 何かわかる方いましたらよろしくお願いします。

  • vaSpreadのフォーカス移動?

    vaSpreadで1レコードを3行明細で表示させています。3行明細の内,1行目の6列,7列,2行目の1列目がアンロックでそれ以外はロックしています。vaSpread内でtabキーを押下すると順番にカーソルが移動し1行目6列,7列,2行目2列,次明細の1行目6列と移動しますが、2行目2列にフォーカス移動させずに、1行目6列,7列,次明細の1行目6列,7列という具合にフォーカス移動させるにはどうすればいいのでしょうか? sendkeyで出来そうなことがヘルプにあって色々やってみましたがうまく行きません。どうかよきアドバイスをお願いいたします。

  • ドラクエで一番好きなナンバリングタイトルは?

    ドラクエは1、2、オンラインの10以外は全てやってます。 オリジナルもリメイクも。 その上での評価です。 私は7(リメイク)が一番好きです。 理由は .3Dグラフィック .ドラクエ史上最大のボリューム .自由度の高さ、出来ることの多さ .ストーリークリア時間100時間以上 .やり込み含めると200時間超え .種集めドーピングが非常に楽。 (自作石版全員盗賊キラースコップが有名) 全キャラ全能力値999も可能。 .金も史上最強に貯めやすい (ゴールデンスライム、少し強いけどダイヤパペット狩ってれば20分も経たずに 所持金カンストする) .ラッキーパネルが楽しい、ほぼバランスブレイカー、 バランスブレイカー要素が多くて楽しい。 キャラも好きです。 7はキャラの感じが明らかに他と違うよね 主人公、マリベル、ガボ大好きです。 主人公が他の正統派イケメンじゃなくて ちょっと頼りない系なのがいい。 個人的にはこのタイプが一番好き。 ブレイブストーリーのワタルとか、 グレンラガンのシモンとかヒロ○カの主人公とかと同系統だよね この遊び易さが好きです。 7は遊び易さに特化してると思う ドラクエの個人的見解↓↓ 開発者も言っている通りドラクエは3で大体の要素を全て出したから、4で大きく変革した。 5と6で新たな試みを追加し、7が全ての集大成。 4はストーリーとキャラが好きです シリーズでは珍しい、ボスが悲しい理由から来てるんですよね。 単純な魔王のボスじゃないところがいい。 キャラも史上最大人数で楽しいし、キャラも全員魅力的だと思います。 5は仲間モンスターが楽しいよね ストーリーも、主人公の人生を追うロードムービーみたいで一番感動出来る ストーリーが一番良いのは5だよね 6は地味だけど職業が復活して仲間モンスターもあり仲間も多いし遊びの要素が多いよね こんなイメージです。 ドラクエは7で全てを出し切った。 8で2度目の大変革。 職業も無くなりメンバーも4人だけで史上最少人数。 武器も使える人が限られ(オノハンマー鎌はヤンガス専用、ヤリ、ブーメランは主人公専用、ムチはゼシカ専用、弓はククール) 使える特技も大きく減少し スキル3つくらい100まで振っても2ページか3ページくらい。 (7は最終的には数え切れないほど特技が使えるようになる。攻撃、回復、その他に分かれ、攻撃特技だけで10ページくらいになる) 面白みや美味しい部分を全て削り取られた骨みたいな感じが8。 シンプルイズベストと言えなくもない グラフィックだけで容量使い切ったのかな? 9で詰め込みすぎて大失敗 ちなみに好きではないドラクエも教えて下さい。 自分は9が微妙です。 理由↓↓ 職業ごとにレベル指定とか無理。 転職すると能力もレベル1に戻る、また1からレベル上げとか面倒くさい。 サンディが好きになれない ストーリーの印象がほとんど無い 主人公や他の仲間に個性が無い イベント上で仲間にならない、自分で勧誘するとか嫌だ。 プレイヤーが容姿も名前も決めるとか嫌 クエストがお使いでつまらない 報酬も要らないものが多いし、もう少し調整して無駄を省いてほしかった。 宝の地図がボスが固定でつまらない ドラクエ9は発売日に買ってやり込みも全てやりましたが、唯一好きになれません。 11は普通でした。 特に書くことも無い感じ。 職業が無いので物足りない 職業があると無いとでは、それだけでやり込み要素が大違いだ 詰め込みすぎて大失敗したと思います。 売り上げは良かったらしいけど 好きなドラクエと苦手なドラクエの理由を教えて下さい

  • ドラクエ5 仲間モンスターの有効性

    DS版のドラクエ5ではぐれメタルを仲間にしようと奮闘しています そこで疑問なのですが 仲間になるモンスターを倒す場合主人公の攻撃が有効なのは知っていますが 他の人間キャラ(特にデボラ)はどうなのでしょうか? 仲間モンスターも主人公によって改心させられているので仲間モンスターによる攻撃で対象のモンスターを仲間にすることが可能なのは知っています デボラに魔人のかなづちを装備させてはぐれメタル狩をしているのですが もしデボラによる攻撃が無意味だとしたら改めなければと思い質問しました またDS版の5にはスーファミ版とPS2版にあった裏技(モンスターが必ず仲間になるやつ)は移植されていますか?

  • Excel2007 セルの移動

    セルに数値を入力しています。 A1 B1 A2 B2 と2行2列のセルに数字を拾い入力します。 セル移動は右と指定してあります。 B1入力後A2へ移動する際方向キーやマウスを使わず 左下移動するショートカットキーはないでしょうか? マクロも記録程度ならできますので ご教授いただきたいです。

  • excelでカーソルの移動を制限するには?

    Win98でExcel2000です。次のことは可能でしょうか? 1.カーソルの移動を隣あった2列のみに制限し、どのキーを押してもそれ以外には移動できないようにしたい。ただしその2列以外も表示はさせておく。 2.その2列の中で入力後Enterのみでこのように移動する。左の列からは同じ行の右の列へ、右の列からは下の行の左の列へと、つまりZの字を書くようにしたい。