検索結果 99 件

by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

なら家を作った時に、家を出た時の位置を記録しようと思いますがどうでしょうか?
つまり、

家建てる=>その家の構造体の中の、家を出た位置のxy座標をその時設定する
という風です

あと、フィールドマップでは、家を出た位置のxy座標を設定する必要がないので、
値をNULLとかにしといたほうがいいですか?
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

softya(ソフト屋) さんが書きました:  共通のマップデータの初期化
  if(家の場合){
      家をでた時の位置の初期化
  }

ISLeさんの言いたい事は後々困るので特殊な処理を増やすなって事なので、マップ毎に結びついた専用の初期化(イベント)でやれば良いことを汎用にするなって事でしょう。
中核のコードに出来るだけ特殊な条件のコードが出てこないように意識してみてください。
今回の建てられる家も、汎用的な処理でできるだけ済ませられるようにすることが第一です。
ifを付けずに済む方法を考えるということですか?
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

マップの初期化とマップ移動についてですが、list.txtファイルの中に、マップ名のほかに、 家や、フィールドを識別するための、値も一緒に入れておき、マップ移動するときに、 移動先が家の場合、家を出た位置の情報が、マップの初期化に追加させるという方法を考えたのですが、 どうでしょうか? つまり list.txtを呼ぶ => MAPLIST関数の中に、全マップ分の名前、種類を入れる、この時、構造体の中に、 マップの種類を表すメンバを追加しておく => 初期化の際、 初期化関数() {   共通のマップデータの初期化   if(家の場合){       家をでた時の位置の初期化   } } みたい...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

例が悪かったですね。 ある場所からワープすると入れる家があって、扉は出ることだけができるとしたら、家に入るイベントの場所は存在しないわけですが、その場合はどうなりますか?家に入るイベントと家を出るイベントを完全に分けてしまえば良いと思うのですが。 そういう意味でしたか、俺の書き方も悪かったですが、家を出たときの位置の入った時の イベントの一歩手前というのは、家は、自由な場所にたてられるので、出た場所の計算として 入るためのイベントを使用してるだけで、出るイベントと、入るイベントは別です。 そして、まだ出るイベントは、完成してないので、絶対そうなるとは言えませんが、 予定としては、出た場所は、...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

>マップチェンジ状態にGameMain()を遷移させればどうでしょう。
どういうことでしょうか?
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

それと、マップ移動時のキャラの初期値の移動の事ですが、 関数を新しくMap.h内に、GetMoveAfterPos();とPlayer.h内に、ChangePlayerPos(pos,scrx,scry); を追加しました。GetMoveAfterPos();というのは、マップ移動したのちのキャラクターの初期位置を、POS_XYで 戻り値を返します。ChangePlayerPos(POS_XY pos,int *scrx,int *scry);は、プレイヤーの位置を 引数の値に移動できます。これらを、イベントでマップ移動した時1回だけ呼ぶということがしたいのですが、 どうしたらいいかわかりませ...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

そもそもどうして家に入る前の位置が必要なのでしょう。 扉から出たら扉の前に立たせれば良いのでは。 家から出たときに最初に立っている位置は固定で良く、その位置はフィールドに配置した家が知っているはずの情報で、フィールド上のオブジェクト同士で連携する必要はないと思います。 家に入る前の位置とは、家に入るのに使ったイベントの一歩手前の事ですか?簡単に,家に入るイベントの位置を書くとすると、1の位置 です。そして、家に入る前の位置とは□の位置です。□の位置は、計算により出されます。よって、家に入るイベントの位置が決まると、 自動的に家に入る前の位置が決まるというわけです。 0 0 0 0 0 0 0...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

最近コードを乗せてなかったので、とりあえず載せます Main.c #include "DxLib.h" #include "Player.h" #include "Map.h" #include <string.h> int GameMain(); //ゲームのメイン処理 int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { ChangeWindowMode( TRUE ) ;// ウインドウモードで起動 if( DxLib_Init() < 0 )...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

softya(ソフト屋) さんが書きました:マップ初期化を呼び出す上位(呼び元という意味で)のイベント統括モジュールが設定すべきかと思います。
マップとかプレーヤーなどの下位(呼び出され側)のモジュールには、お互いを結合しうる要素は避けてください。
ということは、Map.cないで、Player.cを呼び出すのではなく、ほかのモジュール内で、戻り値や、引数を使って、
データの受け渡しをするということですか?
あと、Map.cと、Player.cの関数で、共通の構造体を使ってデータを交換する場合は、その構造体をどうしますか?
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

>Player.cに座標を設定する関数を用意するで解決しませんか? イベントやらマップ移動したフラグとか一切Player.c側が知る必要はないと思います。
マップ移動時に、マップを初期化する関数内で、座標を設定する関数を呼び出すということですか?
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

イベントによるマップ移動について、家の中への移動についいては、フィールドから 家に入った場合、家の中のイベントレイヤに、プレイヤーの初期位置を示すイベントを入れて、 家の中への移動時に、イベントレイヤの中からプレイヤーの初期位置を示すイベントを探して、 キャラをそこに持ってくる、そして、出るときは、部屋に入るために使ったイベントのある 位置の一歩手前に移動させるということをしようと思ってるんですが、 どうすればいいか困ってます。というのも、マップ移動時に、マップを移動したというフラグと、 部屋のイベントレイヤのプレイヤーの初期位置を示すイベントのある位置をPlayer.cの中の関数に渡さないと...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

milfeulleさん返信ありがとうございます 1. player.cのPlayerDraw関数ですが、 if文が連なっており、全ての条件が判断されることになる点です。else ifを使って不要な条件判断を行わない方が効率的だと思います。 なるほど、直してみます。 2. m_directionをせっかくenum DIRECTIONで定義しているのですから、それらとハンドルの配列へのインデックスを対応づけておけば、(ファイルから読み込んでもいいですね)n[(int)UP] = 0, n[(int)DOWN] = 6, n[(int)RIGHT] = 3, n[(int)LEFT] = 9によって...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

