まったくのプログラミング素人の筆者がC++/HSPを使用してSTG(シューティングゲーム)を作っていく過程を書くブログでしたが最近は脱線気味。プログラミング以外にも、ゲーム関連の記事、日々の戯言など。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
昨日作りかけていたボスゲージが、なんとか完成しました。
とりあえず簡単なスクリプトを作って考えてみました↓
*************************************
screen 0,380,50;スクリーンの大きさ指定
bob=0;ゲージを上げていく為の変数
boss=0.;ボスゲージを実数にする
boss=500.0;ボスの体力
repeat
redraw 0;仮想画面を指定
cls 0;画面を白でクリア
if bob=0 {;ゲージが上がっていっている時
gaugeup+5;ゲージを上げる
boxf 0,10,gaugeup,24;ボスゲージ表示
if gaugeup=380 {;ゲージが画面一杯になった時
bob=1;ゲージを上げない
bog=boss/380;ゲージの長さを出す計算
}
}
if bob=1 {;ゲージが上がりきった後
if boss=0 : stop;変数bossが0になったら終了
boxf 0,10,boss/bog-1,24;ゲージを減らしていく
boss-};変数ボスを減らしていく
pos 150,30
mes ""+boss+""
redraw 1;画面更新
await 16
loop
*************************************
これを実行すると、ゲージがグーンと上がっていって1ドットづつ減って行きます。
実行するとこんな感じです。
一番悩んだのが、ゲージの長さです。
ボスによって体力は違いますが、ゲージの長さは同じですよね。それを、どんな体力のボスでもゲージ一杯にしたかったんです。
例えば、上のスクリプトで言えばゲージの長さは380ドットです。ボスの体力は500あります。
boxfでゲージを表示させているので、普通にコピーすると120ドットはみ出してしまいます。
つまり、500をなんとかして380にしないといけないと言うことになります。
500を380にする為には、500÷380で大体1.35。で、500÷1.35で大体計算出来ます。
それを踏まえて、13行目のbog=boss/380で割る数字を計算して、18行目の
boxf 0,10,boss/bog-1,24でゲージ本体を表示させています。-1にしているのは最後に体力が0になった時に1ドットだけゲージが残って
しまうので、それの対策の為です。
試しに4行目のボスの体力を色んな数字に変更しても、ゲージは380ドットで表示されますので
どんな体力のボスでも表示OKに出来ました^^
とりあえず簡単なスクリプトを作って考えてみました↓
*************************************
screen 0,380,50;スクリーンの大きさ指定
bob=0;ゲージを上げていく為の変数
boss=0.;ボスゲージを実数にする
boss=500.0;ボスの体力
repeat
redraw 0;仮想画面を指定
cls 0;画面を白でクリア
if bob=0 {;ゲージが上がっていっている時
gaugeup+5;ゲージを上げる
boxf 0,10,gaugeup,24;ボスゲージ表示
if gaugeup=380 {;ゲージが画面一杯になった時
bob=1;ゲージを上げない
bog=boss/380;ゲージの長さを出す計算
}
}
if bob=1 {;ゲージが上がりきった後
if boss=0 : stop;変数bossが0になったら終了
boxf 0,10,boss/bog-1,24;ゲージを減らしていく
boss-};変数ボスを減らしていく
pos 150,30
mes ""+boss+""
redraw 1;画面更新
await 16
loop
*************************************
これを実行すると、ゲージがグーンと上がっていって1ドットづつ減って行きます。
実行するとこんな感じです。
一番悩んだのが、ゲージの長さです。
ボスによって体力は違いますが、ゲージの長さは同じですよね。それを、どんな体力のボスでもゲージ一杯にしたかったんです。
例えば、上のスクリプトで言えばゲージの長さは380ドットです。ボスの体力は500あります。
boxfでゲージを表示させているので、普通にコピーすると120ドットはみ出してしまいます。
つまり、500をなんとかして380にしないといけないと言うことになります。
500を380にする為には、500÷380で大体1.35。で、500÷1.35で大体計算出来ます。
それを踏まえて、13行目のbog=boss/380で割る数字を計算して、18行目の
boxf 0,10,boss/bog-1,24でゲージ本体を表示させています。-1にしているのは最後に体力が0になった時に1ドットだけゲージが残って
しまうので、それの対策の為です。
試しに4行目のボスの体力を色んな数字に変更しても、ゲージは380ドットで表示されますので
どんな体力のボスでも表示OKに出来ました^^
PR
この記事にコメントする
カレンダー
10 | 2024/11 | 12 |
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 |
リンク
カテゴリー
最新記事
(04/04)
(12/26)
(12/25)
(11/17)
(10/11)
プロフィール
HN:
kt.
性別:
男性
自己紹介:
プログラミング経験は昔ファミリーベーシックでちょっとさわったくらい。
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
ブログ内検索
最古記事