検索結果 12 件

by recomm
10年前
フォーラム: C言語何でも質問掲示板
トピック: 【DxLib】マップの壁について
返信数: 13
閲覧数: 6843

Re: 【DxLib】マップの壁について

usao さんが書きました:こういうのは毎回計算せずに,あらかじめ座標データを用意してしまえば良いかと思います.
なるほど、初めにすべて取得しておくということでしょうか
参考にさせてもらいます
オフトピック
usao さんが書きました:officeです…
(PowerPointで適当に描いたのをコピー → ペイントとかにペーストして画像ファイルとして保存)
officeなんですか!
まさかとは思ってましたがそのまさかとは…
教えていただきありがとうございます
by recomm
10年前
フォーラム: C言語何でも質問掲示板
トピック: 【DxLib】マップの壁について
返信数: 13
閲覧数: 6843

Re: 【DxLib】マップの壁について

現行の方法(=座標を32で除してmap[][]のindexとして使って判定)でやるのであれば 1点だけ とか 4点だけ とか極端に判定する場所の個数をケチらなくとも,例えば ・円を(幅1pixelで)描画した際に,描画が行われる画素位置の集合を使う とか ・円周上を1度刻みで360点サンプリングした座標を使う とかもう少し贅沢にサンプル点を取れば,よりマシに(程度問題)なるのではないでしょうか. 円の描画も考えてみましたが処理速度が極端に遅くなりそうなのでやめました (円の描画からの点の座標取得、移動するたび全ての座標データを書き換える) なので、 [追記] 面倒なら円じゃなくて矩形にしちゃ...
by recomm
10年前
フォーラム: C言語何でも質問掲示板
トピック: 【DxLib】マップの壁について
返信数: 13
閲覧数: 6843

Re: 【DxLib】マップの壁について

4点は4点でおかしくなりました

画像

円で判定できれば楽なのですが…
画像
by recomm
10年前
フォーラム: C言語何でも質問掲示板
トピック: 【DxLib】マップの壁について
返信数: 13
閲覧数: 6843

Re: 【DxLib】マップの壁について

usao さんが書きました:進行方向の先の1点だけを判定すると下図のような挙動になりそうですが,大丈夫ですか?

A地点から右方向に移動することは可能 → 結果としてB地点に行ける
しかしC地点から下方向に移動することは不可能 → この方向からはB地点に行けない

>壁との当たり判定を円(中心からの距離)…

ということであれば,前者側の挙動はまずいように思います.
あ…そうですね
デバッグしてみたら画像のようにおかしなことになりました

kx[4]とky[4]を宣言して上下左右4点の座標で壁判定を行えばいいのでしょうか
頭がパンクしてきました…
by recomm
10年前
フォーラム: C言語何でも質問掲示板
トピック: 【DxLib】マップの壁について
返信数: 13
閲覧数: 6843

Re: 【DxLib】マップの壁について

先に壁かどうか判定する処理を書けばよいと思います。 先に書くとキーボード操作自体が無効になりました ご回答ありがとうございます 提示された画像において,(px,py)とはどこになりますか? その座標を明示的に確認できるような描画(点を打つとか?)を行う形にして動作を見ると良いのかもしれません. 現在の判定処理でも(px,py)だけは壁の中に入らないように動くのかもしれません. この部分でピンときました、ありがとうございます 前の(px, py)はキャラクター画像の左上の角でしたので右側が壁に入り込んでいたようです 壁との当たり判定を円(中心からの距離)で取得するようにしました //キャラクタ...
by recomm
10年前
フォーラム: C言語何でも質問掲示板
トピック: 【DxLib】マップの壁について
返信数: 13
閲覧数: 6843

Re: 【DxLib】マップの壁について

いろんな表現を乱用しすぎたようで申し訳ございません
したいことだけを簡潔にいうと、
「mapの0でのみ行動できる」ようにしたいです

この手の処理は座標だけでは成し得ないものなのでしょうか
by recomm
10年前
フォーラム: C言語何でも質問掲示板
トピック: 【DxLib】マップの壁について
返信数: 13
閲覧数: 6843

【DxLib】マップの壁について

昨日連射に関するトピックを建てて、今日もまた別件でトピックを建てるのはあまり好まないのですがどうしてもわからないので教えていただきたいです キャラクターを操作する際、壁に入らせたくないのですがその時の計算がわかりません //0は行動可能領域、1は壁 int map[15][20] = { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 }, { 1, 0, 0, 0, 0, 0, 0, 0, 0...
by recomm
10年前
フォーラム: C言語何でも質問掲示板
トピック: 【DXLib】弾の連射について
返信数: 8
閲覧数: 5091

Re: 【DXLib】弾の連射について

おお!!できました!
なるほど、保存と利用の仕組みがよくわかりました
ありがとうございました
by recomm
10年前
フォーラム: C言語何でも質問掲示板
トピック: 【DXLib】弾の連射について
返信数: 8
閲覧数: 5091

Re: 【DXLib】弾の連射について

できます。 numまたは弾の速度を弾のデータを管理する構造体に保存しましょう。 numを保存する場合のコードはどうすればよいのでしょうか 私も似たようなことを試してみましたが、numは方向キーを押すたびに変わるので別の変数を経由しても結局上書きされてしまいます。 なんで弾の構造体配列の要素のメンバと推測されるものに添字っぽいものが付いているんだ…?怪しいなあ…? shの型がわからないから断定はできないけど、まさかメモリを本来必要な量の約2乗 (2倍ではない) も確保するようなバカな真似はしていないよな…? ご指摘ありがとうございます、修正しました 参考サイトを見てみましたが当たり前にこのよう...
by recomm
10年前
フォーラム: C言語何でも質問掲示板
トピック: 【DXLib】弾の連射について
返信数: 8
閲覧数: 5091

Re: 【DXLib】弾の連射について

がんばってプログラムを組んでみました ちゃんと連射自体はできたのですがバグが起きました 私が参考にしていたサイトはどこも上向きオンリーのシューティングだったのでもちろん下を向いたりすることなど想定外です。 そのため私のプログラムでは方向転換時に発射した全ての弾が同時に向いた方向へ流れてしまいます numで向いている方向を取得し、そのnumの値によって弾の座標を動かすもので、原因はそこにあるとわかっているのですが… 弾一つ一つを独立させることはできないのでしょうか while (!ProcessMessage() && gpUpdateKey() == 0) { ClearDrawScreen(...
by recomm
10年前
フォーラム: C言語何でも質問掲示板
トピック: 【DXLib】弾の連射について
返信数: 8
閲覧数: 5091

Re: 【DXLib】弾の連射について

あ、申し訳ございません
肝心の質問が抜けていました
現在の単発のコードから連射を可能にするにはどう書き換えればよいのでしょうか
by recomm
10年前
フォーラム: C言語何でも質問掲示板
トピック: 【DXLib】弾の連射について
返信数: 8
閲覧数: 5091

【DXLib】弾の連射について

はじめまして、DXライブラリを勉強し始めてから間もない者です マップを生成し、そのマップ上でキャラクターを戦わせる一種のTPSのようなものを作っております そこでさまざまなサイトを参考にして組んだのですが、現在の私の弾発射のコードは単発でここから連射できるようにしたいです SPACEキーを押すことで弾を発射します コードです #include "DxLib.h" int player[12], chip[2], shot; int px = 1, py = 1; int sx, sy; bool sf = false; int num = 1; int map[15][20] = { { 1,...

詳細検索ページへ移動する