忍者ブログ
「Gamemakerでゲームを作って見よう」 ということで、作業メモっぽい使い方をする予定。 愚痴なんかが多くなるかも・・・
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

最近気づいたこと

余らせずにボムを使い切るのって難しい

かなり放置していた気もします。
制作は行ったり戻ったりでなかなか前進しません。
仕様をカッチリ固めてからでないと後からのやり直しがキツイってことでしょうがない事なんでしょうが・・・

今回はショット関連を見なおしました。
大抵のシューティングというのはショットボタン(ここでは”Z”キー)を押したときに
一度に何発かのショットが列ごとにまとめて出るようです。
ということでこの仕様を取り入れたいと思います。
ここでは1列に5発のショットが出るようにします。

まず、ZキーのPressイベントに「shot_flag」という変数に1を代入。
shot_flag=1のときにショットの発射イベントが起こるよう
処理をSTEPイベントに記述します。
ソースは以下の通り

bullet_num = (shoot_level * 2) - 1;//ショットの行数をショットのレベルから算出
    if(shoot_flag == 1 && count <= 25)
    {
        count += 1;//経過ステップ数を数える
        if(count mod 5 == 0)
        {

        bullet_id[0,count/5]=instance_create(x,y-15,bullet_kind);
        bullet_id[0,count/5].vspeed = bullet_id[0,count/5].spd*(-1);
        for(i=1;i<=floor(bullet_num/2);i+=1)
        {
        bullet_id[i,count/5]=instance_create(x-9*i,y-15+(i*5),bullet_kind);
        bullet_id[i,count/5].vspeed = bullet_id[i,count/5].spd*(-1);
        bullet_id[i+floor(bullet_num/2),count/5]=instance_create(x+9*i,y-15+(i*5),bullet_kind);
        bullet_id[i+floor(bullet_num/2),count/5].vspeed = bullet_id[i+floor(bullet_num/2),count/5].spd*(-1);
        }
    }
}
else if(count > 25)
{
    shoot_flag = 0;
    count = 0;
}
 

経過ステップ5ごとにショットを撃つようにします。
ここでは25ステップですので5発のショットが1行に発射されるようになります。
また、ショットレベルが一つ上がるごとに二列ショットが撃てるようにもなっています。
2010_03_26.JPG
レベル最大時のショット





次こそはオート連射とビットからのショットを実装したいなあと考えております。

拍手

PR
三日坊主なら聞いたことがありますが、一日坊主て・・・・

そんなわけで、最初の投稿からだいぶ間が空いてしまったわけですが、制作は細々と続いております。

前回作った自機の移動関連を少々訂正しました。

自機の移動にはキーイベントを使いました。
左右のキーが押されるとhspeed(水平方向の速度)が変化
上下のキーが押されるとvspeed(垂直方向の速度)が変化
キーが離されるとスピード0というような処理にしたわけですが、
上+右のように斜め移動をしようとすると上下左右の移動よりやや早くなってしまします。
speed.JPG







vspeedとhspeedが同時にあたえられることで斜め移動となっているわけですが、
speed=ルート(vspeed+hspeed)
となるためにやや速くなってしまうわけです。
ということで、vspeedとhspeedが同時に与えられている時、自機のスピードを一定に保つよう
STEPイベントに以下のようなコードを追加しました。

if((abs(hspeed) > 0 || abs(vspeed) > 0) )
{
    speed = abs(spd);
}

abs(x)はxの絶対値を求める関数です。

移動関連は一応出来たので、弾を撃てるようにしました。
キーイベントにZキーを押したときに弾のインスタンスを生成するようにコードを書きます。
ただ、これだけですと弾は飛んで行かないので、弾のオブジェクトに垂直方向の速度を設定してやります。
まあ、この辺に関しては解説サイト等でも触れられてますので簡単でした。

次にオプションを追加しました。
オプションは自機の左右に位置し、自機の動きに合わせて動きます。
今のところ弾は撃ちませんが、後々追加していこうかと・・・

sprite53.JPG
本日の成果

拍手


とりあえず、”Gamemaker”でシューティングゲームを作ろうと決意。
しかし、やりかけで投げ出す可能性が大なので、作業工程を日記風に書き記すことで
少しでもモチベーションを上げようというのがこのブログを始めたきっかけです。

本日やったこと

1.自機を上下左右に動かせるようにした。
2.ボード(得点、残機など、ゲームの情報が表示される部分)を設置。
3.ボードの内側のみを動き回れるように、自機の移動に制限を設けた。

とりあえずはこんなところです。
shoot_1.jpg
 
 絵心なんて皆無です




とりあえず次はショットの発射関連を追加したいなと考えております。

拍手

[1]  [2]  [3]  [4]  [5]  [6
アクセスカウンター
プロフィール
HN:
性別:
男性
趣味:
読書・ゲーム
自己紹介:
・好きな作家
夢枕獏/綾辻行人/椎名誠/北杜夫/スティーブンキング
・ハマったゲーム
R-TYPE/WILD ARMSシリーズ/イースシリーズ/九龍妖魔学園紀/SIREN/ぐわんげ/プロギアの嵐/エスプレイド/エスプガルーダ/式神の城
カレンダー
04 2025/05 06
S M T W T F S
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
ブログ内検索
最新コメント
[04/30 dean]
[04/29 管理人]
[04/29 dean]
[04/08 管理人]
[04/07 dean]
忍者アナライズ
バーコード
フリーエリア
Copyright (C) Gamemakerでも使ってみる

Template by あでる / Material by 素材くん「無料WEB素材屋」 / 忍者ブログ [PR]