• ベストアンサー

アクションゲームの動き-ActionScript3

ActionScript3.0でゲームを作る勉強をしています。 キーボードの矢印キーで左右移動とジャンプをするキャラクターの作り方が わかりません。単純にマリオみたいな動きです。 左右は動くのですが、上矢印またはその他のキーを押してジャンプする という動きのプログラムの描き方がわかりません。 どなたかご教授宜しくお願い致します。 質問にわかりにくい所があればご指摘下さい。

  • Flash
  • 回答数3
  • ありがとう数3

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

  • ベストアンサー
  • hattorix
  • ベストアンサー率80% (4/5)
回答No.3

左右には動くということは、キャラクターを動かすことはできるんですよね。 ということは、ジャンプして落下させるという動きを、 プログラムでどう表現するかがわかれば簡単に実装できるはずです。 それは、次の二つので表現できます。 1. 上を押したときにキャラクタに毎フレーム上方に移動する「速度」をつけます。 2. しかし、「重力」があるため、その「速度」は毎フレームごとに減少していきます。 以下に、簡単な実装コードを記述します。 var acc:Number = -10; // 「速度」 var gravity:Number = 1; // 「重力」 addEventListener(Event.ENTER_FRAME, function(evt:Event):void {   // 「速度」の分だけ、y 方向を移動させる   obj.y += acc;   // 「重力」の分だけ「速度」を減少させる   acc += gravity; }); 落下の動きにのみ着目しているので、着地や x 方向の動きは考慮していません。 また、acc や gravity の値は、実際に動かしてみて適当な値を探してみてください。

ecoeco1975
質問者

お礼

回答ありがとうございます。 さっそくプログラムを組んでみまして 思ったような動きが出来ました。 とてもわかりやすい説明ありがとうございました。

その他の回答 (2)

  • PTAF
  • ベストアンサー率30% (8/26)
回答No.2

プログラムを学ぶには、まず必要な本を買うというのを覚える必要があります。 こんなところで聞いても上達しません。

ecoeco1975
質問者

お礼

ご回答ありがとうございます。 私も色々と参考書等購入して勉強はしております。 それで得た知識のもとゲームを作ろうと思った次第です。 ただ、何度やっても、参考書を色々読んでみてもわからないことだったので、 あくまでOKWEBは最終手段だと考えております。 ご指摘のようなことを言われるかもしれないという覚悟?で質問させて頂きました。

  • morchin
  • ベストアンサー率16% (212/1281)
回答No.1

物理学ですね。自由落下の公式がありますので、参考にできます。

ecoeco1975
質問者

お礼

ご回答ありがとうございます。 自由落下の公式というものがあるんですね。 ちょっと自分なりにそちら調べてみます。 ありがとうございます。

