はじめて投稿させていただきます
早速、要件に入って悪いのですがインベーダーの作り方で悩んでいる部分があります
敵の配置と敵を消す方法です
敵の配置はマップチップでの描画でいいのかな~とは思っているのですが
その場合だとどうやって敵を消すか分からないのです
敵は戦闘機の弾に当たると消滅しますよね
マップチップで敵を描画した場合、敵に弾が当たっているかどうかはわかると思うんですが
どの敵に当たっていてどの敵を消すべきかが分からないと思うんです
どうかこの辺を初心者にもわかりやすく教えてください
わがままが過ぎますがお願いします
インベーダーの作り方
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: インベーダーの作り方
敵をマップチップにしても当たり判定は出来ますが、マップチップにする意味が無いと思います。
普通に敵キャラはキャラとして表示れば良いと思いますよ。
ちなみに敵の配置は、構造体の配列で管理すれば並びのイメージと一致させられるのでは?
普通に敵キャラはキャラとして表示れば良いと思いますよ。
ちなみに敵の配置は、構造体の配列で管理すれば並びのイメージと一致させられるのでは?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
隠蔽
Re: インベーダーの作り方
私のいいかたが悪かったですね 迷惑をかけます・・・
そうです!マップチップとはまさにソフト屋さんの仰った構造体配列を言ったつもりでした
ここのサイトでマップチップという言葉を使っていたのでそう覚えていました
割った余りという考え方を使えばできると記載してありました
マップとの当たり判定の場合はキャラを動かないようにさせるというだけでいいですが
インベーダーの場合は当たったキャラを消さないといけません
それを行うのには割った余りの考え方だけではダメな気がします(そのキャラに当たったか分からない)
その辺りを教えていただきたいです 何卒、お願いします
そうです!マップチップとはまさにソフト屋さんの仰った構造体配列を言ったつもりでした
ここのサイトでマップチップという言葉を使っていたのでそう覚えていました
割った余りという考え方を使えばできると記載してありました
マップとの当たり判定の場合はキャラを動かないようにさせるというだけでいいですが
インベーダーの場合は当たったキャラを消さないといけません
それを行うのには割った余りの考え方だけではダメな気がします(そのキャラに当たったか分からない)
その辺りを教えていただきたいです 何卒、お願いします
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: インベーダーの作り方
キャラ一体毎に普通の当たり判定、四角と四角の当たり判定を使えば良いと思います。あるいはもっと簡単な円の当たり判定です。
「C言語~ゲームプログラミングの館~ s11. 当たり判定。」
http://dixq.net/g/54.html
「C言語~ゲームプログラミングの館~ s11. 当たり判定。」
http://dixq.net/g/54.html
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
隠蔽
Re: インベーダーの作り方
処理が速い矩形の当たり判定を利用したいと思います
ここまで教えていただき、このような言い方をするのは失礼にあたりますが
一体一体、当たり判定を設定するしかやり方がないのでしょうか?
もしくは私の実力的に無理というのならば言っていただきたい
すいません・・・
ここまで教えていただき、このような言い方をするのは失礼にあたりますが
一体一体、当たり判定を設定するしかやり方がないのでしょうか?
もしくは私の実力的に無理というのならば言っていただきたい
すいません・・・
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: インベーダーの作り方
円の方が早いかも知れませんよ。まぁ、今時のCPUで気にするレベルでは無いと思いますが。
ブロック当たり判定すると、弾がインベーダーの横をすり抜けることも出来なくなりますよ。
それと昔のインベーダーの様にVRAMをCPUが直接書き換えているわけではないですから。
一体毎に消滅するのですから、一体毎に当たり判定をするしか有りません。隠蔽 さんが書きました:ここまで教えていただき、このような言い方をするのは失礼にあたりますが
一体一体、当たり判定を設定するしかやり方がないのでしょうか?
もしくは私の実力的に無理というのならば言っていただきたい
ブロック当たり判定すると、弾がインベーダーの横をすり抜けることも出来なくなりますよ。
それと昔のインベーダーの様にVRAMをCPUが直接書き換えているわけではないですから。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: インベーダーの作り方
そもそも、本物のインベーダーゲームは、インベーダーが一匹ずつ動きますから、常に碁盤目状に並んでいるとは限らないんですよね。
本物そっくりに作ろうと思ったらとっても難易度が高い題材ですので適当に仕様を決めたら良いのではないでしょうか。
本物そっくりに作ろうと思ったらとっても難易度が高い題材ですので適当に仕様を決めたら良いのではないでしょうか。