HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0718
初心者ブロック崩しについて5未解決


初心者

リンク

2012/7/18(Wed) 07:24:13|NO.47756

ブロック崩しで何点か質問があります

・ライフなどを設定したいのですがどうすれば設定できますか?
・すべてのブロックが消えたらゲームを止めて「CLEAR」と表示したいけどどうすればいいですか?
・アイテムなどを導入したいのですがどうすれば出せますか?
あとこれはブロック崩しには関係ないのですが
mmload "○○.mp3",1,1
mmplay
で音楽が再生されますよね?これを流し続けたいのですが
一回しか流せません。どうすれば流し続けられますか?



この記事に返信する


YSR

リンク

2012/7/18(Wed) 08:13:26|NO.47757

 ・ライフなどを設定したいのですがどうすれば設定できますか?

→ライフ用に変数を設定。ボールを取り落としたと判定したら1を引く、とかにすれば良い。
 ・すべてのブロックが消えたらゲームを止めて「CLEAR」と表示したいけどどうすればいいですか?
→例:それぞれのブロックに「0か1か」を割り当てる(それぞれ消えた、消えてない)。
 消えてないブロックだけ表示(for〜next文とかを使う)して、ボールが消えてない
ブロックにぶつかったら、衝突判定後、割り当てを0にする。全部0になったと判定できれば
「CLEAR」と表示する。

・アイテムなどを導入したいのですがどうすれば出せますか?
→上の例で行けば、「ブロック」(と言うか物)の種類も変数(配列とか)に保存しておく。
ブロックと同じように当たり判定をして、当たった際にアイテムの効果が発動するようにする。
(ブロックの種類によってif文で場合分けするっってこと)

 あとこれはブロック崩しには関係ないのですが
mmload "○○.mp3",1,1 mmplay で音楽が再生されますよね?これを流し続けたいのですが 一回しか流せません。どうすれば流し続けられますか?
→mmplayを、ループ内じゃなくて1回だけ実行するようにすればいいのかな?



流星群

リンク

2012/7/18(Wed) 18:51:49|NO.47768

ちょうど自分もブロック崩しを作っているので
コメントします

さきにYSRさんが回答しているので
ライフ等は抜いて
ブロックの全破壊完了(クリア)を説明します

ブロック全破壊は
ブロックの配列変数をblockとし
block=0 はなし、 block=1 はありとすると


clearcnt=0 ; クリア時用のフラグとします
repeat 配列変数の数
if block(cnt)=0 : clearcnt++
loop

if clearcnt=配列変数の数 : dialog"クリア"

等にしてください
もっと良い方法があるかもしれませんが
これが一番単純かな?



Makoto

リンク

2012/7/18(Wed) 19:52:15|NO.47769

>ライフなどを設定したいのですがどうすれば設定できますか?
ライフというのが何を指すのかよくわからないのですが
(自機に体力のようなもの設定したいのか、残機の事なのか)
ひょっとしたらブロックの耐久力のことでしょうか。

もしそうなら、こんな具合で実現できます。
・他の方が書かれているように、各ブロックに対応した配列変数を用意しておきます。
・ステージの開始時にその配列に耐久力の数値を入力しておきます。
 (1回で破壊できるブロックには1、2回なら2といった具合に)
・ボールが命中したらその配列の数値を-1します。
・0になったら破壊されたとして処理をします。

>すべてのブロックが消えたらゲームを止めて「CLEAR」と表示したいけどどうすればいいですか?
流星群さんが書かれているような方法でもできますが、もっと単純に
・ステージの開始時にブロックの総数をカウント用の変数に入れておきます。
・ブロックが破壊されたら、その変数を-1。
・0になったらステージクリア。

もし、アイテムなどでブロックが増えるというようなことがあるならば
増えたときにカウント用の変数も同じ数だけ増やしてください。



spider

リンク

2012/7/18(Wed) 22:39:42|NO.47771

そもそもライフ数を
Lifeなりなんなりの変数で管理することや
mmplayでの無限ループをさせることが
よくわからん人がブロック崩し本体を作れるのか?
っというか本体ができてたらどれも本体の描画で扱った
配列変数を使って何とかなると思うよ。
そもそも設定っていう言い方が基礎わかってなさそうな感じだ。

作れたとしても、なんかダメな気がする。
だってプログラムって日々の気づきとかによって
基礎が分かっていない人のプログラムって
改造とかできないし。基盤がしっかりしてないと。

あとヘルプ読もう!



ヂオン

リンク

2012/7/21(Sat) 00:17:07|NO.47797

とりあえず HSP のサンプルに 簡単なブロック崩しのスクリプトが有るはずです。

hsp がインストールされているフォルダの、[ sample\game\block3.hsp ] とか参考になるかも?



ONION software Copyright 1997-2021(c) All rights reserved.