関連するQ&A

  • ActionScriptで作れるゲームとは

    趣味を増やそうと、 急がず焦らずで2Dゲームを作りたく プログラムを勉強しようと思っています。 言語を色々調べてみましたが どうせならwinだけじゃ無く、macの人にも遊んでもらいたいと 分け隔て無く遊べるフラッシュゲームの形で作ろうかと思いました。 つまり、javaを選ぼうと思っています。 で、javaのActionScriptを勉強したとして ファミコンレベルのアクションゲーム (スーパーマリオやロックマンや魔界村など) は作れますか? また、C++で作るよりも簡単でしょうか? 凝ったとしてもスーファミレベルで満足出来る自分です。 よろしくお願いします。

  • ActionScript3.0でのキーイベント

    Flashを使ってゲームを作っているのですが、 ActionScript3.0で、特定のキー(例えば、0や1など)が押された時、 現在のフレームから、指定したフレームに移動するというプログラムを 書きたいと思っていますが、なかなか苦戦しています。 そこで、仮に0のキーが押された時、nextpageとフレーム名を付けたフレームに 移動するActionScript3.0を設定しようとした場合、どのように書いたらよいのでしょうか?

  • キーボードを押した時のムービークリップの動きについて

    キーボードを押した時のムービークリップの動きについて 横スクロールの簡単なFlashゲームを作ろうとしています。 制作環境はWinXP,flashCS4,as3です。 今やりたい事は、キーボードの十字キーを押すことでキャラクターを移動させる、と同時に キャラクターのムービークリップ内に作ってある任意のフレームに飛ばして 歩いているアニメーションを再生させるということです。 「KeyboardEvent」クラスを使って、function に「インスタンス名.x +=3;」という 記述をすることでインスタンスの移動はできました。 ですが、キーボードを押し続けると、アニメーションの作ってあるフレームが 最初のフレームから動かないため、動きがつきません。 キャラクターを移動させると同時に、キャラクターのアニメーションを再生させて動きを つけるにはどういう記述の仕方をしたら良いでしょうか? アドバイスをいただけましたら幸いです。 下記URLが、現在つくっていてうまくいかないものの例です。 http://homepage2.nifty.com/meary/test.html 下記が記述スクリプトです -------------------------------------------------------- //キーダウンしたとき stage.addEventListener(KeyboardEvent.KEY_DOWN, handleKeyDown); //右矢印キーを押すと右に移動、hitoインスタンスはwalkフレームへ function handleKeyDown(e:KeyboardEvent) { if(e.keyCode == Keyboard.RIGHT) { hito.x += 3; hito.gotoAndPlay("walk"); } }

    • ベストアンサー
    • Flash
  • オンラインゲームを作ったんですが、動きが変です

    クライアントサーバ方式で、 クライアントが矢印キーを押したときだけ情報を送信します。 僕のPCでサーバとクライアント1台を起動し、 友人宅でクライアントを起動して動きを見てみたんですが、 僕のキャラクターはスムーズに移動するんですが、友人の方がかなり遅いです。小刻みに震えたりもします(前の位置情報と次の位置情報が交互に反映してるような)。また、自分のPCでクライアント2台でやってみると両方スムーズでした。これは何が原因なのでしょうか。 ちょっとネットワークは初挑戦の分野なので、他にどんな情報を提示すればよいかご指摘ください。

  • ActionScriptで思うような動きを出せず、困っています

    *質問* 現在、ActionScriptを基本的な勉強から初めているのですが、 どうしても分からないところがあり戸惑っております。 皆さんお助言をどうぞお願い致します。 x座標:0.0、y座標:536.5から減速をしながら平行に移動し、 x座標が650以上になったら、x座標:35、y座標:25に向かい、 後方斜め上に移動するという動きを、作っていたのですが、 なかなかうまくいきません。 Scriptは下記の通りに記載致しました。 ============================ onLoad = function(){ maru1.Gox = 700; maru1.Goy = 25; flg = false; } maru1.onEnterFrame = function(){ this._x += (maru1.Gox - this._x)/10; if(this._x >= 650){ maru1.Gox = 35; flg = true; } if(flg = ture){ this._y += (maru1.Goy - this._y)/10; } } ============================ 初歩的な質問で大変申し訳ございませんが、 助言をどうぞよろしくお願い致します。 “環境”Mac OS 10.4、Flash8

  • オンラインゲームで上下、左右に動かす矢印のキーボードに反応しない

    インターネットで遊ぶオンラインゲームで上下、左右に動かす矢印キーに反応しない。 スーパアーマリオ(任天堂)その他のゲームで反応しない、ゲームが出来ない。 ニフテイーのゲームで工場見学だけは反応する、ゲームが出来る。 キーボードの矢印のキー反応しないのはなぜでしょうか? 原因はどこにあるでしょうか? 教えて下さい。

  • Actionscriptでふわふわ感を再現したい

    とても困っているのでご質問させていただきます。 http://community.edita.jp/ 上記のページの「雲が降ってくる」→「ふわふわと横に移動」→ 「マウスオーバーでスムーズに拡大」ような一連の動きを Actionscriptで再現するには どのような記述をしたらいいのでしょうか? ちなみに、落下するものはランダムで再現したいと思います。 当方、Actionscriptはかじったです。 できれば、わかりやすいシンプルな記述をご教授していただけると ありがたいです。 環境:Flash8 Actionscript2.0 以上よろしくお願い致します。

  • Flashゲームのブラウザ内での動作について

    Flashゲームをサイトにアップしています。 そのゲームの中でスペースキーでスタートし、矢印とスペースキーでゲームを進めるように プログラムしたゲームがあるのですが、動作しないことがあります。 FlashCS5 にてActionscript3.0で作成しました。 ホームページの中で動作するようにしているのですがページがそのゲームのページに移動したら スペースキーでスタートをしたいのです。 しかし、一度その画面内をクリックしないと旨く動作しません。 クリックしてもだめな場合があります。 考えられる原因や回避方法を教えてくださいませんか? 例えば別ウィンドウで表示し、画面内にスタートと言うボタンを付けたら大丈夫とか パブリッシュするバージョンの問題とかを考えましたがご経験のある方どのような原因が考えられるかをアドバイスお願いします。

    • ベストアンサー
    • Flash
  • ゲームパッドのキーボード割り当て

    ゲームパッドのキーボード割り当て 非純正のゲームパッド(PS2コンを変換器かませています)をキーボードに割り当てる際に、左スティックをPC側の移動のWASDに、右スティックをカメラやエイム移動のマウスの上下左右の動きに割り当てました。 その結果、一応は動作するのですが、例えば移動なら、上下左右とその各斜めの動きの合計8方向だけ、カメラに関しても、同様に8方向だけしか動かせず、なんともギクシャクした動きになってしまいます。 これを解決できるような割り当てソフトは有りますでしょうか?

  • 360度アクションゲームでの敵の探索

    スターオーシャンなど、戦闘でキャラクターが自在に敵の正面や背後に移動できるようなアクションゲームで、自分の移動するキャラクターから見て、どの敵が一番近いかを調べるには、やっぱり敵ごとの位置情報を調べて、自分の位置と比較していくしかないんでしょうか。 また、たとえば、30vs30のような多数対多数で、それぞれすべてのキャラクター達が一番近い敵を調べるようなゲームでは、どのようなアルゴリズムが使われているのでしょうか? どなたかご教授ください。

専門家に質問してみよう