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