パックマン風ゲームにおける当たり判定について
- purin52002
- 記事: 235
- 登録日時: 7年前
- 連絡を取る:
Re: パックマン風ゲームにおけるワープ通路の実装の仕方がわからない。
コードを載せるのはいいんですけど、「お疲れ様です^^」としかコメントが返せません^^;
コードを載せるだけなら日記とかに進捗報告として載せるというのはどうですか?
コードを載せるだけなら日記とかに進捗報告として載せるというのはどうですか?
c++初心者を自負しています。
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
Re: パックマン風ゲームにおけるワープ通路の実装の仕方がわからない。
今、当サイトに書かれてあるコードを参考に、衝突判定を使わない当たり判定を書いたのですが、purin52002 さんが書きました:コードを載せるのはいいんですけど、「お疲れ様です^^」としかコメントが返せません^^;
コードを載せるだけなら日記とかに進捗報告として載せるというのはどうですか?
なかなか当たり判定が認識されず、どうすればいいのかわからないという質問をしようと思っていたんです…。
日記に載せるべき内容ならすでに乗せてますよ…。
デバッグは投げ捨てるものではない。
今までの質問でこれは学んだこと。
質問する時は、必ずちゃんと調べた上に問題をもとにした仕様書を作ってから質問すること。
仕様書の大切さを改めて思い知った…。
今までの質問でこれは学んだこと。
質問する時は、必ずちゃんと調べた上に問題をもとにした仕様書を作ってから質問すること。
仕様書の大切さを改めて思い知った…。
Re: パックマン風ゲームにおけるワープ通路の実装の仕方がわからない。
ゲームプログラミングの館の移動サンプルプログラムは方向転換がブロック単位です。
ちなみにわたしがNo.8に書いたパックマンの動きとは合致しません。
仕切り直しが発生しているのでしょうか。
現状どういう状況なのでしょう。
「パックマン風」とはパックマンではなく、とにかく目に付いたコードを切り貼りしてそれっぽく動くことを目指すところのものなのでしょうか。
そもそもkeito94さんが何をもって「それっぽい」と判断されるのか分かりません。
なにがなんだか。
ちなみにわたしがNo.8に書いたパックマンの動きとは合致しません。
仕切り直しが発生しているのでしょうか。
現状どういう状況なのでしょう。
「パックマン風」とはパックマンではなく、とにかく目に付いたコードを切り貼りしてそれっぽく動くことを目指すところのものなのでしょうか。
そもそもkeito94さんが何をもって「それっぽい」と判断されるのか分かりません。
なにがなんだか。
Re: パックマン風ゲームにおけるワープ通路の実装の仕方がわからない。
No.28で書いたとおり、壁ですり抜けて困っています。ISLe さんが書きました: 現状どういう状況なのでしょう。
どうしたらサンプルコードみたいにパックマンが壁で止まってくれるか?
それを考えていたところです。
パックマンが本家パックマンみたいな動きをすることです。ISLe さんが書きました: そもそもkeito94さんが何をもって「それっぽい」と判断されるのか分かりません。
でも、なかなか大変ですね…。
デバッグは投げ捨てるものではない。
今までの質問でこれは学んだこと。
質問する時は、必ずちゃんと調べた上に問題をもとにした仕様書を作ってから質問すること。
仕様書の大切さを改めて思い知った…。
今までの質問でこれは学んだこと。
質問する時は、必ずちゃんと調べた上に問題をもとにした仕様書を作ってから質問すること。
仕様書の大切さを改めて思い知った…。
- purin52002
- 記事: 235
- 登録日時: 7年前
- 連絡を取る:
Re: パックマン風ゲームにおけるワープ通路の実装の仕方がわからない。
失礼しました。
余計なことを言って質問者さんも回答者さんも混乱させてしまいました^^;
本家パックマンみたいな動きですと、私が投稿した方法とは合致しないかもしれません。
余計なことを言って質問者さんも回答者さんも混乱させてしまいました^^;
本家パックマンみたいな動きですと、私が投稿した方法とは合致しないかもしれません。
c++初心者を自負しています。
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
Re: パックマン風ゲームにおけるワープ通路の実装の仕方がわからない。
それは、最初にどうするか・どうしたいか決めずに、目に付いたコードを適当に切り貼りしているからですよ。keito94 さんが書きました:でも、なかなか大変ですね…。
きちんと最初に決めたことに必要な部分だけを参考にしたり、最初に決めたことに必要な改変をしたり、中身を理解して軸がブレないようにやればもっと楽にできるはずです。
混ぜたらダメなコードを混ぜて使って絶対にうまくいくわけがない。
あと、ブロックの当たり判定部分について、keito94さんは過去のトピでソースファイルをzipで添付したことがあるだけでまだいちども説明してない。
わたしが「パックマン風にはまったくの不向き」と書いた部分のこと。
そこは現在どうなっているのか。
いまもそのままなのであればうまくいかないのが当然だと思うのですが。
まぜるなきけん。
最後に編集したユーザー ISLe on 2017年7月28日(金) 17:49 [ 編集 1 回目 ]
Re: パックマン風ゲームにおけるワープ通路の実装の仕方がわからない。
ISLeさん、あなたがそう言うなら、ソースコードを公開しますね。
purinさんが出した方法では、本人も言っているとおり不向きかもしれませんが…。
当たり判定がバグバグであることも了承していただければと…。
本家パックマンに近い当たり判定への鍵もあったら教えてください。
purinさんが出した方法では、本人も言っているとおり不向きかもしれませんが…。
当たり判定がバグバグであることも了承していただければと…。
本家パックマンに近い当たり判定への鍵もあったら教えてください。
- 添付ファイル
-
- Question.zip
- (3.45 KiB) ダウンロード数: 507 回
デバッグは投げ捨てるものではない。
今までの質問でこれは学んだこと。
質問する時は、必ずちゃんと調べた上に問題をもとにした仕様書を作ってから質問すること。
仕様書の大切さを改めて思い知った…。
今までの質問でこれは学んだこと。
質問する時は、必ずちゃんと調べた上に問題をもとにした仕様書を作ってから質問すること。
仕様書の大切さを改めて思い知った…。
Re: パックマン風ゲームにおけるワープ通路の実装の仕方がわからない。
コンテナを使った当たり判定は削除されていますね。
#コンテナ自体は残ってるけど。
どうしてブロックをすり抜けてしまうのか、については基本すぎるので、ちゃんとデバッグしてください、としか言えません。
#コンテナ自体は残ってるけど。
どうしてブロックをすり抜けてしまうのか、については基本すぎるので、ちゃんとデバッグしてください、としか言えません。
Re: パックマン風ゲームにおけるワープ通路の実装の仕方がわからない。
これまでの投稿に書いたことでは足りませんか?keito94 さんが書きました:本家パックマンに近い当たり判定への鍵もあったら教えてください。
ちゃんと読めば、パックマンには、いわゆる壁との当たり判定も、このトピの主題であるワープ判定も、もともと必要ないことが分かると思うんですが。
Re: パックマン風ゲームにおける当たり判定について
ISLeさんの親切な言葉で、ワープトンネルは画面端を接続させることで実装させるということはわかりました。
ですが今のままでは問題がありそうです…。
改善案はありませんか?
ということは、と思い、今問題となっている部分を修正しています。
そのマップを処理するためにマップエディターを作ろうと思ってますので頑張ります!!
# ワープ判定。
if self.fpx == 0.0:
self.fpx = 640.0
if self.fpx == 640.0:
self.fpx = 0.0
if self.fpy == 0.0:
self.fpy = 480.0
if self.fpy == 480.0:
self.fpy = 0.0
改善案はありませんか?
でも、画像を何個作ればいいのかわからないので、マップチップのサンプルを自作でください。ISLe さんが書きました: パックマンの迷路は、8x8のチップ画像で構成されています。
直線と角が数パターンあり、それらの組み合わせです。
パックマンの迷路のチップ画像は、壁がチップの中央を通るように描かれています。
パックマンは(モンスターも)迷路の壁の描かれたチップの半分といつも重なっています。
曲がり角に達するより先に、重なっているチップの種類で曲がり角かどうか容易に判定できるというわけです。
ということは、と思い、今問題となっている部分を修正しています。
そのマップを処理するためにマップエディターを作ろうと思ってますので頑張ります!!
デバッグは投げ捨てるものではない。
今までの質問でこれは学んだこと。
質問する時は、必ずちゃんと調べた上に問題をもとにした仕様書を作ってから質問すること。
仕様書の大切さを改めて思い知った…。
今までの質問でこれは学んだこと。
質問する時は、必ずちゃんと調べた上に問題をもとにした仕様書を作ってから質問すること。
仕様書の大切さを改めて思い知った…。
Re: パックマン風ゲームにおける当たり判定について
何でそんなに上から目線なんですか。keito94 さんが書きました:でも、画像を何個作ればいいのかわからないので、マップチップのサンプルを自作でください。
あなたの指示で動く義務はないのでお断りします。
ネットで検索すればパックマンのスクリーンショットくらい簡単に見付かるでしょうに。
他所で、パックマン風はパックマンとは異なる、というのを肯定されてますよね。
本家パックマンと異なる本家パックマンみたいなもの、というのは難解で理解が追い付きません。
本家パックマンのことなら分かるんですけどね。
Re: パックマン風ゲームにおける当たり判定について
ごめんなさいパックマン風というのはパックマンクローンという意味でした…。ISLe さんが書きました: 他所で、パックマン風はパックマンとは異なる、というのを肯定されてますよね。
本家パックマンと異なる本家パックマンみたいなもの、というのは難解で理解が追い付きません。
本家パックマンのことなら分かるんですけどね。
訂正させてください…。
オフトピック
ああ、怠惰だ~、怠惰怠惰怠惰怠惰~!!keito94 さんが書きました: でも、画像を何個作ればいいのかわからないので、マップチップのサンプルを自作でください。
自分で作っておきながら製作依頼をしてしまった私の怠惰をお許しくださいませぇ~!
最後に編集したユーザー keito94 on 2017年7月29日(土) 17:21 [ 編集 1 回目 ]
デバッグは投げ捨てるものではない。
今までの質問でこれは学んだこと。
質問する時は、必ずちゃんと調べた上に問題をもとにした仕様書を作ってから質問すること。
仕様書の大切さを改めて思い知った…。
今までの質問でこれは学んだこと。
質問する時は、必ずちゃんと調べた上に問題をもとにした仕様書を作ってから質問すること。
仕様書の大切さを改めて思い知った…。
Re: パックマン風ゲームにおける当たり判定について
クローンの意味分かってます?
パックマンを目指していると言ったり目指していないと言ったりあげくにクローン。
支離滅裂。
クローン作るのを手伝って欲しいならオリジナルがどうなっているか観察して分かることをすべて具体的に発表してください。
いまのところそれはkeito94さんでなくわたしがやっている。
keito94さんが自分からは何もしないから支離滅裂なのですよ。
パックマンを目指していると言ったり目指していないと言ったりあげくにクローン。
支離滅裂。
クローン作るのを手伝って欲しいならオリジナルがどうなっているか観察して分かることをすべて具体的に発表してください。
いまのところそれはkeito94さんでなくわたしがやっている。
keito94さんが自分からは何もしないから支離滅裂なのですよ。
オフトピック
keito94さんは回答者をどんなふうに見ているのだろうか。
自分と同じ下手の横好き(!)が集まっているとでも思っているのだろうか。
自分と同じ下手の横好き(!)が集まっているとでも思っているのだろうか。
Re: パックマン風ゲームにおける当たり判定について
クローンの意味すらわからなかった…。ごめんなさい。さっきのクローン発言やパックマンを目指していない発言は取り消しとさせてください。ISLe さんが書きました:クローンの意味分かってます?
パックマンを目指していると言ったり目指していないと言ったりあげくにクローン。
支離滅裂。
とにかくパックマンっぽいゲームを目指しているんですけど、ボクの頭の中が右往左往してしまって…。
ボクが今考えていることを順序立てて説明しますね…。
①テトリスがおもったよりも難しそうだったからパックマンっぽいゲームを作ろうと考えた。
②マップ表示と、当たり判定は一通りできた。
③ワープトンネルの実装をしようとしたが…
④ワープ判定をするマップチップや、コンテナは使わないと指摘された。
⑤曲道がちゃんと実装されてないと事に気づき、色々聞いてみたところ衝突判定は関係ないよと言われた。
⑥今はパックマンの仕様に合うよう様々な方面で悪戦苦闘中…。(←今ここ)
オフトピック
回答者さんはちゃんと知識などがある方だと思ってますよ…。
下手の横好きだなんてとんでもない。
下手の横好きだなんてとんでもない。
デバッグは投げ捨てるものではない。
今までの質問でこれは学んだこと。
質問する時は、必ずちゃんと調べた上に問題をもとにした仕様書を作ってから質問すること。
仕様書の大切さを改めて思い知った…。
今までの質問でこれは学んだこと。
質問する時は、必ずちゃんと調べた上に問題をもとにした仕様書を作ってから質問すること。
仕様書の大切さを改めて思い知った…。
Re: パックマン風ゲームにおける当たり判定について
オフトピック
そういうことでなくて…keito94 さんが書きました:回答者さんはちゃんと知識などがある方だと思ってますよ…。
下手の横好きだなんてとんでもない。
keito94さんは回答者を、問題解決する方法を教えてくれる先生じゃなくて、作りたいものを一緒に作る仲間みたいに見てるんじゃないだろうかってことなんですけどね。
あと、下手の横好きってのは知識や技術のありなしでなくて、本物かどうかってことですよ。
Re: パックマン風ゲームにおける当たり判定について
いいえ、そう考えてないですよ!!ISLe さんが書きました: keito94さんは回答者を、問題解決する方法を教えてくれる先生じゃなくて、作りたいものを一緒に作る仲間みたいに見てる
回答者は、解決方法を教えてくれてると思います!!
ところで、質問ですが、今までの書き込みをよく読んで、パックマンの仕様に合うように変更しているのですが…。
どうやって、32x32のキャラを反対側に表示するのかがわかりません。座標が256以上になる部分は反対側に表示されます。
デバッグは投げ捨てるものではない。
今までの質問でこれは学んだこと。
質問する時は、必ずちゃんと調べた上に問題をもとにした仕様書を作ってから質問すること。
仕様書の大切さを改めて思い知った…。
今までの質問でこれは学んだこと。
質問する時は、必ずちゃんと調べた上に問題をもとにした仕様書を作ってから質問すること。
仕様書の大切さを改めて思い知った…。
Re: パックマン風ゲームにおける当たり判定について
オフトピック
例えばの話ですが、回答者の中にバンダイナムコから公式にリリースされているパックマンの開発に関係したひととかがいて、そういうひとに向かって「あなたの考え方のコードください」とか「あなたがマップチップ自作してください」とか平然と言うのは、とてつもなくあつかましいことだと思うんですよ。keito94 さんが書きました:いいえ、そう考えてないですよ!!ISLe さんが書きました: keito94さんは回答者を、問題解決する方法を教えてくれる先生じゃなくて、作りたいものを一緒に作る仲間みたいに見てる
回答者は、解決方法を教えてくれてると思います!!
回答者を下に見てる意識があってもなくても、あつかましいことには違いはないですけどね。
反対側にも表示すればいいだけですよ。keito94 さんが書きました:どうやって、32x32のキャラを反対側に表示するのかがわかりません。
でも原作と同じ形の迷路なら反対側に同時に表示される状況にはならないですが。
けっきょくどこまでパックマンに寄せることになってるのでしょうか。
そこらへん、はっきりしてください。
Re: パックマン風ゲームにおける当たり判定について
どうすればいいのか、
実は頭のなかで考えてました。
画面端に来たら、反対に表示させる…。
こうでしょうか?
…でも、パックマンが反対側へ移動しません。
どうしたらいいのでしょうか?
そう思っています。
実は頭のなかで考えてました。
画面端に来たら、反対に表示させる…。
こうでしょうか?
# パックマンを反対側へ表示させる。
if self.rect.x == 640:
self.rect.x = 0
if self.rect.x == 0:
self.rect.x = 640
if self.rect.y == 480:
self.rect.y = 0
if self.rect.y == 0:
self.rect.y = 480
どうしたらいいのでしょうか?
そうですよね…。でも原作と同じ形の迷路なら反対側に同時に表示される状況にはならないですが。
端部は違えど、なるべく本家に近づけたい…。けっきょくどこまでパックマンに寄せることになってるのでしょうか。
そこらへん、はっきりしてください。
そう思っています。
デバッグは投げ捨てるものではない。
今までの質問でこれは学んだこと。
質問する時は、必ずちゃんと調べた上に問題をもとにした仕様書を作ってから質問すること。
仕様書の大切さを改めて思い知った…。
今までの質問でこれは学んだこと。
質問する時は、必ずちゃんと調べた上に問題をもとにした仕様書を作ってから質問すること。
仕様書の大切さを改めて思い知った…。
Re: パックマン風ゲームにおける当たり判定について
自分でデバッグをして、なんか足りないなと思い、もうひと押ししたところ、ワープトンネルの実装ができました。
これで、当初の目標は達成できたのですが、ファイルの読み込みで今悪戦苦闘を強いられているんだ!!
これで、当初の目標は達成できたのですが、ファイルの読み込みで今悪戦苦闘を強いられているんだ!!
def update(self):
pressed_key = pygame.key.get_pressed()
if pressed_key[K_RIGHT]:
self.walk_flag = True
self.temp_key = Bit_RIGHT
if pressed_key[K_LEFT]:
self.walk_flag = True
self.temp_key = Bit_LEFT
if pressed_key[K_UP]:
self.walk_flag = True
self.temp_key = Bit_UP
if pressed_key[K_DOWN]:
self.walk_flag = True
self.temp_key = Bit_DOWN
# パックマンを反対側へ表示させる。
if self.rect.x >= 608:
self.fpx = 0.0
elif self.rect.x <= 0:
self.fpx = 608.0
elif self.rect.y >= 448:
self.fpy = 0.0
elif self.rect.y <= 0:
self.fpy = 448.0
else:
pass
self.Move()
self.dir_change()
# self.rectを更新するついでに整数座標に戻します。
self.rect.x = int(self.fpx)
self.rect.y = int(self.fpy)
デバッグは投げ捨てるものではない。
今までの質問でこれは学んだこと。
質問する時は、必ずちゃんと調べた上に問題をもとにした仕様書を作ってから質問すること。
仕様書の大切さを改めて思い知った…。
今までの質問でこれは学んだこと。
質問する時は、必ずちゃんと調べた上に問題をもとにした仕様書を作ってから質問すること。
仕様書の大切さを改めて思い知った…。
Re: パックマン風ゲームにおける当たり判定について
ふうん、マップデータファイル読み込みの件は一時はどうなるかと思ったけど、
なんとか頑張って読み込めるようにできた…。
一応解決とさせてください。
なんとか頑張って読み込めるようにできた…。
一応解決とさせてください。
オフトピック
ここまで質問に手間取ったのは自分の傲慢さが、あると思う…。
今から傲慢な態度を改めないとな…。
今から傲慢な態度を改めないとな…。
デバッグは投げ捨てるものではない。
今までの質問でこれは学んだこと。
質問する時は、必ずちゃんと調べた上に問題をもとにした仕様書を作ってから質問すること。
仕様書の大切さを改めて思い知った…。
今までの質問でこれは学んだこと。
質問する時は、必ずちゃんと調べた上に問題をもとにした仕様書を作ってから質問すること。
仕様書の大切さを改めて思い知った…。