何とか、キャラが通った場所のイベント番号の取得に成功しましたが、
フィールドから家に移動させるイベントを発生させたいのですが、
今考えてるのは、
キャラがイベントに触れる、=> イベント番号を取得、=>
イベントリストを作成しといて、(イベントリストの例 1なら家の中に移動 など)
イベント番号にあったイベントをおこす。

こんな感じです。
あと、イベントレイヤーは、家の出入り用、村人用という風に、分けた方が
良いですよね?
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

>gamemainが当たり判定を仲介して、MapEvent()とPlayerPos()を呼び出す形で良いんじゃないでしょうか。
>私の提案としてはPlayerPos()は座標x,yを戻り値として構造体で戻して、MapEvent()に渡すんで良いかと思います。
ということは、

(main.c内に書く)
GameMain()
{
POS_XY pos;
pos=PlayerPos();
MapEvent(pos);//posを引数として渡す
}

のような感じですかね?
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

まえにMap.cとPlayer.cの情報を共有しない的な事を言われた と思いますが、 例えば、Player.c内の関数の値をmap.c内の関数で使いたいとき、 関数 PlayerPos()とMapEvent()があるとして、MapEvent()の処理内で、 PlayerPos()の値を使うときは、どうするのがいいでしょうか、 例えば、Main.cの中で、変数 仮にposを宣言して、PlayerPos(int *pos)で ポインタで返して、それをMapEvent(int pos)に、引数として渡す というやり方でいいでしょうか?(前の時はそうした) というか、posなどの変数は、Main.cの...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

時間があいてすいません。いろいろ忙しかったので・・・
キーボード入力でマップを変えることができました。
マップ移動の基礎が出来上がったと思います。
次は、イベントを踏んでからのマップ移動かなぁと思います。
イベントは、イベントレイヤを作ってしたいと思います。
そこで、レイヤの読み込みは、
マップ.txtファイルの、マップ地形のしたにレイヤの情報を入れとく、 => 
マップ地形とどうようレイヤの数を二次配列に代入、
二次配列 例)
maplayer[レイヤの番号 1ならイベント、など][レイヤ情報]

で行こうと思います。どうでしょうか?
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

出来ました。ありがとうございます。 変えたところは、file系の関数を、 全てdxライブラリのものに変えました。 #include "DxLib.h" #include "Map.h" #include "Player.h" #include <stdio.h> #include <string.h> #include <stdlib.h> struct MAP { char m_filename[226]; int m_xnum;//縦と横のマップチップの数 int m_ynum; int *m_map; //マップの地形データ char m_graphname[256]; int m_ch...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

初歩的な質問ですいません。 ファイルから取り出した文字列を使ってファイルを開こうと 思ったんですが、できません。list.txtを開いて、fgets()で、 1行取得して、取得したファイル名でファイルを開こうと思ったんですが、 できないです。list.txtの中には、"test.txt"とだけ書いてあります。 なぜでしょうか? #include "DxLib.h" #include "Map.h" #include "Player.h" #include <stdio.h> #include <string.h> #include <stdlib.h> struct MAP { char m_...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

>ちょっと説明が分かりづらいですが、たぶん合っています。 すいません説明が下手なもので。 詳しく書きます。 使用するファイルをlist.txtと、test.txt、test2.txt etc・・・ として、 test.txtたちの中身がマップの情報 list.txtの中身を //----list.txtの中身----- test.txt test2.txt ・ ・ //------------ として、 例えばMAPLISTという構造体配列の中に ファイル名を1つずつ代入、(MAPLIST構造体の中メンバはファイルの名前やその他の情報)。 そして、マップを移動するイベントに触れたら、 そのたび...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

今まで理解するのに時間がかかってました。
そして、配列構造体で頑張ろうと思います。
でも、イメージがうまくつかめないので、
分からないままがんばって考えた結果、

ファイル1にマップの情報が入ったファイルの名前の一覧を書いておく、 => 
ファイル1を読み込み、 =>
マップの情報が入ったファイルの情報を、配列構造体に1つずつ入れる、 => 
マップ情報が入った配列構造体の情報をMapFormat() に引数として渡す、 =>
それをもとにMAP構造体に情報を代入 => 表示、

てな感じでしょうか?
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

「必要なデータの保存」以外はおかしくないです。 このタイミングで保存する必要性が私には分かりません。 必用なデータの保存というのは家具のある位置とかもそうですが、 宝箱のフラグとかもその一部です。 自動で保存されるんでしょうか? 家具を配置したマップは、どう考えてもセーブデータ扱いではないでしょうか。 ゲームのプレーヤーに知らない間に保存される仕様となっているのならそれでも良いですが、ゲームのプレーヤーが保存したと自覚的に分かるのはセーブした時だと私は思います。 考えている中では、家具を置ける場所に、家具レイヤを作っておいて、家具を置いたら、そのレイヤを書き換える。例えば、0から1にする、 ...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

今思ってるマップチェンジの基本的な流れは、 マップ1から、マップ2への移動の場合、  マップ1のデータが入ったファイルを読み込む => MAP構造体にデータを代入 =>マップチェンジ=>  今入れてるMAP構造体のデータの初期化 && 必要なデータの保存 && ファイルを閉じる =>   マップ2のデータが入ったファイルを読み込む => MAP構造体にデータを代入 という流れなのかなと思ってるんですが、おかしくないでしょうか? おかしくないのなら、 ファイルの名前などはどうやって変えますか? MapFormat(); 関数の引数をファイルの名前にして、マップチェンジのたびに、 MapForma...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

出来ればマップチェンジでお願いしたいです。
バイナリはあとからでも十分な気がしますので。
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

