検索結果 53 件

by もるも
3年前
フォーラム: C言語何でも質問掲示板
トピック: アクションゲーム制作で詰まりました
返信数: 3
閲覧数: 4015

Re: アクションゲーム制作で詰まりました

1つのキャラクタごとにフィールドセル情報をすべてチェックしているから重くなってしまうのかな?

キャラクタごとに当たり判定のチェック範囲を制限するのはいかがでしょうか。
by もるも
4年前
フォーラム: C言語何でも質問掲示板
トピック: [雑談][書籍]DirectX 12 の魔導書
返信数: 5
閲覧数: 6657

Re: [雑談][書籍]DirectX 12 の魔導書

ゲーム制作の書籍じゃないので悩みましたが、わたしも購入してみました。
数学の話などで詳しくは特典ダウンロードのAppendixでと書いてあるのに未だに公開されていないのががっかり・・・(;´・ω・)
でも、directXの解説書籍は9まではある程度ありましたが、10以降から数が少ないのでありがたいですね。
by もるも
4年前
フォーラム: C言語何でも質問掲示板
トピック: 配列とfor文を使っているのに画像が一つしか表示されない。
返信数: 25
閲覧数: 23635

Re: 配列とfor文を使っているのに画像が一つしか表示されない。

エラーが出ないのが厄介ですね。
開発環境は何でしょうか?
フリーズするのは無限ループか、ループ処理が多すぎて重くなりフリーズしてるように見えたりが良くありますが・・・
終了してしまう原因がわかりませんね(-_-;)
キャラクターの構造体もどのようになっているのか気になります。
by もるも
4年前
フォーラム: C言語何でも質問掲示板
トピック: 配列とfor文を使っているのに画像が一つしか表示されない。
返信数: 25
閲覧数: 23635

Re: 配列とfor文を使っているのに画像が一つしか表示されない。

データを引きはがすのなら、キャラクターのタイプも座標と同じにキャラクターデータに保持している方が良いと思います。
マップデータ数の分ループを回すよりも、キャラクターデータ分回すほうが少なくて済みますし。
by もるも
4年前
フォーラム: C言語何でも質問掲示板
トピック: 配列とfor文を使っているのに画像が一つしか表示されない。
返信数: 25
閲覧数: 23635

Re: 配列とfor文を使っているのに画像が一つしか表示されない。

キャラクターの初期化で最後にmapdataに'0'を代入しているのはなぜでしょうか?
by もるも
4年前
フォーラム: C言語何でも質問掲示板
トピック: 配列とfor文を使っているのに画像が一つしか表示されない。
返信数: 25
閲覧数: 23635

Re: 配列とfor文を使っているのに画像が一つしか表示されない。

コード:

char i = y * XWMAX + x+1;
これだと文字は取得できていません。整数型です。
マップデータからもらってきましょう。

コード:

char i = mapdata[y][x];
by もるも
4年前
フォーラム: C言語何でも質問掲示板
トピック: どうしてもエラーの原因がわからないので教えてください。。。
返信数: 4
閲覧数: 7703

Re: どうしてもエラーの原因がわからないので教えてください。。。

ループ処理が無いとそのままプログラムは終了してしまいます。
by もるも
4年前
フォーラム: C言語何でも質問掲示板
トピック: 配列とfor文を使っているのに画像が一つしか表示されない。
返信数: 25
閲覧数: 23635

Re: 配列とfor文を使っているのに画像が一つしか表示されない。

描画されないのはCharaMove()のswitch文の分岐では、
char型分岐なのにint型が入っているからではないでしょうか?
by もるも
5年前
フォーラム: C言語何でも質問掲示板
トピック: [雑談]Visual Studio 2019 正式版公開
返信数: 3
閲覧数: 3466

Re: [雑談]Visual Studio 2019 正式版公開

スクリーンショット (209).png
どこから参照されてるかがパッと見れるのは便利ですね。
あとはイメージカラーが鮮やかになったぐらいしか違いが分かりません(;^ω^)
by もるも
5年前
フォーラム: C言語何でも質問掲示板
トピック: ジャンプの描画について
返信数: 2
閲覧数: 2253

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()を使...
by もるも
5年前
フォーラム: C言語何でも質問掲示板
トピック: 画像の描画でどうしてもわかりません。
返信数: 13
閲覧数: 6551

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...
by もるも
5年前
フォーラム: C言語何でも質問掲示板
トピック: 画像の描画でどうしてもわかりません。
返信数: 13
閲覧数: 6551

