検索結果 9 件

by コーヒー牛乳
14年前
フォーラム: C言語何でも質問掲示板
トピック: 画面に表示した点をクリックした座標まで移動させる
返信数: 17
閲覧数: 6242

Re: 画面に表示した点をクリックした座標まで移動させる

softya(ソフト屋) さんが書きました:まとめようとし過ぎて、かえってややこしくなっている気がしました。
なので、シンプルにしてみました。ご自分のコードと比べてみてください。
有難うございます、とても参考になりました
EscapeKey(FUNCTION_STATUS)と一つにまとめようとしていたのが問題だったのですね
直していただいたコードを参考に
End_Menue()からMove()へ戻るプログラムと
自機の速度を変化させるプログラムを追加してみました

あとは画像の表示など諸々の要素を追加して
何らかの形で発表できればと思っています
何度も回答を頂き、有難うございました
by コーヒー牛乳
14年前
フォーラム: C言語何でも質問掲示板
トピック: 画面に表示した点をクリックした座標まで移動させる
返信数: 17
閲覧数: 6242

Re: 画面に表示した点をクリックした座標まで移動させる

GetHitKeyStateAll_2(Key)は1つにできます。ClearDrawScreen() ;直後に一回で良いのでは無いでしょうか? End_NotEnd()とEscapeKey()も引数で工夫すれば、1つの関数に出来ます。 End_NotEnd()とEscapeKey()をとりあえずまとめてみました Escキーを押す → End_Menue()を呼び出す → Escキーが離されるのを待つ →再度Escキーが押されたら終了 という流れにしたいのですが、GetHitKeyStateAll_2(Key)をClearDrawScreen()の後に一回だけにすると Escキーが離されるのを...
by コーヒー牛乳
14年前
フォーラム: C言語何でも質問掲示板
トピック: 画面に表示した点をクリックした座標まで移動させる
返信数: 17
閲覧数: 6242

Re: 画面に表示した点をクリックした座標まで移動させる

大分良くなってきたと思いますよ。 で、もう幾つか直した方が良くなると思います。 ・Move_TRUE, Move_FALSEは別のenumにしてください。 ・変数Clickは使われていません。 ・グローバルである必要の無い変数、Axなどはローカル変数にしてください。 ・FUNCTION_STATUSを見なおしてみてください。即値がまだ残っています。 ・End_NotEnd()とMenue()の方がほとんど同じなので共通化できませんか? ・Circle()とMouse_Move()は無理して分けなくても良いのでは? ご指摘有難うございます 色々見落としていたところを修正し、Circle()とM...
by コーヒー牛乳
14年前
フォーラム: C言語何でも質問掲示板
トピック: 画面に表示した点をクリックした座標まで移動させる
返信数: 17
閲覧数: 6242

Re: 画面に表示した点をクリックした座標まで移動させる

enumの使い方は大丈夫ですが、直し切れていない所がいくつか有りますね。 //自機がクリック位置に到達したら if((int)BoxX == MouseX && (int)BoxY == MouseY) { //自機の移動が終わったら次の座標が送られてくるのを待つ為にClick = 0 をします Move_STATUS = 0; FUNCTION_STATUS = 1; } ご指摘有難うございます コードを直していると、見落としていてもエラーが出なくてそのまま気づかないことがあるんですね・・・ 他のところも色々直してみました。何度も申し訳ありませんが、お付き合いくださると幸いです
by コーヒー牛乳
14年前
フォーラム: C言語何でも質問掲示板
トピック: 画面に表示した点をクリックした座標まで移動させる
返信数: 17
閲覧数: 6242

Re: 画面に表示した点をクリックした座標まで移動させる

何度も有難うございます
列挙型というのは使ったことがなかったので上手くできてるかどうかはわかりませんが
直したのでまた貼っておきます
by コーヒー牛乳
14年前
フォーラム: C言語何でも質問掲示板
トピック: 画面に表示した点をクリックした座標まで移動させる
返信数: 17
閲覧数: 6242

Re: 画面に表示した点をクリックした座標まで移動させる

h2so5 さんが書きました:ここが参考になると思います
http://dixq.net/g/41.html
有難うございます
一度みたページだったのですが、そのときは良くわからずスルーしてました・・・
このページに載っている関数を使えば、キーを押したときの値と離したときの値が利用できるようになるんですね
書き直したのでファイルを添付させていただきます
by コーヒー牛乳
14年前
フォーラム: C言語何でも質問掲示板
トピック: 画面に表示した点をクリックした座標まで移動させる
返信数: 17
閲覧数: 6242

Re: 画面に表示した点をクリックした座標まで移動させる

Menue関数を例に上げますが、他も同様にしてください。 ・Menue()の説明とサークルの表示は別の関数に分けてください。 ・ClearDrawScreen() ;とScreenFlip() ;はメインループに移動してください。 ・WaitKey();の代わりにCheckHitKeyAll()を使ってください。 例えば、  function_status = 1;  WaitKey(); だと if( CheckHitKeyAll() ) { function_status = 1; } となります。 こうすることで常に処理が毎フレームメインループにもどることになり、適切にコードを直せばE...
by コーヒー牛乳
14年前
フォーラム: C言語何でも質問掲示板
トピック: 画面に表示した点をクリックした座標まで移動させる
返信数: 17
閲覧数: 6242

Re: 画面に表示した点をクリックした座標まで移動させる

角度によってはX座標やY座標(の整数値)が先にクリック位置に到達してしまい、移動が止まってしまいます。 if((int)BoxX != MouseX && (int)BoxY != MouseY) のようにまとめてしまわないで、X座標Y座標の一致を個別にチェックした方がよいです。 つまり、 X座標がクリック位置に到達していない → X座標にSx加算 Y座標がクリック位置に到達していない → Y座標にSy加算 両方とも到達 → 停止 有難うございます 指摘されたとおりに直したらきちんと移動するようになりました 今の条件だと座標が一致した時に点を描画していないからではないでしょうか? それと、あ...
by コーヒー牛乳
14年前
フォーラム: C言語何でも質問掲示板
トピック: 画面に表示した点をクリックした座標まで移動させる
返信数: 17
閲覧数: 6242

画面に表示した点をクリックした座標まで移動させる

初めてこの掲示板を利用させていただきます ゲームプログラミングに興味をもって一年ほど前からC++の入門書(やさしいC++第3版)に手をつけていて 挫折を繰り返しつつも何とかプログラムを動かすことが出来るようになったのでdxライブラリを導入してみました。 そこで最近作ったのが画面に表示した点をクリックした座標まで移動させるプログラムなのですが 実際に動かしてみると、クリックした座標の手前で点が止まってしまうことがあります。 どこを直せばクリックで得た座標まできちんと移動するでしょうか? 他にもプログラムに無駄な所や間違っているところがあれば指摘を頂けると幸いです ※ 申し訳ありません、コードを貼...

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