試行錯誤して頑張ったんですけど、あと何をしたらいいかわからないので、やったことと、プログラムを乗せておきます。 main.c #include "DxLib.h" #include "Player.h" #include "Map.h" #include <string.h> int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { //MAP mp; //PLAYER pl2; static int scrx,scry; ChangeWindowMod...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

softya(ソフト屋) さんが書きました:動的と言いながらmallocしている以外固定値だと思います。
MAP_HEIGHTやMAP_WIDTHとmp.m_xn=5;とmp.m_yn=5;
それとint m_graph[20]; //画像を入れとく
やmp.m_graph[0]=LoadGraph( "マップチップ.png" ) ;
このプログラムで、例えば100x100サイズのマップとマップチップ画像50個の場合どうするんでしょうか?
マップチップのサイズと、マップチップの数や、その画像の名前はどうやって得ますかtxtファイルの先頭とかに書いとくのでしょうか?
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

動的配列のプログラムを組んでみました。 こんな感じで良いでしょうか? #include "DxLib.h" #include "Map.h" #include "Player.h" #include <stdio.h> #include <stdlib.h> struct MAP { int m_xn;//縦と横のマップチップの数 int m_yn; int* m_map; //マップの地形データ int m_graph[20]; //画像を入れとく }; static struct MAP mp; int MapFormat() { mp.m_xn=5;//縦と横のマップチップの数 mp.m...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

softya(ソフト屋) さんが書きました: player.cに構造体の実体が来て外部的には構造体の前方宣言だけになるので、ポインタしか戻せなくなるからです。
※ 構造体の構造をplayer.c以外には隠蔽します。
という事は、MapDraw()とかは使えなくなるんじゃないでしょうか?
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

問題とは別ですが個人的に気になるのがPlayerDraw関数でのDrawGraph関数の多さですね。 あらかじめ、pl.m_handleの配列内の数値を変数もしくは関数で取得すればDrawGraph関数を1つ書くだけで済み、見やすく修正が楽になると思います。 とりあえず、DrawGraph関数を1つにおさえました。  player.c #include "DxLib.h" #include "Player.h" #include "Map.h" #define ASPEED 10 //--------------- //プレイヤーのアニメ―ション 縦 横 速さ ハンドル //--------...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

おもに直した部分は、 次のソースの、int Format(PLAYER *pl)//データの初期化の部分です 構造体の中のメンバをほぼ初期化しました。(よく考えたらこれが基本だったのかもしれない) player.c #include "DxLib.h" #include "Player.h" #include "Map.h" #define ASPEED 10 //--------------- //プレイヤーのアニメ―ション 縦 横 速さ ハンドル //--------------- void PlayerAnimation(PLAYER *pl) { pl->m_mcount++; pl-...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

とりあえず、異常な値になるバグは解消されました。
普通に構造体のメンバを全て初期化したら治りました。
つぎのかだいは
ISLeさんも言ってるとうり
>とりあえずh*wを動的に扱う方法を勉強するなりアドバイスを受けるなりするのが良いのではないでしょうかね。
>マップデータをプログラム内に固定で持たず、大きさの異なるマップ間を移動する処理を考えてみてください。
ですね。とりあえずは自力で頑張ってみます。
これができたら
platinumのファイルの処理ですかね。
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

プログラム player.h #ifndef PLAYER_H //二重include防止 #define PLAYER_H //----------------------------- //向きの定数 //----------------------------- enum DIRECTION { UP, //上の時 DOWN, //下の時 RIGHT, //右右右右右右右右ィーーーーーッ LEFT, //左の時 }; //----------------------------- //プレイヤーの情報の構造体 //----------------------------- struct ...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

実際の所、あーでもないこーでもないと色々実装してみて悩んだ末にポイントごとで質問してもらった方が理解が進みやすい問題かと思います。 初心者でぶつかる壁とはレベルが違うので聞いてすぐ応用できるという代物でもありません。、ご自分なりの理解が熟成されている必要があるのです。 問題を分解してみましょう。 1.バイナリファイルの入出力が理解できない。 2.マップの読み込み・書き出しが理解できない。 3.固定配列から動的配列にしてマップ管理が作れない。 4.platinumのフォーマットが理解できない。 5.モジュール化(ファイル分割)が出来ない。 私には、1から5を同時進行している様に見えます。 おっ...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

すいませんマップの画像データ[h*w]というのはミス表記です
正しくは、 画像データ[マップチップの数]という、画像を入れとく配列です。
マップ上の設置物データ[h*w]は、フィールド上の家もここに入れておくため、
一応入れてます。
>platinum がそんな感じですが問題がありますでしょうか?

platinumをゲームに組み込む方法がわからないのです。
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

Re: 本格的なrpg マップ処理。

softyaさん 返信ありがとうございます 本当に申し訳ないのですが、質問をかえさせていただきます。 マップをそれぞれ マップの地形データ[h*w]・・・その名のとうりマップの地形、土台など マップ上の設置物データ[h*w]・・・この前、トピックを建てた時に説明したように、物をおける用にしたいので、置いたものを保存する配列 マップの当たり判定[h*w]・・・マップの当たり判定1は通れない、など マップのイベント[h*w]・・・触れたらマップ移動とか、 マップ上のモンスターのいる場所[h*w]・・・マップ上のモンスターのいる場所の記録するやつ(アクションrpgみたいなかんじ) マップの画像データ...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 本格的なrpg マップ処理。
返信数: 86
閲覧数: 37056

本格的なrpg マップ処理。

いつもお世話になっております。 今回は、依然作ったrpg(試作)があるんですが、 そのゲームを本格的に作り治すにあたっての、アドバイスを いただきたいと思い質問させていただきました。 依然作ったrpgというのも、取り合えず動くんですが、 プログラムもごちゃごちゃ、グローバル変数も使い放題、 ソースファイルは1つだけというひどいものになったので、 きれいに書く、なおかつ、あとからいろいろ修正できるような、 ちゃんとしたものを作ろうかと思っております。いろいろ試行錯誤したものの、 マップの処理で行き詰ってしまいました。いつもマップは、適当なもので、 2次配列をグローバルで宣言し、マップデータを配列...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: プログラムをきれいに書くにあたって、
返信数: 4
閲覧数: 2786