Re: 画像の描画でどうしてもわかりません。

ループの順番によって下の行の本体に上書きされています。
この書き方だと本体とおまけを描画したあと、おまけが「次の」下の行の本体に上書きされてしまうようですね。

y-16の場合 上書きされない位置なので表示されます。
by もるも
5年前
フォーラム: C言語何でも質問掲示板
トピック: 四聖龍神録2プログラミングの館について2
返信数: 5
閲覧数: 3928

Re: 四聖龍神録2プログラミングの館について2

はい、座標更新の後でOKです。
プレイヤーと弾、敵と弾、敵とプレイヤー、マップと~などなど組み合わせが多くコードが長くなると思いますので、
draw()やupdate()同様、新たに関数を作ってまとめておいたほうが見やすいと思います。
by もるも
5年前
フォーラム: C言語何でも質問掲示板
トピック: 四聖龍神録2プログラミングの館について2
返信数: 5
閲覧数: 3928

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...
by もるも
5年前
フォーラム: C言語何でも質問掲示板
トピック: 四聖龍神録2プログラミングの館について2
返信数: 5
閲覧数: 3928

Re: 四聖龍神録2プログラミングの館について2

マネージャークラスにまかせるのが良いと思います。
それぞれのマネージャークラスに当たり判定処理を作って、チェックしてほしいオブジェクトの情報をGet~関数を使って引数で渡す。
というようにすればゲームシーン内でやりとりできます。
読み取り専用の関数で値を渡して当たったかどうかの判定をしてもらい、自クラスで処理させればカプセル化が維持できます。
当たり判定計算のクラスを作っておくと使いまわせるので、コードを書く量も減らせるかと思います。
by もるも
5年前
フォーラム: C言語何でも質問掲示板
トピック: 2次関数を構造体を用いて...
返信数: 2
閲覧数: 2453

Re: 2次関数を構造体を用いて...

入力に失敗したという条件はa,b,cに数字以外が入力されてしまった場合だとおもいます。
by もるも
5年前
フォーラム: C言語何でも質問掲示板
トピック: 四聖龍神録2プログラミングの館について
返信数: 4
閲覧数: 3565

Re: 四聖龍神録2プログラミングの館について

別のところで処理してたんですね。失礼しました。 (そもそもconst付いてるから変更できませんね(-_-;)) ソースコード変更後はポップした後returnしているから新たにシーンがプッシュされることも無いですし・・・。 ほかにアドバイスできることはブレークポイントを使って、 キーやゲームパッドなどの戻るときの入力がされたときに、 戻るためのシーンチェンジ処理にとんで行き、Stackの処理がきちんとされているか。 などの処理の流れを見ながらデバッグして問題ありそうな点を潰していきながら不具合を探す・・・ぐらいですかね。 最適な設計は制作者のDixqさんみぞ知ることですが、 四聖龍神録2プログラ...
by もるも
5年前
フォーラム: C言語何でも質問掲示板
トピック: 四聖龍神録2プログラミングの館について
返信数: 4
閲覧数: 3565

Re: 四聖龍神録2プログラミングの館について

パッと見た感じですと、
backフラグの分岐で現在のシーンをポップした後に、
sceneをtop関数(Stackの末尾の要素を得る)で取得していないから反映されず戻れないのだと思います。
(ここにもStackが空っぽかどうかのチェックがほしいかも)
by もるも
5年前
フォーラム: 作品お披露目掲示板
トピック: 波形を生成して音を出す
返信数: 0
閲覧数: 9376

波形を生成して音を出す

波形と音階を選んで、音を出すだけの簡単なものです。
by もるも
5年前
フォーラム: C言語何でも質問掲示板
トピック: 背景の透過処理について
返信数: 15
閲覧数: 10854

Re: 背景の透過処理について

私のPCもwindows10で32ビットの設定でも透過されます。
OSとかグラフィックボードの相性なのかな(-_-;)
by もるも
5年前
フォーラム: C言語何でも質問掲示板
トピック: 背景の透過処理について
返信数: 15
閲覧数: 10854

Re: 背景の透過処理について

いろいろググってみたところ、
TransparencyKeyで色を指定しても、
PC画面の色設定で32ビット以上だと透過されない不具合があったりするらしいです。
by もるも
5年前
フォーラム: C言語何でも質問掲示板
トピック: 背景の透過処理について
返信数: 15
閲覧数: 10854

