1MAP_STG ver.0.011 パワーアップを実装しよう


2021年 7月 5日
 
 
 最後の要素としてパワーアップを実装してみたいと思う。

 ver.0.011


 
 

1、パワーアップ

 それぞれの武器がパワーアップできるように各 3段階を作成した。

 ショット

 炸裂弾

 防衛衛星はレベルによって色が変わるようにした

 
 
 コードとしてはこれだけだが

 もちろん各武器の移動や当たり判定等に変更が加えられている。

 ショットは威力が増すだけ。

 バルカンは威力と 1回の発射数が変わる。

 炸裂弾は威力と爆発の範囲が変わる。

 レーザーは幅が変わるだけ。

 防衛衛星は防げる弾の数が変わる。
 
 
 スコアとは別にパワーアップポイントを作った。

 今の所、敵を倒すと増えてポイント分で各武装をパワーアップする。
 
 
2、操作方法を刷新した

 スマホ向けというか武器の切り替えが煩雑なので、タップのみで各サブウエポンが発動するように変更した。

 画面 1タップでバルカンを発射。

 2タップで、その地点へ炸裂弾を発射。

 画面を 10フレーム長押しするとレーザーを発射する。

 照準は画面を押して 10ドット動かすと、そのまま動かす事ができる。

 なぜ 10ドットなのかと言うと、レーザーの長押しがあるために多少のブレを許容しないといけない。

 自機をクリックするとパワーアップのウインドウが開く、今回はこれをPAUSEの代わりとした。


 
 
 キー入力のソースは次の通り

 押してる場合と押してない場合に分けて、モードフラグ(kf)が変化するようにしてる。

 最初は 0で押すと 1に、1の常態で放すと 3になって、その状態で 2フレーム以上入力が無いとバルカン発射、2フレーム以内に押すと 4になって、その常態で放すと炸裂弾発射。

 モード 2はカーソル移動モード、1の常態で 10フレーム押すとレーザー発射。

 のようになってる。
 
 
3、FPSを 15から 20にした

 FPSは 1秒間に何回フレームを処理して表示するかを表す。

 つまり 1フレームに 1回移動と当たり判定、キー入力等を処理して表示する。

 FPSは表示の回数を表すものなので、処理はかならずしも 1フレームに 1回とは限らないが STGはだいたいそうだと思う。

 今まで 15だったのは XPの時代のブラウザ起動に置いては、その辺が最低限だったためで、今はコンピューターの速度が上がってるし、スマホはデスクトップと同等以上になってるので 15以上でも問題ないと思う。

 そもそもアクションゲームの表示に置いては、最低限 FPS20は欲しい、できれば 30くらいがオーソドックスだと思うし、市販のシューティングは普通 60で動いている。

 60の方が、なめらかに速度を早く動かせる。

 例えばショットのスピードを上げると、フレームが少ないと移動の中間点の表示が少なくなる。
 
 
 今回、表示フレームを 15から 20にしたけど、各オブジェクトの移動スピードは変えてないので、その分ゲームスピードが増したと思う。
 
 
4、ウインドウ表示を作った

 枠のグラを作って


 
 
 プログラムで表示する

 使い方は

 evw 0,0,0,9,15
 evw 0,0,wy1,9,15
 evw 0,0,wy2,9,15

 のように書いて、今回 1つめのパラメーターは未設定、2、3で描き始め座標x,yを 4、5のパラメーターで何ブロック描くか指定する。

 今回の 1ブロックの大きさは 8ドットになってる。
 
 
 今回の枠表示はこれで行っている


 
 
5、PNGフォント

 mes表示だと、環境によって表示がまちまちなので、改めてドットフォントを作って表示する。

 今回は 16ドットで作った。
 
 
 表示プログラムは次の通り

 #defcfunc fpkはケタの違う数字の、右そろえ用の座標計算プログラムだけど、今回使ってない。
 
 
6、背景を用意した

 背景が黒のままだと殺風景なので、適当にそれらしい画像を用意した。

 らむりて台本部 跡地

 画像を横 640ドットに縮小して使ってる


 
 
 この画像に黒の背景画像を半透明合成して暗めにして表示している。

 単に背景画像を半透明表示だと白くなってしまう。

 もちろん背景素材をグラソフトで加工して 1枚で表示しても良い。
 
 
 
1MAP_STG_ver.0.011.ZIP ファイル
 1MAP_STG_ver.0.011

コメントを残す

メールアドレスが公開されることはありません。