Re: プログラムをきれいに書くにあたって、

分かりました。それらのことを頭に入れつつがんばってきます。
ありがとうございました
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: プログラムをきれいに書くにあたって、
返信数: 4
閲覧数: 2786

Re: プログラムをきれいに書くにあたって、

ほんとに初心者な質問で申し訳ないんですが、
ローカル変数を宣言するときに、初期化が必要ですよね?
だから初期化するんですが、関数内で、変数を使ってカウント
などするとき、関数の初めに、初期化されるので、
いつもカウントに使う変数は、グローバル変数で宣言するんですが、
何か対処法などありますか?
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: プログラムをきれいに書くにあたって、
返信数: 4
閲覧数: 2786

プログラムをきれいに書くにあたって、

今ゲームを作成しているのですが、今までで、ここまで行数が
多く、処理が複雑なプログラムを組んだのが、初めてで、
お世辞にも、見やすいと言えないほどにひどいので、
一回、初めから、今あるのを参考に、書こうと思うのですが、
些細なことでもいいので、きれいに書くにあたっての
アドバイスがあればよろしくお願いします。
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 同じ二次元配列を複数つくる
返信数: 21
閲覧数: 9692

Re: 同じ二次元配列を複数つくる

softya(ソフト屋) さんが書きました:あっ。あとで気づきましたが、部屋を同時には表示しないのでファイル保存されるなら家具マップ・レイヤの2次元配列は1つあれば十分です。
3次元いりませんよ。

【補足】 部屋ごとに違うファイル名で保存される前提となります。
建てれる家の上限分あらかじめファイルを作っとくということですか?
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 同じ二次元配列を複数つくる
返信数: 21
閲覧数: 9692

Re: 同じ二次元配列を複数つくる

softya(ソフト屋) さんが書きました: その説明は今初めてされました。
はじめにマップエディタですか?と聞いた時にフィールドの話で完結してしまったのです。
すいません。そういったことはもっと詳しく言っとくべきでした。
とりあえず3次配列で頑張ってみます。あとmallocも完璧にできるように頑張りたいです。
ありがとうございました。
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 同じ二次元配列を複数つくる
返信数: 21
閲覧数: 9692

Re: 同じ二次元配列を複数つくる

softya(ソフト屋) さんが書きました:前から書いているように家の数が不定なのと部屋マップが同じ数だけ必要なのは=では結べません。
必要でないかもしれませんし、必要かもしれません。
必要な理由が未だに説明されていないのです。
なぜ家と同じだけ部屋の数が必要かということでしょうか?
それは、部屋に、家具を置きたいからです(しかもプレイヤーの決めた家具を
プレイヤーの決めた位置で)部屋の配列が1つだと、1つの家だけに家具を置いても
他の家にも反映してしまう(当たり前ですが)からです。
だから、家に個々の配列を用意したいのです。
厳密に言えば、部屋の数というよりも、家具の位置を保存しとく配列(レイヤー)の数です
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 同じ二次元配列を複数つくる
返信数: 21
閲覧数: 9692

Re: 同じ二次元配列を複数つくる

・各部屋別々の地形 にする予定であり,それを実現できるようにコード作成しているけれども,  現段階では地形aという一種類のデータしか用意できていないので  「とりあえず現段階では仮に」地形データaを全部屋で使う形にしておきたい という話なのか.あるいは別の何かなのか. 二次配列a[][]が部屋のデータを入れとく配列です。 最初考えてのは、建てれる家の数が不定なので、 最初に、部屋の配列だけを何個も作っておくのも大変なので、 執拗に応じてa[][]のような配列をその場で増やして管理したい ということです。 たとえば、ゲームをやってる途中で、配列などを宣言できますか? 無理ならやっぱり作り置きし...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 同じ二次元配列を複数つくる
返信数: 21
閲覧数: 9692

Re: 同じ二次元配列を複数つくる

とりあえずやってみます。
あといまさらですが、
softya(ソフト屋) さんが書きました:あと2次元配列はファイルセーブロードにとって厄介なので一次元配列にしましょう。
なぜ2次配列はファイルセーブロードにとって厄介なんですか?できるだけ一次配列で組んだ方がいですか?
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 同じ二次元配列を複数つくる
返信数: 21
閲覧数: 9692

Re: 同じ二次元配列を複数つくる