Re: 背景の透過処理について

ほかで透過処理が機能してるかどうかが気になりますね。
DXライブラリの描画を一旦止めて、
TransparencyKey = this.BackColor;といった感じで、
フォーム自身の背景を消すことはできるのでしょうか?
by もるも
5年前
フォーラム: C言語何でも質問掲示板
トピック: 背景の透過処理について
返信数: 15
閲覧数: 10854

Re: 背景の透過処理について

letterさんのコードをコピペで実行してみましたが、枠の付いた大きなフォームが表示されました。

//this.Shown += new EventHandler(Form1_Shown);//フォームが初めて表示されたときにこの処理を呼べるように登録。
これがForm1.designers.csファイルのInitializeComponent()内にありますでしょうか?
フォームデザイナーのプロパティで追加するか、Form1()の中に書き込むとこちらでは枠も背景も透明になりました。
by もるも
5年前
フォーラム: C言語何でも質問掲示板
トピック: 背景の透過処理について
返信数: 15
閲覧数: 10854

Re: 背景の透過処理について

フォーム枠は消えているのでしょうか?
TransparencyKeyに色の数値が代入されていないとか。
デザイン機能を使わず、
もしすべて手書きだったらイベントが追加されていなくて、
フォームのShownイベントが起こっていないとかですかね。


C#にDXライブラリを入れてみましたが、透過されました。
(作業用なので余計なコードが書いてあります)
スクリーンショット (106).png
by もるも
5年前
フォーラム: C言語何でも質問掲示板
トピック: C++の配列について
返信数: 2
閲覧数: 3565

Re: C++の配列について

変数を入れることはできます。

bの配列の要素を出力するためにcに代入されるべきなのは0、1,2,3、4までです。
forループ内の i=3(aの4つ目の要素)のときにcに5が代入されてしまっていて、
配列からはみ出してしまっています。
by もるも
5年前
フォーラム: C言語何でも質問掲示板
トピック: ハンドルされていない例外エラーが出る
返信数: 2
閲覧数: 6275

Re: ハンドルされていない例外エラーが出る

何らかの処理で範囲外の領域にアクセスしてメモリが書き換えられて壊れてしまった場合に多いエラーです。
症状が出なくなるまでいろんな処理をコメントアウトしたりして探すとかになりますが、
数回に一度というのが厄介ですね・・・。
ソースコードなどもっと詳しい情報があれば他の方からのアドバイスがもらえるかもです。
by もるも
6年前
フォーラム: C言語何でも質問掲示板
トピック: [雑談] 新しい当Webサイトについての雑談トピ
返信数: 24
閲覧数: 43254

Re: [雑談] 新しい当Webサイトについての雑談トピ

要望を書かせていただきます。
ソースコードの表示の高さの範囲が狭く、コードが長いものだとスクロールしながら見ないといけないので、
見づらいなぁと感じました。
もうすこし高さを広げるか、全表示にしてほしいです(><)
by もるも
6年前
フォーラム: C言語何でも質問掲示板
トピック: 2D横スクロールアクションゲームの壁判定についての質問
返信数: 6
閲覧数: 17342

Re: 2D横スクロールアクションゲームの壁判定についての質問

天井にぶつかったときの条件と左側の壁にぶつかったときの条件が同じなので、
壁に当たるとx座標とy座標が同時に座標修正されているようですね。
移動速度(vx、vy)があるようなので、
vxが正の数なら右を歩いている、負の数なら左を歩いているといった感じに判断できるので、

if(vx>0 && Collision(x,y)){  //右に移動して壁に当たったら
 //壁にめり込んだ分押し戻す
}
という感じで上下左右それぞれの当たり判定を細かくしてみてはいかかでしょうか。
by もるも
6年前
フォーラム: C言語何でも質問掲示板
トピック: ■新年明けましておめでとうございます■新年挨拶トピック【雑談】
返信数: 4
閲覧数: 3807

Re: ■新年明けましておめでとうございます■新年挨拶トピック【雑談】

あけましておめでとうございますー。
みなさんにとって素敵な年になりますように☆

今年の抱負は「企画書どおりにゲームを作る」です。
あれも好き、これも好きーという感じでなんでも盛り込もうとしてしまい、
グダグダして挫折しちゃうので(;^ω^)

