C# (XNA) での当たり判定
-
Bun
C# (XNA) での当たり判定
xnaでシューティングゲームを作成しているものですが・・・
19章までのC#向けファイルを見つけることまではできたのですが、それ以降で詰まっています。
最低限シューティングゲームを作るためには自機の当たり判定が欲しいのですが(21章)C#での記述法がわかりません。
どなたか、お助けいただけないでしょうか?
xnaは3.1です。
19章までのC#向けファイルを見つけることまではできたのですが、それ以降で詰まっています。
最低限シューティングゲームを作るためには自機の当たり判定が欲しいのですが(21章)C#での記述法がわかりません。
どなたか、お助けいただけないでしょうか?
xnaは3.1です。
Re: C# (XNA) での当たり判定
Dixqさんの龍神録をC#+XNAに移植したものだと書いてありますから、多分移植だと思います。
ということで、C言語板の龍神録の21章をC#+XNAに移植すれば良いと思います。
移植の仕方が分からないというのであれば、具体的な質問をお願いします。
例えば、C言語での配列はC#でどうやって書けばいいのか、とか。
ということで、C言語板の龍神録の21章をC#+XNAに移植すれば良いと思います。
移植の仕方が分からないというのであれば、具体的な質問をお願いします。
例えば、C言語での配列はC#でどうやって書けばいいのか、とか。
-
Bun
Re: C# (XNA) での当たり判定
ご返事ありがとうございます。
具体的にわからないことは、どこのクラスにどのコードを記述すればいいのか?ということです。
21章でいうstruct.hや、GV.h、load.cpp load、ini.cpp等のC++で記述するべき場所が、C#においてどこに対応しているかが知りたいです。
具体的にわからないことは、どこのクラスにどのコードを記述すればいいのか?ということです。
21章でいうstruct.hや、GV.h、load.cpp load、ini.cpp等のC++で記述するべき場所が、C#においてどこに対応しているかが知りたいです。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: C# (XNA) での当たり判定
私の書いたコードですのがすっかり忘れてております。
なので、まずXNA側コードが元の龍神録と19章までの部分でどの様に対応しているかを先に調べられたほうが良いと思います。
そうすれば、かなり理解が進みますので20章以降も難しくなくなるはずです。
まぁ、21章の場合当たり判定と無敵処理なので自弾の当たり判定を敵と自分の当たり判定に応用すれば作れる気がします。
なので、まずXNA側コードが元の龍神録と19章までの部分でどの様に対応しているかを先に調べられたほうが良いと思います。
そうすれば、かなり理解が進みますので20章以降も難しくなくなるはずです。
まぁ、21章の場合当たり判定と無敵処理なので自弾の当たり判定を敵と自分の当たり判定に応用すれば作れる気がします。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
Bun
C# (XNA) での当たり判定
当たり判定用のクラスが必要になるでしょうか?
また、必要でないならどのクラスに実装するのがよいのでしょうか?
何度も済みませんが、お願いします<(_ _)>
また、必要でないならどのクラスに実装するのがよいのでしょうか?
何度も済みませんが、お願いします<(_ _)>
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: C# (XNA) での当たり判定
あった方が良いとは思いますが、まずはShot.csに実装してみたらどうでしょうか?Bun さんが書きました:当たり判定用のクラスが必要になるでしょうか?
また、必要でないならどのクラスに実装するのがよいのでしょうか?
何度も済みませんが、お願いします<(_ _)>
PlayerShotの当たり判定はPlayerShot.csに実装されていますので参考にして下さい。
なお、当たり判定用のクラスを作るときはShot.csとPlayerShot.csで共通になるように工夫して下さい。。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
Bun
Re: C# (XNA) での当たり判定
public void Collision(Enemy[] enemys,Shot enemyShot,Effect effect)
{
// 最大ショット数分
for( int sn=0 ; sn<plShot.Length ; sn++ ) {
// 有効なら
if( plShot[sn].bflag ) {
// 全部の敵と当たり判定
for( int en=0 ; en<enemys.Length ; en++ ) {
// 敵が有効?
if( enemys[en].IsLive() ) {
// 自機ショットと敵が当たっていれば
if( hit_judge(ref plShot[sn],enemys[en]) ) {
// 当たった弾は消える。
plShot[sn].bflag = false;
// ダメージを与えて敵が死亡したら
if( enemys[en].HitDamage(plShot[sn].power) ) {
// 弾幕を中断
enemyShot.ShotCancel( enemys[en] );
// 消滅のエフェクト
effect.EnterDelEffect( enemys[en] );
}
}
}
}
}
}
}
このようなコードの には何を書けばいいのでしょうか?
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: C# (XNA) での当たり判定
逆に質問してしまいますが、敵の弾と自機の当たり判定で必要な引数って何でしょうか?
[補足]XNA版の19章のコードをちゃんと理解していれば分かるはずです。
[補足]XNA版の19章のコードをちゃんと理解していれば分かるはずです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
Bun
Re: C# (XNA) での当たり判定
自機の位置、敵の弾座標、あたり範囲などでしょうか。。
いまいち自機の座標をどこから持ってくればいいのかわからないので、簡単なあたり判定も実装できない状況です。
勉強不足ですみません。
いまいち自機の座標をどこから持ってくればいいのかわからないので、簡単なあたり判定も実装できない状況です。
勉強不足ですみません。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: C# (XNA) での当たり判定
自機の座標変数はどのクラスのなんという名前の変数でしょうか?
あとShot.csは敵弾のクラスですので敵弾の情報は保持しているはずですよね。探してみてください。
当たり範囲は本家龍神録と比べてみてください。忘れてしまっています。
あとShot.csは敵弾のクラスですので敵弾の情報は保持しているはずですよね。探してみてください。
当たり範囲は本家龍神録と比べてみてください。忘れてしまっています。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: C# (XNA) での当たり判定
そこら辺は本家と同じですよ。Bun さんが書きました:敵の弾情報は、弾幕によって判定する変数などは変えるのでしょうか・・・
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: C# (XNA) での当たり判定
その質問はかなりC#の基礎文法の知識の問題ですが、C#の入門書などは勉強されたのでしょうか?
Playerクラスのオブジェクトは何処にあって、drawPosがどういう定義なのか理解されていますか?
[補足]クラスのカプセル化が行われているので単純には取り出せませんし取り出しても行けません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
Bun
C# (XNA) での当たり判定
一応勉強はしたのですが、カプセル化などはなかなか理解できませんでした。
ということは新しく変数を作るというのも一つの手としていいということでしょうか。
ということは新しく変数を作るというのも一つの手としていいということでしょうか。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: C# (XNA) での当たり判定
drawPosを取り出す為のメソッド関数を追加して下さい。Bun さんが書きました:一応勉強はしたのですが、カプセル化などはなかなか理解できませんでした。
ということは新しく変数を作るというのも一つの手としていいということでしょうか。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
Bun
Re: C# (XNA) での当たり判定
[quote="softya(ソフト屋drawPosを取り出す為のメソッド関数を追加して下さい。[/quote]
わかりました。
何とかなりそうになってきました。
いろいろ教えてくださりありがとうございました。
わかりました。
何とかなりそうになってきました。
いろいろ教えてくださりありがとうございました。