> 同じ部屋に行ってしまう シナリオやシステムで振り分ければ良いのではないでしょうか。 俺の説明不足ですね。すいません。 同じ部屋というのは、別の部屋の地形を用意してないので、 部屋の地形aにしか行けないということです。 部屋も作り置きのものを使うなら、わざわざデータとして複製する意味が無いですよ。 作り置きではなくて、家を建てるとすのと、今、頭の中にある構成は、 プレイヤーが操作して、家を作る(1つめ) => とりあえずその家の移動イベントを家の上に作る。(イベントの つくり方は、なんとなくわかる) => 部屋の地形aを複製する。(これを、1つ目の家の部屋の地形にする、複製の仕方がわからな...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 同じ二次元配列を複数つくる
返信数: 21
閲覧数: 9692

Re: 同じ二次元配列を複数つくる

例えば平原地形に家をコピペして貼り付けたいと言うことでしょうか? であれば、メモリ上だけ再現されていればよいで 平原地形読み込み → 家を読み込み → 平原の上に家を貼り付ける って事ではないでしょうか? はい、家の画像はそんな感じです。 やりたいことは、貼り付けた家の数(仮に2つとするなら、) 2つ分の、移動イベント、部屋の地形(部屋の地形aを複製した者)を用意し、 家を別々に扱いたいです。(別々というのは、今現在の段階では、家を複数建てられるけど、 移動イベントも、部屋の地形データも、1つずつしかないから、どの家に入っても、同じ 部屋に行ってしまうので、そうならないために、部屋の地形aを...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 同じ二次元配列を複数つくる
返信数: 21
閲覧数: 9692

Re: 同じ二次元配列を複数つくる

ゲームとしてマップエディタを内蔵しているんでしょうか? マップエディタと言えばそうなのかもしれませんが、ゲームの流れは、 平地のステージ => 場所を決める => 家を建てて住む(拠点を建てる) => そこで暮らす という流れになっています。 ので、エディタと言うより、家の絵をフィールド上に書いて、その家を建てた時に、 その家に入るイベントの設置、イベントに触れると家(部屋の地形a)に移動するようになってます。(これはエディタになるのかな?) で、建てる家が、1つだけならいいのですが、複数作るときに、仮に立てる家の数を10とすると、 建てれる制限の10この地形データ1つ1つ用意するのも面倒な...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 同じ二次元配列を複数つくる
返信数: 21
閲覧数: 9692

Re: 同じ二次元配列を複数つくる

確かに・・
何言ってんだろ俺…
なんかこんがらがってました、すいません。
配列じゃなくて、構造体みたいな感じですね、すいません。
ゲームの都合上、建物は自分で建てるので、
建てた時に、元ある部屋の地形(仮にaとします)を
家を作った分だけ複製して、個々の地形データとして、
作りたいです。
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 同じ二次元配列を複数つくる
返信数: 21
閲覧数: 9692

同じ二次元配列を複数つくる

またわからないことがでてきたので質問させていただきます。
今僕は、rpgゲームを作ってるんですが、
家の中は、基本の形をおんなじにしたいので、
おんなじ配列を使いたいのですが、
同じ二次元配列を複製する方法がわかりません。
どうしたらいいんでしょうか?
分かりやすくいうと、
i変数を配列でi[]として同じ変数で使用できるように
i[][]という二次配列で、同じようにするには
どうすればいいかということです。
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: rpgで家に入る
返信数: 17
閲覧数: 7481

Re: rpgで家に入る

よく考えてみたらわかりました。ありがとうございました
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: rpgで家に入る
返信数: 17
閲覧数: 7481

Re: rpgで家に入る

softya(ソフト屋) さんが書きました:> うまくいきません。どうすればいいでしょうか?
どう、うまく行かなのでしょうか? 曖昧な部分は排除して数値などで説明して下さい。
指摘ありがとうござます

いい座標の計算の方法がわかないです。
もしかして、新しいマップに入ったら、自機の座標も
一回リセットした方がいいんでしょうか?
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: rpgで家に入る
返信数: 17
閲覧数: 7481

Re: rpgで家に入る

↑に書いた質問ですが、
分かりにくいと思ったので、
簡単に書きます。
pl.mx,pl.myは、マップ全体から見た座標です。
mp.scrx,mp.scryは、スクロールさせるための変数です。
pl.vx,pl.vyは、画面上での自機の座標です。

pl.vx,pl.vyの求め方は、それぞれ

pl.vx=pl.mx+mp.scrx;
pl.vy=pl.my+mp.scry;
です。別マップに移動したときに、スタートする座標をそのマップ内のイベント配列内で設定して、
それをもとに計算して、スタート座標を決めたいのですが
うまくいきません。どうすればいいでしょうか?
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: rpgで家に入る
返信数: 17
閲覧数: 7481

Re: rpgで家に入る

さっそくつまずいてしまってきました。 家とフィールドの往復はできたのですが、 マップ移動の際、前のマップ座標が残ってしまい、 中途半端な場所から始まってしまいます。 どうしたらよいでしょうか? 自機の移動処理を乗せておきます int key; key=CheckHitKeyAll(); pl.movex=pl.mx; pl.movey=pl.my; mp.mscrx=mp.scrx; mp.mscry=mp.scry; pl.mwalkx=3; pl.mwalky=3; if(CheckHitKey(KEY_INPUT_UP)==1)pl.mwalky=0, pl.yflag=1;//上に移動...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: rpgで家に入る
返信数: 17
閲覧数: 7481

Re: rpgで家に入る

maphandle[] マップチップを入れとく配列
map[][] マップチップの配置
mapi[][] マップ上のイベント
を使いまわすということですか?
たとえば、maphandle[]のもともとはいってた画像を消して新しい画像を入れる
他のも、map[][]の中身やmapi[][]の中身も新しいマップのデーターに置き換えるということですか?
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: rpgで家に入る
返信数: 17
閲覧数: 7481

Re: rpgで家に入る

マップロードの関数を使った具体的な流れは、

現在のマップデーター
maphandle[] マップチップを入れとく配列
map[][] マップチップの配置
mapi[][] マップ上のイベント

あたらしいマップデータ
newmaphandle[] 新しいマップチップを入れとく配列
newmap[][] 新しいマップチップの配置
newmapi[][] 新しいマップ上のイベント

でするときどういう流れになりますか?
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: rpgで家に入る
返信数: 17
閲覧数: 7481

Re: rpgで家に入る

softya(ソフト屋) さんが書きました:ちゃんと作るならロードから設計しないといけません。
画像ハンドルを取り替えて(前のマップ画像は破棄、新しいマップ画像をロード)、今どのマップに居るか意識しなくても画像が切り替わるように作ります。
ロードというのは、現在のマップ => 現在のマップの画像の削除 => 新しいマップの読み込み => 新しいマップの描画
という事ですか? 
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: rpgで家に入る
返信数: 17
閲覧数: 7481

Re: rpgで家に入る

ホヅミさんsoftyaさん 回答ありがとうございます

つまり入口用の見えない画像を作ってその画像と当たり判定をして、
当たったら部屋の中に移動すということですね?

あと部屋の画像とフィールドの画像の切り替えはどのようにしたらいいですか?
普通にswitch関数などを使うのですか?
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: rpgで家に入る
返信数: 17
閲覧数: 7481

rpgで家に入る

dxライブらリでrpgを作ってるんですが、またわからないところが出てきたので、
質問させていただきます。
というのも、家をフィールドに書いたまではいいのですが、
家に入るプログラムをどうやってプログラムを組めばいいかわかりません。
後、今の場所はスクロールで、キャラが常に画面の真ん中にいるのですが、
家の中は狭いので、スクロールじゃなくて、普通に歩き回れるようにしたいです。
ヒントでもいいのでおしえてください。
よろしくお願いします。
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: rpg内での、小ウィンドウ(メニュー)の表示について
返信数: 6
閲覧数: 3190

Re: rpg内での、小ウィンドウ(メニュー)の表示について

みけCAT さんが書きました:MakeScreenで作成した「画面」に小ウィンドウの中身を描画し、その「画面」をメイン画面に描画するのもいいかもしれません。
フムそう結うやり方もあるんですね

でも今回はsoftyaさんの方法で試してみようと思います
ありがとうございました。
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: rpg内での、小ウィンドウ(メニュー)の表示について
返信数: 6
閲覧数: 3190

Re: rpg内での、小ウィンドウ(メニュー)の表示について

softya(ソフト屋) さんが書きました:ウィンドウはグラフィックです。DrawGraphやDrawBoxを使います。
つまり、ボタンや字などは、グラフィックで書いたものの中に書いたりしてそれっぽくするということですね?
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: rpg内での、小ウィンドウ(メニュー)の表示について
返信数: 6
閲覧数: 3190

Re: rpg内での、小ウィンドウ(メニュー)の表示について

すいません説明不足でした。ウィンドウはどうやって出すのでしょうか?
ちなみに、ゲームはdxライブラリで作ってます
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: rpg内での、小ウィンドウ(メニュー)の表示について
返信数: 6
閲覧数: 3190

rpg内での、小ウィンドウ(メニュー)の表示について

現在、rpgを作っているのですが、分からないとことが出てきたので、
質問させていただきます。
というのも、ゲームとかでよくある、画面上のアイコンをクリックすると、
小ウィンドウが出てきて、ウィンドウ内で作業をして、決定を押すと、
ウィンドウ内でしたことが、ゲーム内で反映されるとか言うやつです。
これを実装するにはどうすればいいんでしょうか?
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 表示座標とマップ座標
返信数: 2
閲覧数: 1485

Re: 表示座標とマップ座標

なるほどやっと理解できました。
おかけでプログラムが見やすくなりました。
助かりました。
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 表示座標とマップ座標
返信数: 2
閲覧数: 1485

表示座標とマップ座標

http://dixq.net/forum/viewtopic.php?f=3 ... 90#p117090 の続きです
まず最初に理解力がなくて本当にすいません。
以前質問させてもらった時に、表示座標とッマップ座標というのが出てきて、
理解できたような気になってしまって、解決とさせていただいたんですけど、
いざプログラムに書き込もうとしたら、どうすればいいかわからくなってしまったので、
再び質問させていただきました。
非常に申し訳ないのですが、どなたか解説お願いします。
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 敵との当たり判定
返信数: 12
閲覧数: 4627

Re: 敵との当たり判定

softya(ソフト屋) さんが書きました:その方がシンプルになりバグが減ります。
毎回、+mp.scrxや+mp.scryするのはコードが増えるに従って間違いやすいし、非効率的だと思いませんか?
なるほどそうですね。さっそく書き直してみます。ありがとうございました。
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 敵との当たり判定
返信数: 12
閲覧数: 4627

Re: 敵との当たり判定

ということは、キャラの座標はすべて表示座標ではなくてマップ座標に直して当たり判定は、
マップ座標でするということでいいですか?
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 敵との当たり判定
返信数: 12
閲覧数: 4627

Re: 敵との当たり判定

softya(ソフト屋) さんが書きました:気になるのは、char g1とハンドルの型がintじゃない点ですね。ちゃんとハンドル値受け取れてますか?
int型に直したら、正常に動作しました。ありがとうございます。

表示座標というのはウィンドウ上の座標、
マップ座標というのはつまりmapcの配列という事でしょうか?
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 敵との当たり判定
返信数: 12
閲覧数: 4627

Re: 敵との当たり判定

もちろん問題と成るHit関数の中での値です。 x2 + g2w他の値がちゃんと狙った値となっているか確認しなければ、いけませんよね。 この長いif文 if( ( ( x1 >= x2 && x1 <= x2 + g2w ) || ( x2 >= x1 && x2 <= x1 + g1w ) ) && ( ( y1 >=y2 && y1 <= y2 + g2h ) || ( y2 >= y1 && y2 <= y1 + g1h ) ) ) の動作を検証するわけですから。 確認してみたところ、画像の縦の値が異常な値になっていました。 縦の値は、GetGraphSize()関数を使って、調べたので...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 敵との当たり判定
返信数: 12
閲覧数: 4627

Re: 敵との当たり判定

softya(ソフト屋) さんが書きました:で、デバッガで値は調べられたのですか?
どこの値でしょうか?
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 敵との当たり判定
返信数: 12
閲覧数: 4627

Re: 敵との当たり判定

softya(ソフト屋) さんが書きました:+mp.scrxや+mp.scryと当たり判定時にマップの座標を足している理由を教えて下さい。
これは、この二つを足さないと、敵がスクロールしてくれないからです

動作はしてます
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 敵との当たり判定
返信数: 12
閲覧数: 4627

敵との当たり判定

http://dixq.net/forum/viewtopic.php?f=3&t=14734 の続きです 前回アドバイスをいただいた通り、別レイヤで敵を書きました。 そして、当たり判定を行う関数を作ったのですが、うまく機能していません。 どこが間違っているのでしょうか? 当たり判定の参考にしたサイトは、 http://homepage2.nifty.com/natupaji/DxLib/lecture/lecture1_6.html です #include "DxLib.h" #define MAP_SIZE 32 // マップチップ一つのドットサイズ #define MAP_WIDTH 2...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: rpgゲームのスクロールについて
返信数: 9
閲覧数: 3974

Re: rpgゲームのスクロールについて

なるほどすごく勉強になりました。ありがとうございました。
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: rpgゲームのスクロールについて
返信数: 9
閲覧数: 3974

Re: rpgゲームのスクロールについて

softya(ソフト屋) さんが書きました:今後の発展性とか具体的な方向性の質問であれば、それはお答えできます。
今後は、このマップに敵(移動する)を配置しいたいのですが、敵のスクロールは何となくわからないでも
ないんですが、マップに組み込むのはどうしたらいいのでしょうか?
普通にmapcの配列に入れてもいいのでしょうか?
softya(ソフト屋) さんが書きました:このプログラムは本格的に組む前のプロトタイプと思っているんですが、違うんでしょうか?
そうですね。とりあえず画面のスクロールの練習みたいなものです。
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: rpgゲームのスクロールについて
返信数: 9
閲覧数: 3974

Re: rpgゲームのスクロールについて

少し改良してこんな風になりました。 #include "DxLib.h" #define MAP_SIZE 32 // マップチップ一つのドットサイズ #define MAP_WIDTH 20 // マップの幅 #define MAP_HEIGHT 15 // マップの縦長さ int Pls(); //プレイや-の初期化 int Mps(); //マップの初期化 int Chractermove(); //キャラの移動処理 int MapDraw(); //マップの画像 int mapc[MAP_HEIGHT][MAP_WIDTH]={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: rpgゲームのスクロールについて
返信数: 9
閲覧数: 3974

Re: rpgゲームのスクロールについて

すいません俺にはちょっとわかりにくかったです。 まことに勝手ですが、質問を変えさせていただきます。 このプログラムでスクロールさせるには 何を付け加えたらいいでしょうか? #include "DxLib.h" #define MAP_SIZE 32 // マップチップ一つのドットサイズ #define MAP_WIDTH 10 // マップの幅 #define MAP_HEIGHT 10 // マップの縦長さ int Pls(); //プレイや-の初期化 int Mps(); //マップの初期化 int Chractermove(); //キャラの移動処理 int MapDraw(); //マ...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: rpgゲームのスクロールについて
返信数: 9
閲覧数: 3974

rpgゲームのスクロールについて

現在、rpgのゲームを作っているのですが、
マップのスクロールのやり方が分からなくて
困っています。どうすればよいかおしえていただけない
でしょうか?
マップはマップチップで作っています。
言語はcで、Dxライブラリを使用しています。
よろしくお願いします
by heyman
11年前
フォーラム: 作品お披露目掲示板
トピック: デスクトップのアイコンを枠外に投げるソフト
返信数: 2
閲覧数: 12324

Re: デスクトップのアイコンを枠外に投げるソフト

このソフトで移動したアイコンはアイコンの自動整列と、アイコンを等間隔に整列にチェックを入れると
元の場所に戻ります
書き忘れてたんですけど、パスワードはcgengoです
by heyman
11年前
フォーラム: 作品お披露目掲示板
トピック: デスクトップのアイコンを枠外に投げるソフト
返信数: 2
閲覧数: 12324

デスクトップのアイコンを枠外に投げるソフト

デスクトップのアイコンを枠外に投げるソフト

このソフトは、棒人間が、デスクトップ上のアイコンをつかみ
枠外に放り投げるソフトです。
使い方は、付属のtxtを見てください

感想や、改善点などありましたらコメントください
現時点ではウインドウズ7でしか実行したことがないので
他のosでも使えるかおしえてくれたらうれしいです

ダウンロードはこちらから。
http://www1.axfc.net/u/3178080
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 手書きの字のやつ
返信数: 8
閲覧数: 3687

Re: 手書きの字のやつ

softya(ソフト屋) さんが書きました:やめちゃうんでしょうか?
別にあきらめたわけではありません
usao さんが書きました:検索して論文とかがでてきたらその中で
なるべく簡単なそうだと思うもの
調べたら自分でもできそうな者があったので
現在作成中です。
またいきず待ったころに来ます。
そのときはよろしくです
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 手書きの字のやつ
返信数: 8
閲覧数: 3687

Re: 手書きの字のやつ

そうでしたか
ありがとうございました
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 手書きの字のやつ
返信数: 8
閲覧数: 3687

手書きの字のやつ

よく、電子辞書などである、手書きで書いた文字を、電子文字?にするやつを、 c言語で作りたいと思ってるんですが、まず、手書きの字を電子文字?に直しているのは どういうしくみなんでしょうか? したいこと↓ たとえば、手書きで書いた文字A を、ファイルに文字として入れるということです 手書きA↓ ------------------------       a      l       a a     l     a   a    l          文字Aとしてファイルに保存    aaaaaaaa   l   --------->  A   a       a  l              ...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 動作確認をお願いします
返信数: 2
閲覧数: 1842

Re: 動作確認をお願いします

ミスりました int screen_x =1300;//スクリーンのサイズの変数 1400 int screen_y =700; //770 int time=0; //時間の変数 int random = 0; //ランダム 変数 int image; //画像 変数 int ghandle [5]; int muki = 0; //向きを決める 0=右、1=左 int move =10, charn=1 ,iti=0 ,stop=0; int iconind=0; int time2; int playr_x= 400; //プレイヤーの座標 int playr_y= 300; HWND ...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 動作確認をお願いします
返信数: 2
閲覧数: 1842

動作確認をお願いします

c言語です プログラムの動作チェックをお願いします 種類はデスクトップマスコットの類ですので ほかのをすべて閉じてください。 デスクトップ上で右クリックで、表示から、 アイコンの自動整列と等間隔に整列から チェックを外して使用してください プログラムは、 #include <windows.h> #include <commctrl.h> #include <DxLib.h> #include <stdlib.h> #pragma comment(lib, "comctl32.lib") int screen_x =1400;//スクリーンのサイズの変数 int screen_y =770; ...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: Dxライブラリ3d 弾丸について
返信数: 8
閲覧数: 3710

Re: Dxライブラリ3d 弾丸について

ありがとうございました!おかげで助かりました
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: Dxライブラリ3d 弾丸について
返信数: 8
閲覧数: 3710

Re: Dxライブラリ3d 弾丸について

()←当たり判定カプセル
●←弾のモデル
 
(←弾の移動距離→●)
ということであってますでしょうか?
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: Dxライブラリ3d 弾丸について
返信数: 8
閲覧数: 3710

Re: Dxライブラリ3d 弾丸について

>原因はわかってるのですが、 ということであれば,その「わかっている原因」を書かれた方がいいんじゃないかな ゆっくり弾が進む場合だと ●←弾 ┃←壁       ┃ ●●●●●●●┃       ┃ という具合に当たるのですが、 早い場合だと        ┃ ●   ●  ┃ ●        ┃ といった感じで当たらないということです 弾が位置AからBまで移動したときの判定領域サイズ(提案) [A__________________________B] ということは ●←弾 ┃←壁 -←弾の移動距離&弾の当たり判定        ┃ ●------●---┃----●        ┃ ...
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: Dxライブラリ3d 弾丸について
返信数: 8
閲覧数: 3710

Re: Dxライブラリ3d 弾丸について

つまりこういう事でしょうか?
●←弾
周り←当たり判定
       ____
      ( ● )
        ̄ ̄
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: Dxライブラリ3d 弾丸について
返信数: 8
閲覧数: 3710

Dxライブラリ3d 弾丸について

今Dxライブラリで3dゲームを作っているのですが、弾と地形との当たり判定が
うまくいきません。たとえば、たまの速度を上げると壁を通り抜けてしまいます。
原因はわかってるのですが、対処法がわかりません。どうすればよいでしょうか?
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 地面や壁との当たり判定について
返信数: 14
閲覧数: 7039

Re: 地面や壁との当たり判定について

当たり判定は難しいですね・・・
分からないところが明確に分かってから出直してきます
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 地面や壁との当たり判定について
返信数: 14
閲覧数: 7039

Re: 地面や壁との当たり判定について

MV1CollCheck_Sphereのサンプルは、動く球体とモデルの接地面の色を変える
ということであってるでしょうか?
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 地面や壁との当たり判定について
返信数: 14
閲覧数: 7039

Re: 地面や壁との当たり判定について

softya(ソフト屋) さんが書きました:それはリファレンスのサンプルを試して解析されて質問でしょうか? サンプルを試されていないとしか思えないのですが。
サンプルを見ても実行してもどうなってるかわからないし、どうやって座標を求めるのかもわかりません
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 地面や壁との当たり判定について
返信数: 14
閲覧数: 7039

Re: 地面や壁との当たり判定について

サンプルの方はまだわからなくもないのですが
MV1CollCheck_Sphereもわかりません
MV1CollCheck_Sphereではモデルと球体
が当たった座標をもとめれますか?
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 地面や壁との当たり判定について
返信数: 14
閲覧数: 7039

Re: 地面や壁との当たり判定について

みけCAT さんが書きました:ということは、KD木を使用した方がいいかもしれませんね。
google キーワード検索… : KD木 当たり判定
kD木がよくわかりません
softya(ソフト屋) さんが書きました:ご本家にサンプルがあります。
「DXライブラリ置き場 サンプルプログラム3D編」
http://homepage2.nifty.com/natupaji/DxL ... am_3D.html
サンプルは何回も見たことがあるのですが、
何がどうなってるのか理解できないので
簡単に説明していただけないでしょうか?
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 地面や壁との当たり判定について
返信数: 14
閲覧数: 7039

Re: 地面や壁との当たり判定について

言語はc言語で、使用ライブラリはDxライブラリです
マップは、坂道や障害物が多いマップです
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: 地面や壁との当たり判定について
返信数: 14
閲覧数: 7039

地面や壁との当たり判定について

いま、3dゲームを作ってるのですが、mapとのあたりはんていのしかたがわかりません。
どうすればいいでしょうか?
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: vector型について
返信数: 4
閲覧数: 2340

Re: vector型について

ありがとうございます
できました!
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: vector型について
返信数: 4
閲覧数: 2340

Re: vector型について

すいません
vectorとは、dxライブラリのもので
HitPositionとは、MV1_COLL_RESULT_POLYで
X、Y、Zとはfloat型です
by heyman
11年前
フォーラム: C言語何でも質問掲示板
トピック: vector型について
返信数: 4
閲覧数: 2340

vector型について

Dxライブラリで、3dゲームを作ってるのですが、HitPositionで
求めた座標を、変数X、Y、Zに代入するには
どうしらたいいですか?
by heyman
12年前
フォーラム: C言語何でも質問掲示板
トピック: デスクトップ上のアイコンの座標の取得と変更
返信数: 2
閲覧数: 2761

Re: デスクトップ上のアイコンの座標の取得と変更

ありがとうございます
これで頑張ってみます
by heyman
12年前
フォーラム: C言語何でも質問掲示板
トピック: デスクトップ上のアイコンの座標の取得と変更
返信数: 2
閲覧数: 2761

デスクトップ上のアイコンの座標の取得と変更

デスクトップ上のアイコンをランダムに1つ選んでそのアイコンの座標
を取得する方法を教えてくださいそしてそのアイコンの座標を
変更する方法を教えてください

環境はwindows 7 と visual c++ express 2010 です

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