今年もよろしくお願いします( ´∀` )
by もるも
6年前
フォーラム: 四聖龍神録2 掲示板
トピック: 感想コメント投稿所
返信数: 40
閲覧数: 65942

Re: 感想コメント投稿所

花火の弾幕がとってもきれいですね( ´∀` )

Easyモードでも弾幕結界のところが難しくてクリアできる気がしません(><;)
by もるも
6年前
フォーラム: 四聖龍神録2 掲示板
トピック: 不具合報告投稿所
返信数: 49
閲覧数: 48133

Re: 不具合報告投稿所

Easyモードの第四章ボス戦で技名[10]のとき、カウントが終わったら止まってしまいました。
説明が下手ですみません(;´・ω・)
by もるも
7年前
フォーラム: C言語何でも質問掲示板
トピック: カメラを実装したら当たり判定がずれた。
返信数: 23
閲覧数: 9314

Re: カメラを実装したら当たり判定がずれた。

適切じゃない方法で混乱させてしまって申し訳ないです(;´・ω・) http://dxlib.o.oo7.jp/program/ActionSample.cpp 多分使ってるのは↑のサンプルですよね。 それにマップスクロールを追加してみました。 ソースコードはスポイラーで閉じています。良かったら参考にしてください。 // アクションサンプルプログラム // // Create 10/12/03 // //  2Dアクションの基本、マップとの当たり判定です。 //  画面外に出たら見えないところで永遠に落ちてゆきますのでご注意ください。(汗) //  実際はキャラクタが真四角ということはないので、...
by もるも
7年前
フォーラム: C言語何でも質問掲示板
トピック: カメラを実装したら当たり判定がずれた。
返信数: 23
閲覧数: 9314

Re: カメラを実装したら当たり判定がずれた。

この方法はプレイヤーが移動したら条件別に計算して、
大きいマップをゲームスクリーンの320×240内に描画できるよう、マップの座標をずらしていくことによってスクロールを表現しています。
なので、
スクロールさせる場合はキャラクター、マップ、当たり判定すべてにCamera分(どれだけマップを動かしたか)を計算しないとずれてしまいます。
by もるも
7年前
フォーラム: C言語何でも質問掲示板
トピック: カメラを実装したら当たり判定がずれた。
返信数: 23
閲覧数: 9314

Re: カメラを実装したら当たり判定がずれた。

>当たり判定がずれた

当たり判定のチップの座標にもマップチップ描画と時のようにカメラ移動した分計算してみてください。
by もるも
7年前
フォーラム: 作品お披露目掲示板
トピック: プログラミングの練習のために作ってみました。
返信数: 3
閲覧数: 10134

Re: プログラミングの練習のために作ってみました。

弾の種類、自機ショットのパワーアップを追加しました。
最初のステージをクリアすると敵の攻撃が強くなります。
by もるも
7年前
フォーラム: 作品お披露目掲示板
トピック: プログラミングの練習のために作ってみました。
返信数: 3
閲覧数: 10134

Re: プログラミングの練習のために作ってみました。

たくさんのアドバイスありがとうございますー。
大変勉強になりました。
少しずつ理解を深めながらやっていこうと思います。
アクセサの件とかどういう形が好ましいのか難しいですね(^^;)

見やすいコードを目指して頑張ります。
by もるも
7年前
フォーラム: 作品お披露目掲示板
トピック: プログラミングの練習のために作ってみました。
返信数: 3
閲覧数: 10134

プログラミングの練習のために作ってみました。

インベーダーぽいゲームです。
ソースコードも入れてあるので、
クラスの設計のアドバイスや、添削してくださると嬉しいです。

よろしくお願いします。
by もるも
7年前
フォーラム: C言語何でも質問掲示板
トピック: 弾のすり抜け対策がうまくいきません
返信数: 7
閲覧数: 3884

Re: 弾のすり抜け対策がうまくいきません

説明不足で皆さんを混乱させてしまってすみませんでした(><)
どういう風にしたかったのかというと、
前フレームと現在の弾の間をループで少しづつ計算する。
=可視化すると前フレームと現在の弾が隙間なく連なって見える。
という感じです。
完全ではありませんが速い弾も拾ってくれるようになりました。

今回みけCATさんのおかげで弾が連なって見えるようになって目的が達成されたので、
解決とさせていただきます。
みけCATさん、Dixq (管理人)さん、usaoさん、
いろんな方法を紹介してくださり、ありがとうございました。
当たり判定についてもっとためしてみたりして勉強したいと思います。
by もるも
7年前
フォーラム: C言語何でも質問掲示板
トピック: 弾のすり抜け対策がうまくいきません
返信数: 7
閲覧数: 3884

