1つのキャラクタごとにフィールドセル情報をすべてチェックしているから重くなってしまうのかな?
キャラクタごとに当たり判定のチェック範囲を制限するのはいかがでしょうか。
検索結果 53 件
- 4年前
- フォーラム: C言語何でも質問掲示板
- トピック: [雑談][書籍]DirectX 12 の魔導書
- 返信数: 5
- 閲覧数: 7580
Re: [雑談][書籍]DirectX 12 の魔導書
ゲーム制作の書籍じゃないので悩みましたが、わたしも購入してみました。
数学の話などで詳しくは特典ダウンロードのAppendixでと書いてあるのに未だに公開されていないのががっかり・・・(;´・ω・)
でも、directXの解説書籍は9まではある程度ありましたが、10以降から数が少ないのでありがたいですね。
数学の話などで詳しくは特典ダウンロードのAppendixでと書いてあるのに未だに公開されていないのががっかり・・・(;´・ω・)
でも、directXの解説書籍は9まではある程度ありましたが、10以降から数が少ないのでありがたいですね。
- 5年前
- フォーラム: C言語何でも質問掲示板
- トピック: 配列とfor文を使っているのに画像が一つしか表示されない。
- 返信数: 25
- 閲覧数: 30449
Re: 配列とfor文を使っているのに画像が一つしか表示されない。
エラーが出ないのが厄介ですね。
開発環境は何でしょうか?
フリーズするのは無限ループか、ループ処理が多すぎて重くなりフリーズしてるように見えたりが良くありますが・・・
終了してしまう原因がわかりませんね(-_-;)
キャラクターの構造体もどのようになっているのか気になります。
開発環境は何でしょうか?
フリーズするのは無限ループか、ループ処理が多すぎて重くなりフリーズしてるように見えたりが良くありますが・・・
終了してしまう原因がわかりませんね(-_-;)
キャラクターの構造体もどのようになっているのか気になります。
- 5年前
- フォーラム: C言語何でも質問掲示板
- トピック: 配列とfor文を使っているのに画像が一つしか表示されない。
- 返信数: 25
- 閲覧数: 30449
Re: 配列とfor文を使っているのに画像が一つしか表示されない。
データを引きはがすのなら、キャラクターのタイプも座標と同じにキャラクターデータに保持している方が良いと思います。
マップデータ数の分ループを回すよりも、キャラクターデータ分回すほうが少なくて済みますし。
マップデータ数の分ループを回すよりも、キャラクターデータ分回すほうが少なくて済みますし。
- 5年前
- フォーラム: C言語何でも質問掲示板
- トピック: 配列とfor文を使っているのに画像が一つしか表示されない。
- 返信数: 25
- 閲覧数: 30449
Re: 配列とfor文を使っているのに画像が一つしか表示されない。
キャラクターの初期化で最後にmapdataに'0'を代入しているのはなぜでしょうか?
- 5年前
- フォーラム: C言語何でも質問掲示板
- トピック: 配列とfor文を使っているのに画像が一つしか表示されない。
- 返信数: 25
- 閲覧数: 30449
- 5年前
- フォーラム: C言語何でも質問掲示板
- トピック: どうしてもエラーの原因がわからないので教えてください。。。
- 返信数: 4
- 閲覧数: 8303
Re: どうしてもエラーの原因がわからないので教えてください。。。
ループ処理が無いとそのままプログラムは終了してしまいます。
- 5年前
- フォーラム: C言語何でも質問掲示板
- トピック: 配列とfor文を使っているのに画像が一つしか表示されない。
- 返信数: 25
- 閲覧数: 30449
Re: 配列とfor文を使っているのに画像が一つしか表示されない。
描画されないのはCharaMove()のswitch文の分岐では、
char型分岐なのにint型が入っているからではないでしょうか?
char型分岐なのにint型が入っているからではないでしょうか?
- 5年前
- フォーラム: C言語何でも質問掲示板
- トピック: [雑談]Visual Studio 2019 正式版公開
- 返信数: 3
- 閲覧数: 4277
Re: [雑談]Visual Studio 2019 正式版公開
あとはイメージカラーが鮮やかになったぐらいしか違いが分かりません(;^ω^)
- 5年前
- フォーラム: C言語何でも質問掲示板
- トピック: ジャンプの描画について
- 返信数: 2
- 閲覧数: 2682
Re: ジャンプの描画について
whileのループ内で、 一度のキー入力の左右移動判定で計算された後さらに for (i = 1; i <= 15; i++) { if (CheckHitKey(KEY_INPUT_S) == 1) kooraX += 3; if (CheckHitKey(KEY_INPUT_A) == 1) kooraX -= 3; kooraY = -3; DrawGraph(kooraX, kooraY, kooraGraph, TRUE); WaitTimer(1); ClearDrawScreen(); } ここで一気に15回計算されていることになります。 処理が早すぎてWaitTimer()を使...
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: 画像の描画でどうしてもわかりません。
- 返信数: 13
- 閲覧数: 8105
Re: 画像の描画でどうしてもわかりません。
おまけを下のマスに配置するだけの場合、for文の式を逆にして下の行から描画していくという方法なら上書きされずに描画できます。 例 for(int i=(行の最大数-1); i>=0; i--) 最大から0になるまでループを回す。 下に配置するだけではない場合は 今思いついたんですが、 おまけを描画するループを別にする、というのはどうですか? 背景描画ループの後に、 おまけ描画だけを処理するループを作るんです。 for(int i=0; i<m_line; i++){ for(int j=0; j<m_col; j++){ 背景描画 } } for(int i...
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: 画像の描画でどうしてもわかりません。
- 返信数: 13
- 閲覧数: 8105
Re: 画像の描画でどうしてもわかりません。
ループの順番によって下の行の本体に上書きされています。
この書き方だと本体とおまけを描画したあと、おまけが「次の」下の行の本体に上書きされてしまうようですね。
y-16の場合 上書きされない位置なので表示されます。
この書き方だと本体とおまけを描画したあと、おまけが「次の」下の行の本体に上書きされてしまうようですね。
y-16の場合 上書きされない位置なので表示されます。
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: 四聖龍神録2プログラミングの館について2
- 返信数: 5
- 閲覧数: 4813
Re: 四聖龍神録2プログラミングの館について2
はい、座標更新の後でOKです。
プレイヤーと弾、敵と弾、敵とプレイヤー、マップと~などなど組み合わせが多くコードが長くなると思いますので、
draw()やupdate()同様、新たに関数を作ってまとめておいたほうが見やすいと思います。
プレイヤーと弾、敵と弾、敵とプレイヤー、マップと~などなど組み合わせが多くコードが長くなると思いますので、
draw()やupdate()同様、新たに関数を作ってまとめておいたほうが見やすいと思います。
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: 四聖龍神録2プログラミングの館について2
- 返信数: 5
- 閲覧数: 4813
Re: 四聖龍神録2プログラミングの館について2
簡単な例を上げてみます。 プレイヤーと敵同士の当たり判定です。(敵マネージャにプレイヤーの情報を渡して判定してもらう) マネージャ内にこんな感じのものを作って、 //Enemyとの当たり判定チェック bool EnemyManager::CheckHit(float target_x, float target_y) { for (auto it = _list.begin(); it != _list.end();++it) { //「(*it)->」で個別にアクセスできます if (Collision_Circle((*it)->getX(), (*it)->getY(), 20, tar...
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: 四聖龍神録2プログラミングの館について2
- 返信数: 5
- 閲覧数: 4813
Re: 四聖龍神録2プログラミングの館について2
マネージャークラスにまかせるのが良いと思います。
それぞれのマネージャークラスに当たり判定処理を作って、チェックしてほしいオブジェクトの情報をGet~関数を使って引数で渡す。
というようにすればゲームシーン内でやりとりできます。
読み取り専用の関数で値を渡して当たったかどうかの判定をしてもらい、自クラスで処理させればカプセル化が維持できます。
当たり判定計算のクラスを作っておくと使いまわせるので、コードを書く量も減らせるかと思います。
それぞれのマネージャークラスに当たり判定処理を作って、チェックしてほしいオブジェクトの情報をGet~関数を使って引数で渡す。
というようにすればゲームシーン内でやりとりできます。
読み取り専用の関数で値を渡して当たったかどうかの判定をしてもらい、自クラスで処理させればカプセル化が維持できます。
当たり判定計算のクラスを作っておくと使いまわせるので、コードを書く量も減らせるかと思います。
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: 2次関数を構造体を用いて...
- 返信数: 2
- 閲覧数: 2895
Re: 2次関数を構造体を用いて...
入力に失敗したという条件はa,b,cに数字以外が入力されてしまった場合だとおもいます。
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: 四聖龍神録2プログラミングの館について
- 返信数: 4
- 閲覧数: 4383
Re: 四聖龍神録2プログラミングの館について
別のところで処理してたんですね。失礼しました。 (そもそもconst付いてるから変更できませんね(-_-;)) ソースコード変更後はポップした後returnしているから新たにシーンがプッシュされることも無いですし・・・。 ほかにアドバイスできることはブレークポイントを使って、 キーやゲームパッドなどの戻るときの入力がされたときに、 戻るためのシーンチェンジ処理にとんで行き、Stackの処理がきちんとされているか。 などの処理の流れを見ながらデバッグして問題ありそうな点を潰していきながら不具合を探す・・・ぐらいですかね。 最適な設計は制作者のDixqさんみぞ知ることですが、 四聖龍神録2プログラ...
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: 四聖龍神録2プログラミングの館について
- 返信数: 4
- 閲覧数: 4383
Re: 四聖龍神録2プログラミングの館について
パッと見た感じですと、
backフラグの分岐で現在のシーンをポップした後に、
sceneをtop関数(Stackの末尾の要素を得る)で取得していないから反映されず戻れないのだと思います。
(ここにもStackが空っぽかどうかのチェックがほしいかも)
backフラグの分岐で現在のシーンをポップした後に、
sceneをtop関数(Stackの末尾の要素を得る)で取得していないから反映されず戻れないのだと思います。
(ここにもStackが空っぽかどうかのチェックがほしいかも)
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: 背景の透過処理について
- 返信数: 15
- 閲覧数: 13161
Re: 背景の透過処理について
私のPCもwindows10で32ビットの設定でも透過されます。
OSとかグラフィックボードの相性なのかな(-_-;)
OSとかグラフィックボードの相性なのかな(-_-;)
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: 背景の透過処理について
- 返信数: 15
- 閲覧数: 13161
Re: 背景の透過処理について
いろいろググってみたところ、
TransparencyKeyで色を指定しても、
PC画面の色設定で32ビット以上だと透過されない不具合があったりするらしいです。
TransparencyKeyで色を指定しても、
PC画面の色設定で32ビット以上だと透過されない不具合があったりするらしいです。
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: 背景の透過処理について
- 返信数: 15
- 閲覧数: 13161
Re: 背景の透過処理について
ほかで透過処理が機能してるかどうかが気になりますね。
DXライブラリの描画を一旦止めて、
TransparencyKey = this.BackColor;といった感じで、
フォーム自身の背景を消すことはできるのでしょうか?
DXライブラリの描画を一旦止めて、
TransparencyKey = this.BackColor;といった感じで、
フォーム自身の背景を消すことはできるのでしょうか?
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: 背景の透過処理について
- 返信数: 15
- 閲覧数: 13161
Re: 背景の透過処理について
letterさんのコードをコピペで実行してみましたが、枠の付いた大きなフォームが表示されました。
//this.Shown += new EventHandler(Form1_Shown);//フォームが初めて表示されたときにこの処理を呼べるように登録。
これがForm1.designers.csファイルのInitializeComponent()内にありますでしょうか?
フォームデザイナーのプロパティで追加するか、Form1()の中に書き込むとこちらでは枠も背景も透明になりました。
//this.Shown += new EventHandler(Form1_Shown);//フォームが初めて表示されたときにこの処理を呼べるように登録。
これがForm1.designers.csファイルのInitializeComponent()内にありますでしょうか?
フォームデザイナーのプロパティで追加するか、Form1()の中に書き込むとこちらでは枠も背景も透明になりました。
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: 背景の透過処理について
- 返信数: 15
- 閲覧数: 13161
Re: 背景の透過処理について
フォーム枠は消えているのでしょうか?
TransparencyKeyに色の数値が代入されていないとか。
デザイン機能を使わず、
もしすべて手書きだったらイベントが追加されていなくて、
フォームのShownイベントが起こっていないとかですかね。
C#にDXライブラリを入れてみましたが、透過されました。
(作業用なので余計なコードが書いてあります)
TransparencyKeyに色の数値が代入されていないとか。
デザイン機能を使わず、
もしすべて手書きだったらイベントが追加されていなくて、
フォームのShownイベントが起こっていないとかですかね。
C#にDXライブラリを入れてみましたが、透過されました。
(作業用なので余計なコードが書いてあります)
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: C++の配列について
- 返信数: 2
- 閲覧数: 3975
Re: C++の配列について
変数を入れることはできます。
bの配列の要素を出力するためにcに代入されるべきなのは0、1,2,3、4までです。
forループ内の i=3(aの4つ目の要素)のときにcに5が代入されてしまっていて、
配列からはみ出してしまっています。
bの配列の要素を出力するためにcに代入されるべきなのは0、1,2,3、4までです。
forループ内の i=3(aの4つ目の要素)のときにcに5が代入されてしまっていて、
配列からはみ出してしまっています。
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: ハンドルされていない例外エラーが出る
- 返信数: 2
- 閲覧数: 6775
Re: ハンドルされていない例外エラーが出る
何らかの処理で範囲外の領域にアクセスしてメモリが書き換えられて壊れてしまった場合に多いエラーです。
症状が出なくなるまでいろんな処理をコメントアウトしたりして探すとかになりますが、
数回に一度というのが厄介ですね・・・。
ソースコードなどもっと詳しい情報があれば他の方からのアドバイスがもらえるかもです。
症状が出なくなるまでいろんな処理をコメントアウトしたりして探すとかになりますが、
数回に一度というのが厄介ですね・・・。
ソースコードなどもっと詳しい情報があれば他の方からのアドバイスがもらえるかもです。
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: [雑談] 新しい当Webサイトについての雑談トピ
- 返信数: 24
- 閲覧数: 52809
Re: [雑談] 新しい当Webサイトについての雑談トピ
要望を書かせていただきます。
ソースコードの表示の高さの範囲が狭く、コードが長いものだとスクロールしながら見ないといけないので、
見づらいなぁと感じました。
もうすこし高さを広げるか、全表示にしてほしいです(><)
ソースコードの表示の高さの範囲が狭く、コードが長いものだとスクロールしながら見ないといけないので、
見づらいなぁと感じました。
もうすこし高さを広げるか、全表示にしてほしいです(><)
- 6年前
- フォーラム: C言語何でも質問掲示板
- トピック: 2D横スクロールアクションゲームの壁判定についての質問
- 返信数: 6
- 閲覧数: 20025
Re: 2D横スクロールアクションゲームの壁判定についての質問
天井にぶつかったときの条件と左側の壁にぶつかったときの条件が同じなので、
壁に当たるとx座標とy座標が同時に座標修正されているようですね。
移動速度(vx、vy)があるようなので、
vxが正の数なら右を歩いている、負の数なら左を歩いているといった感じに判断できるので、
if(vx>0 && Collision(x,y)){ //右に移動して壁に当たったら
//壁にめり込んだ分押し戻す
}
という感じで上下左右それぞれの当たり判定を細かくしてみてはいかかでしょうか。
壁に当たるとx座標とy座標が同時に座標修正されているようですね。
移動速度(vx、vy)があるようなので、
vxが正の数なら右を歩いている、負の数なら左を歩いているといった感じに判断できるので、
if(vx>0 && Collision(x,y)){ //右に移動して壁に当たったら
//壁にめり込んだ分押し戻す
}
という感じで上下左右それぞれの当たり判定を細かくしてみてはいかかでしょうか。
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: ■新年明けましておめでとうございます■新年挨拶トピック【雑談】
- 返信数: 4
- 閲覧数: 4879
Re: ■新年明けましておめでとうございます■新年挨拶トピック【雑談】
あけましておめでとうございますー。
みなさんにとって素敵な年になりますように☆
今年の抱負は「企画書どおりにゲームを作る」です。
あれも好き、これも好きーという感じでなんでも盛り込もうとしてしまい、
グダグダして挫折しちゃうので(;^ω^)
今年もよろしくお願いします( ´∀` )
みなさんにとって素敵な年になりますように☆
今年の抱負は「企画書どおりにゲームを作る」です。
あれも好き、これも好きーという感じでなんでも盛り込もうとしてしまい、
グダグダして挫折しちゃうので(;^ω^)
今年もよろしくお願いします( ´∀` )
- 7年前
- フォーラム: 四聖龍神録2 掲示板
- トピック: 感想コメント投稿所
- 返信数: 40
- 閲覧数: 82792
Re: 感想コメント投稿所
花火の弾幕がとってもきれいですね( ´∀` )
Easyモードでも弾幕結界のところが難しくてクリアできる気がしません(><;)
Easyモードでも弾幕結界のところが難しくてクリアできる気がしません(><;)
- 7年前
- フォーラム: 四聖龍神録2 掲示板
- トピック: 不具合報告投稿所
- 返信数: 49
- 閲覧数: 57200
Re: 不具合報告投稿所
Easyモードの第四章ボス戦で技名[10]のとき、カウントが終わったら止まってしまいました。
説明が下手ですみません(;´・ω・)
説明が下手ですみません(;´・ω・)
- 8年前
- フォーラム: C言語何でも質問掲示板
- トピック: カメラを実装したら当たり判定がずれた。
- 返信数: 23
- 閲覧数: 11282
Re: カメラを実装したら当たり判定がずれた。
適切じゃない方法で混乱させてしまって申し訳ないです(;´・ω・) http://dxlib.o.oo7.jp/program/ActionSample.cpp 多分使ってるのは↑のサンプルですよね。 それにマップスクロールを追加してみました。 ソースコードはスポイラーで閉じています。良かったら参考にしてください。 // アクションサンプルプログラム // // Create 10/12/03 // // 2Dアクションの基本、マップとの当たり判定です。 // 画面外に出たら見えないところで永遠に落ちてゆきますのでご注意ください。(汗) // 実際はキャラクタが真四角ということはないので、...
- 8年前
- フォーラム: C言語何でも質問掲示板
- トピック: カメラを実装したら当たり判定がずれた。
- 返信数: 23
- 閲覧数: 11282
Re: カメラを実装したら当たり判定がずれた。
この方法はプレイヤーが移動したら条件別に計算して、
大きいマップをゲームスクリーンの320×240内に描画できるよう、マップの座標をずらしていくことによってスクロールを表現しています。
なので、
スクロールさせる場合はキャラクター、マップ、当たり判定すべてにCamera分(どれだけマップを動かしたか)を計算しないとずれてしまいます。
大きいマップをゲームスクリーンの320×240内に描画できるよう、マップの座標をずらしていくことによってスクロールを表現しています。
なので、
スクロールさせる場合はキャラクター、マップ、当たり判定すべてにCamera分(どれだけマップを動かしたか)を計算しないとずれてしまいます。
- 8年前
- フォーラム: C言語何でも質問掲示板
- トピック: カメラを実装したら当たり判定がずれた。
- 返信数: 23
- 閲覧数: 11282
Re: カメラを実装したら当たり判定がずれた。
>当たり判定がずれた
当たり判定のチップの座標にもマップチップ描画と時のようにカメラ移動した分計算してみてください。
当たり判定のチップの座標にもマップチップ描画と時のようにカメラ移動した分計算してみてください。
- 8年前
- フォーラム: 作品お披露目掲示板
- トピック: プログラミングの練習のために作ってみました。
- 返信数: 3
- 閲覧数: 11520
Re: プログラミングの練習のために作ってみました。
弾の種類、自機ショットのパワーアップを追加しました。
最初のステージをクリアすると敵の攻撃が強くなります。
最初のステージをクリアすると敵の攻撃が強くなります。
- 8年前
- フォーラム: 作品お披露目掲示板
- トピック: プログラミングの練習のために作ってみました。
- 返信数: 3
- 閲覧数: 11520
Re: プログラミングの練習のために作ってみました。
たくさんのアドバイスありがとうございますー。
大変勉強になりました。
少しずつ理解を深めながらやっていこうと思います。
アクセサの件とかどういう形が好ましいのか難しいですね(^^;)
見やすいコードを目指して頑張ります。
大変勉強になりました。
少しずつ理解を深めながらやっていこうと思います。
アクセサの件とかどういう形が好ましいのか難しいですね(^^;)
見やすいコードを目指して頑張ります。
- 8年前
- フォーラム: 作品お披露目掲示板
- トピック: プログラミングの練習のために作ってみました。
- 返信数: 3
- 閲覧数: 11520
プログラミングの練習のために作ってみました。
インベーダーぽいゲームです。
ソースコードも入れてあるので、
クラスの設計のアドバイスや、添削してくださると嬉しいです。
よろしくお願いします。
ソースコードも入れてあるので、
クラスの設計のアドバイスや、添削してくださると嬉しいです。
よろしくお願いします。
- 8年前
- フォーラム: C言語何でも質問掲示板
- トピック: 弾のすり抜け対策がうまくいきません
- 返信数: 7
- 閲覧数: 4715
Re: 弾のすり抜け対策がうまくいきません
説明不足で皆さんを混乱させてしまってすみませんでした(><)
どういう風にしたかったのかというと、
前フレームと現在の弾の間をループで少しづつ計算する。
=可視化すると前フレームと現在の弾が隙間なく連なって見える。
という感じです。
完全ではありませんが速い弾も拾ってくれるようになりました。
今回みけCATさんのおかげで弾が連なって見えるようになって目的が達成されたので、
解決とさせていただきます。
みけCATさん、Dixq (管理人)さん、usaoさん、
いろんな方法を紹介してくださり、ありがとうございました。
当たり判定についてもっとためしてみたりして勉強したいと思います。
どういう風にしたかったのかというと、
前フレームと現在の弾の間をループで少しづつ計算する。
=可視化すると前フレームと現在の弾が隙間なく連なって見える。
という感じです。
完全ではありませんが速い弾も拾ってくれるようになりました。
今回みけCATさんのおかげで弾が連なって見えるようになって目的が達成されたので、
解決とさせていただきます。
みけCATさん、Dixq (管理人)さん、usaoさん、
いろんな方法を紹介してくださり、ありがとうございました。
当たり判定についてもっとためしてみたりして勉強したいと思います。
- 8年前
- フォーラム: C言語何でも質問掲示板
- トピック: 弾のすり抜け対策がうまくいきません
- 返信数: 7
- 閲覧数: 4715
Re: 弾のすり抜け対策がうまくいきません
補足させていただきます。 シューティングゲームで反射弾を作っていて、 この当たり判定は地形と弾の当たり判定に使うためのサンプルなんです。 地形チップのそれぞれの辺を線分として上下左右どの辺に当たっているかを調べるためです。 弾が小さかったりスピードが速いと線分をまたいで通り抜けてしまいます・・・。 それで通り抜けないようにしたいのですが、 龍神録プログラミングの館18章を参考にして、 ループを使ってフレーム間の弾同士の距離を少しずつ計算していくのを真似て作ってみたのですが、 上手くいきません。 void BulletCollision() { for (int i = 0; i < BULLE...
- 8年前
- フォーラム: C言語何でも質問掲示板
- トピック: 弾のすり抜け対策がうまくいきません
- 返信数: 7
- 閲覧数: 4715
弾のすり抜け対策がうまくいきません
お世話になっています。 当たり判定のサンプルを作っているのですが、 前フレームの弾と現在の位置の弾の間を計算するところがうまく作れなくて困っています。 弾同士の距離の間を少しづつループで進めて計算して、 弾の間に判定を詰め込んで隙間をなくしたいです。 //main.cpp #include "DxLib.h" #include <cmath> #define BULLET_MAX 10 char key[256];//キー入力用 struct vector2D { float X; float Y; }; vector2D A, B, P;//座標用 vector2D AB, AP, BP,A...
- 8年前
- フォーラム: C言語何でも質問掲示板
- トピック: ウィンドウを閉じた後のアクセス違反
- 返信数: 5
- 閲覧数: 4956
- 8年前
- フォーラム: C言語何でも質問掲示板
- トピック: ウィンドウを閉じた後のアクセス違反
- 返信数: 5
- 閲覧数: 4956
Re: ウィンドウを閉じた後のアクセス違反
>へにっくすさん 回答ありがとうございます。 プログラム終了時はメモリを一気に解放してくれるから大丈夫だろうという考えを持っていました(><) > naohiro19さん 補足ありがとうございます。 =============================================== 途中経過の報告をします。 Controlクラスで一気にオブジェクトを管理しているのですが、 Itemクラスのオブジェクトを生成すると起こるところまでわかりました。 どこから探せばいいか分からず、 メモリリーク探しに時間がかかりそうです・・・。 Control::Control(){ //グラフィック L...
- 8年前
- フォーラム: C言語何でも質問掲示板
- トピック: ウィンドウを閉じた後のアクセス違反
- 返信数: 5
- 閲覧数: 4956
ウィンドウを閉じた後のアクセス違反
こんにちは。 デバッグをやめるときに、ウィンドウを閉じて終了しようとすると DxLib_End()でアクセス違反が起こってしまいます。 ウィンドウを閉じるときの出力はこんな感じです。 ============================================ 2260:ウインドウが破棄されようとしています 2262:ソフトを終了する準備が整いました 2273:d3d11.dll の解放 1 'ActionRPG.exe' (Win32): 'C:\Windows\SysWOW64\d3d11.dll' がアンロードされました 2276:dxgi.dll の解放 1 'Action...
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: GraphBlend関数を使いたいのですが・・・。
- 返信数: 2
- 閲覧数: 2412
Re: GraphBlend関数を使いたいのですが・・・。
パス先のDXライブラリのフォルダの中身を新しいものにかえたら使えるようになりました。
更新したつもりで古いのものをずっと使っていたみたいです(汗)
だんごさん、ありがとうございました。
更新したつもりで古いのものをずっと使っていたみたいです(汗)
だんごさん、ありがとうございました。
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: GraphBlend関数を使いたいのですが・・・。
- 返信数: 2
- 閲覧数: 2412
GraphBlend関数を使いたいのですが・・・。
お世話になっております。
暗闇の中でのプレイヤーを明るく照らす表現と
オブジェクトの明かりを組み合わせるために使いたいのですが、
定義されていませんと出てしまい使うことができません。
GraphFilter関数なども使えないのですが、
どこか設定が悪いのでしょうか?
DrawGraph関数などよく使う関数は問題なく使うことができます。
よろしくお願いします。
暗闇の中でのプレイヤーを明るく照らす表現と
オブジェクトの明かりを組み合わせるために使いたいのですが、
定義されていませんと出てしまい使うことができません。
GraphFilter関数なども使えないのですが、
どこか設定が悪いのでしょうか?
DrawGraph関数などよく使う関数は問題なく使うことができます。
よろしくお願いします。
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: 大量のマップチップの管理の仕方
- 返信数: 2
- 閲覧数: 2256
Re: 大量のマップチップの管理の仕方
usaoさん
まさにそれです!
switch文で長々と書かなくてもいい方法を聞きたかったんです。
ありがとうございました。
まさにそれです!
switch文で長々と書かなくてもいい方法を聞きたかったんです。
ありがとうございました。
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: 大量のマップチップの管理の仕方
- 返信数: 2
- 閲覧数: 2256
大量のマップチップの管理の仕方
お世話になっております。 今回マップチップの描画について聞きたいことがあります。 本やサイトを見て下のコードように書いているのですが、 マップチップの量が多く、オブジェクトチップも含めるととても長くなってしまいます(チップの数が200くらい)。 もうちょっとスマートな書き方があれば教えていただけないでしょうか? for(int i=FirstChipY;i<LastChipY;i++){ for(int j=FirstChipX;j<LastChipX;j++){ switch(MapData[i][j]){ case 1: DrawGraph(j*32+m_offsetX,i*32+m_of...
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: ゲームパッド対応にしたらキーボードで指定していないキーが反応してしまいます
- 返信数: 4
- 閲覧数: 3661
Re: ゲームパッド対応にしたらキーボードで指定していないキーが反応してしまいます
引数にDX_INPUT_KEY_PAD1を渡していました。
DX_INPUT_PAD1を渡したら上手くいきました。
DXライブラリの関数をちゃんと理解していなくて使っていました・・・。
すみません。
Dixq (管理人)さん ありがとうございました。
DX_INPUT_PAD1を渡したら上手くいきました。
DXライブラリの関数をちゃんと理解していなくて使っていました・・・。
すみません。
Dixq (管理人)さん ありがとうございました。
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: ゲームパッド対応にしたらキーボードで指定していないキーが反応してしまいます
- 返信数: 4
- 閲覧数: 3661
Re: ゲームパッド対応にしたらキーボードで指定していないキーが反応してしまいます
ノウルver2.7.7v さん Input_Pad_or_Key関数はそれぞれ対応したパッドとキーボードのキーがどちらが長く押されているかを比較し、大きい値のほうを返し、パッドとキーボードで同時入力出来ないようにしています。 追記させていただきます。 ゲームパッドの4番目のボタン(攻撃ボタン)をキーボードのAボタンに、 ゲームパッドの5番目のボタン(メニュー)をキーボードのMボタンに設定したくて Input_Pad_or_Key(&Pad[PAD_ATK ] ,CheckKeyState(KEY_INPUT_A )); Input_Pad_or_Key(&Pad[PAD_MENU] ,Che...
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: ゲームパッド対応にしたらキーボードで指定していないキーが反応してしまいます
- 返信数: 4
- 閲覧数: 3661
ゲームパッド対応にしたらキーボードで指定していないキーが反応してしまいます
お世話になっています。 龍神録プログラミングの館の8章の「キーコンフィグに対応させてみよう」 を参考にして自分で作っているゲームに組み込んで見たのですが。 ゲームパッドは特に問題はないのですが、 キーボードでは指定していないのにZとXとC、QやWのキーでも反応してしまいます。 Input_Pad_or_Key(&Pad[PAD_ATK ] ,CheckKeyState(KEY_INPUT_A )); //↑ Aを押しても、Zキーを押しても反応してしまう ほかにも右のシフトキーを押すと、 パッドに対応したキーすべて押されている状態になってしまいます。 ボタンが効かないということはなく、 どうして...
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: キャラの4方向にほかのキャラがいるかどうかのフラグの操作がうまくいきません
- 返信数: 3
- 閲覧数: 2838
Re: キャラの4方向にほかのキャラがいるかどうかのフラグの操作がうまくいきません
当たり判定がないときはcontinueで戻すことで 上書きされないようにしてみました。 上下左右のフラグを下げる処理がどうしても思いつかなかったので、 gamechara内のupdate()などで常にフラグを下げるようにしたらうまくいきました。 softyaさんありがとうございました。 void Control::FourOnCollision(){ for(int i=0;i<ENEMY_NUM;i++){ if(gamechara[i]->GetExist()){//生存チェック for(int t =0;t<ENEMY_NUM;t++){ //ターゲット if(gamechara[t]-...
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: キャラの4方向にほかのキャラがいるかどうかのフラグの操作がうまくいきません
- 返信数: 3
- 閲覧数: 2838
Re: キャラの4方向にほかのキャラがいるかどうかのフラグの操作がうまくいきません
イメージが掴めました!ありがとうございます。
ループで接触していない遠くにいる他のターゲットの判定もしていて、
elseの部分でフラグが常に上書きされてしまっているということですね。
条件分岐考え直します。
ループで接触していない遠くにいる他のターゲットの判定もしていて、
elseの部分でフラグが常に上書きされてしまっているということですね。
条件分岐考え直します。
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: キャラの4方向にほかのキャラがいるかどうかのフラグの操作がうまくいきません
- 返信数: 3
- 閲覧数: 2838
キャラの4方向にほかのキャラがいるかどうかのフラグの操作がうまくいきません
初めまして。 アクションRPGを作っているのですが(ツクールやウディタのようなマス移動) キャラの4方向にほかのキャラがいたらそのキャラが持っているメンバ変数の上下左右のフラグをtrueになるようにしたいのですが、 どのキャラと接触してもDrawStringの文字はちゃんと表示されるのですが、 フラグだけは1番目のキャラとしか反応してくれなかったり、 うまくいきません。(プレイヤーは0番目) Visual C++ 2010 、DXライブラリを使用しています。 よろしくお願いします。 void Control::FourOnCollision(){ for(int i=0;i<ENEMY_NUM...