Re: 弾のすり抜け対策がうまくいきません

補足させていただきます。 シューティングゲームで反射弾を作っていて、 この当たり判定は地形と弾の当たり判定に使うためのサンプルなんです。 地形チップのそれぞれの辺を線分として上下左右どの辺に当たっているかを調べるためです。 弾が小さかったりスピードが速いと線分をまたいで通り抜けてしまいます・・・。 それで通り抜けないようにしたいのですが、 龍神録プログラミングの館18章を参考にして、 ループを使ってフレーム間の弾同士の距離を少しずつ計算していくのを真似て作ってみたのですが、 上手くいきません。 void BulletCollision() { for (int i = 0; i < BULLE...
by もるも
7年前
フォーラム: C言語何でも質問掲示板
トピック: 弾のすり抜け対策がうまくいきません
返信数: 7
閲覧数: 3884

弾のすり抜け対策がうまくいきません

お世話になっています。 当たり判定のサンプルを作っているのですが、 前フレームの弾と現在の位置の弾の間を計算するところがうまく作れなくて困っています。 弾同士の距離の間を少しづつループで進めて計算して、 弾の間に判定を詰め込んで隙間をなくしたいです。 //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...
by もるも
8年前
フォーラム: C言語何でも質問掲示板
トピック: ウィンドウを閉じた後のアクセス違反
返信数: 5
閲覧数: 4027

Re: ウィンドウを閉じた後のアクセス違反

deleteの順番を並び替えてみましたが、なおらず・・・。
Itemクラスを症状が起こらないように削ってみたところ、
構造体の初期化の仕方が間違っていました。

コード:

memset(dItem,0,sizeof(dItem)*DROP_ITEM_MAX);		//dItem初期化
配列一個分のサイズと勘違いしていました(汗)

コード:

memset(dItem,0,sizeof(dItem));		//dItem初期化
だいぶ前に書いて放置していたものなので全く気付きませんでした・・・。
まさか後になって不具合が出るとは(><)

へにっくすさん、ありがとうございました。
by もるも
8年前
フォーラム: C言語何でも質問掲示板
トピック: ウィンドウを閉じた後のアクセス違反
返信数: 5
閲覧数: 4027

Re: ウィンドウを閉じた後のアクセス違反

>へにっくすさん 回答ありがとうございます。 プログラム終了時はメモリを一気に解放してくれるから大丈夫だろうという考えを持っていました(><) > naohiro19さん 補足ありがとうございます。 =============================================== 途中経過の報告をします。 Controlクラスで一気にオブジェクトを管理しているのですが、 Itemクラスのオブジェクトを生成すると起こるところまでわかりました。 どこから探せばいいか分からず、 メモリリーク探しに時間がかかりそうです・・・。 Control::Control(){ //グラフィック L...
by もるも
8年前
フォーラム: C言語何でも質問掲示板
トピック: ウィンドウを閉じた後のアクセス違反
返信数: 5
閲覧数: 4027

ウィンドウを閉じた後のアクセス違反

こんにちは。 デバッグをやめるときに、ウィンドウを閉じて終了しようとすると DxLib_End()でアクセス違反が起こってしまいます。 ウィンドウを閉じるときの出力はこんな感じです。 ============================================ 2260:ウインドウが破棄されようとしています 2262:ソフトを終了する準備が整いました 2273:d3d11.dll の解放 1 'ActionRPG.exe' (Win32): 'C:\Windows\SysWOW64\d3d11.dll' がアンロードされました 2276:dxgi.dll の解放 1 'Action...
by もるも
8年前
フォーラム: C言語何でも質問掲示板
トピック: GraphBlend関数を使いたいのですが・・・。
返信数: 2
閲覧数: 1960

Re: GraphBlend関数を使いたいのですが・・・。

パス先のDXライブラリのフォルダの中身を新しいものにかえたら使えるようになりました。
更新したつもりで古いのものをずっと使っていたみたいです(汗)

だんごさん、ありがとうございました。
by もるも
8年前
フォーラム: C言語何でも質問掲示板
トピック: GraphBlend関数を使いたいのですが・・・。
返信数: 2
閲覧数: 1960

GraphBlend関数を使いたいのですが・・・。

お世話になっております。

暗闇の中でのプレイヤーを明るく照らす表現と
オブジェクトの明かりを組み合わせるために使いたいのですが、
定義されていませんと出てしまい使うことができません。

GraphFilter関数なども使えないのですが、
どこか設定が悪いのでしょうか?
DrawGraph関数などよく使う関数は問題なく使うことができます。

よろしくお願いします。
by もるも
8年前
フォーラム: C言語何でも質問掲示板
トピック: 大量のマップチップの管理の仕方
返信数: 2
閲覧数: 1882

Re: 大量のマップチップの管理の仕方

usaoさん
まさにそれです!
switch文で長々と書かなくてもいい方法を聞きたかったんです。
ありがとうございました。
by もるも
8年前
フォーラム: C言語何でも質問掲示板
トピック: 大量のマップチップの管理の仕方
返信数: 2
閲覧数: 1882

大量のマップチップの管理の仕方

お世話になっております。 今回マップチップの描画について聞きたいことがあります。 本やサイトを見て下のコードように書いているのですが、 マップチップの量が多く、オブジェクトチップも含めるととても長くなってしまいます(チップの数が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...
by もるも
8年前
フォーラム: C言語何でも質問掲示板
トピック: ゲームパッド対応にしたらキーボードで指定していないキーが反応してしまいます
返信数: 4
閲覧数: 2953

Re: ゲームパッド対応にしたらキーボードで指定していないキーが反応してしまいます

引数にDX_INPUT_KEY_PAD1を渡していました。
DX_INPUT_PAD1を渡したら上手くいきました。
DXライブラリの関数をちゃんと理解していなくて使っていました・・・。
すみません。

Dixq (管理人)さん ありがとうございました。
by もるも
8年前
フォーラム: C言語何でも質問掲示板
トピック: ゲームパッド対応にしたらキーボードで指定していないキーが反応してしまいます
返信数: 4
閲覧数: 2953

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...
by もるも
8年前
フォーラム: C言語何でも質問掲示板
トピック: ゲームパッド対応にしたらキーボードで指定していないキーが反応してしまいます
返信数: 4
閲覧数: 2953

ゲームパッド対応にしたらキーボードで指定していないキーが反応してしまいます

お世話になっています。 龍神録プログラミングの館の8章の「キーコンフィグに対応させてみよう」 を参考にして自分で作っているゲームに組み込んで見たのですが。 ゲームパッドは特に問題はないのですが、 キーボードでは指定していないのにZとXとC、QやWのキーでも反応してしまいます。 Input_Pad_or_Key(&Pad[PAD_ATK ] ,CheckKeyState(KEY_INPUT_A )); //↑ Aを押しても、Zキーを押しても反応してしまう ほかにも右のシフトキーを押すと、 パッドに対応したキーすべて押されている状態になってしまいます。 ボタンが効かないということはなく、 どうして...
by もるも
8年前
フォーラム: C言語何でも質問掲示板
トピック: キャラの4方向にほかのキャラがいるかどうかのフラグの操作がうまくいきません
返信数: 3
閲覧数: 2266

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]-...
by もるも
8年前
フォーラム: C言語何でも質問掲示板
トピック: キャラの4方向にほかのキャラがいるかどうかのフラグの操作がうまくいきません
返信数: 3
閲覧数: 2266

Re: キャラの4方向にほかのキャラがいるかどうかのフラグの操作がうまくいきません

イメージが掴めました!ありがとうございます。
ループで接触していない遠くにいる他のターゲットの判定もしていて、
elseの部分でフラグが常に上書きされてしまっているということですね。

条件分岐考え直します。
by もるも
8年前
フォーラム: C言語何でも質問掲示板
トピック: キャラの4方向にほかのキャラがいるかどうかのフラグの操作がうまくいきません
返信数: 3
閲覧数: 2266

キャラの4方向にほかのキャラがいるかどうかのフラグの操作がうまくいきません

初めまして。 アクションRPGを作っているのですが(ツクールやウディタのようなマス移動) キャラの4方向にほかのキャラがいたらそのキャラが持っているメンバ変数の上下左右のフラグをtrueになるようにしたいのですが、 どのキャラと接触してもDrawStringの文字はちゃんと表示されるのですが、 フラグだけは1番目のキャラとしか反応してくれなかったり、 うまくいきません。(プレイヤーは0番目) Visual C++ 2010 、DXライブラリを使用しています。 よろしくお願いします。 void Control::FourOnCollision(){ for(int i=0;i<ENEMY_NUM...

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