検索結果 145 件

by イマダニ
6年前
フォーラム: C言語何でも質問掲示板
トピック: ヘッダファイルでのインクルードについて
返信数: 8
閲覧数: 979

Re: ヘッダファイルでのインクルードについて

コンパイラはvisualC++を使っていて、それのcppファイルにCのコードを書き込んでいます。
特に問題が無かったので、今までcppファイルに書いてましたが、これってまずいんでしょうか?
by イマダニ
6年前
フォーラム: C言語何でも質問掲示板
トピック: ヘッダファイルでのインクルードについて
返信数: 8
閲覧数: 979

Re: ヘッダファイルでのインクルードについて

>>YuOさん 解答ありがとうございます! YUOさんの方法でうまく行きました。 #ifndef DEF_PLAYER_H #define DEF_PLAYER_H #include "mouse.h" enum Playerstate_t{ PLAYER_STATE_DEFAULT, //通常 PLAYER_STATE_ATTACK, //攻撃 PLAYER_STATE_JUMP, //ジャンプ PLAYER_STATE_DAMAGE, //ダメージ PLAYER_STATE_DIE, }; struct PLAYER{ Playerstate_t PlayerState; int y,x;...
by イマダニ
6年前
フォーラム: C言語何でも質問掲示板
トピック: ヘッダファイルでのインクルードについて
返信数: 8
閲覧数: 979

ヘッダファイルでのインクルードについて

まずプレイヤーの構造体が定義されてるplayer.hと 武器の構造体が定義されてるwapon.hのふたつのヘッダファイルがあります。 //player.h #ifndef DEF_PLAYER_H #define DEF_PLAYER_H #include "wapon.h" typedef struct{ int py,px; int oldy,oldx; bool walkflag; . . . }PLAYER; void player_ini(PLAYER *p); void player_control(PLAYER *p); void player_attack(PLAYER *p,...
by イマダニ
6年前
フォーラム: C言語何でも質問掲示板
トピック: 武器や乗り物の画像について
返信数: 4
閲覧数: 532

Re: 武器や乗り物の画像について

すいません解決ボタンを押し忘れました
by イマダニ
6年前
フォーラム: C言語何でも質問掲示板
トピック: 武器や乗り物の画像について
返信数: 4
閲覧数: 532

Re: 武器や乗り物の画像について

やはりそうですよね。
素材は分けて用意することにします。
お二方、アドバイスありがとうございました。
by イマダニ
6年前
フォーラム: C言語何でも質問掲示板
トピック: 武器や乗り物の画像について
返信数: 4
閲覧数: 532

武器や乗り物の画像について

最近、武器や乗り物を使うキャラの素材を黙々と書いております。
そこで絵心の無いプログラマさんに質問です。
キャラが道具を扱う画像が必要になった時、どのように画像を用意してほしいですか?
ただ単に車の乗ってるキャラの画像一枚渡されればそれで済むのでしょうか?
それとも乗ってるキャラ、乗られてる車の二枚を用意してほしいのでしょうか?
アドバイス願います。
by イマダニ
6年前
フォーラム: C言語何でも質問掲示板
トピック: クォーターの当たり判定とスクロール
返信数: 44
閲覧数: 3760

Re: クォーターの当たり判定とスクロール

プライベートの関係で、少し放置気味になってしまいました。すいません……
スクロールと当たり判定が、汚いとはいえ実装できましたし、ひとまずこれで解決とします。
softyaさん、図を用いたわかりやすい説明、ありがとうございます!

本当に助かりました。マジで。

ちょっと忙しくて手つかずなんですが、softyaさんのヒントをもとに改良を行ってみます。
それでなにかあったり、また別の疑問があったらまたここを利用させていただきます。
今回もありがとうございました!
by イマダニ
6年前
フォーラム: C言語何でも質問掲示板
トピック: クォーターの当たり判定とスクロール
返信数: 44
閲覧数: 3760

Re: クォーターの当たり判定とスクロール

>>自分でテストして問題は無かったのでしょうか? はい問題ないです。 //カメラ座標 /*カメラのx座標 = プレイヤー座標(クォーター変化)- 画面の半分*/ p.camera_x = ((MAP_VIEW_OFFSET+MAP_PARTS_HSIZEX) + (p.x-p.y) * MAP_PARTS_HSIZEX/VTOP_PARTS_SIZEX /*- CHAR_PARTS_SIZEX/2*/) - SCREEN_WIDTH/2; p.camera_y = ((p.x+p.y)*MAP_PARTS_HSIZEY/VTOP_PARTS_SIZEY/* - CHAR_PARTS_SIZEY...
by イマダニ
6年前
フォーラム: C言語何でも質問掲示板
トピック: クォーターの当たり判定とスクロール
返信数: 44
閲覧数: 3760

Re: クォーターの当たり判定とスクロール

スクロールできました! #include"DxLib.h" #include"Key.h" //画面の大きさ #define SCREEN_WIDTH 640 /*画面の幅*/ #define SCREEN_HEIGHT 480 /*画面の高さ*/ //チップの枚数 #define CHIP_NUMBER_X 30 /*横の数*/ #define CHIP_NUMBER_Y 24 /*縦の数*/ #define MAP_PARTS_HSIZEX 32 /*マップパーツの横サイズ(半分)*/ #define MAP_PARTS_HSIZEY 16 /*マップパーツの縦サイズ(半分)*/ #def...
by イマダニ
6年前
フォーラム: C言語何でも質問掲示板
トピック: クォーターの当たり判定とスクロール
返信数: 44
閲覧数: 3760

Re: クォーターの当たり判定とスクロール

ああ、すいません!追記に気づいてませんでした。 //オフセット定数 #define MAP_VIEW_OFFSET 32 //マップ描画 for(int y=0;y<CHIP_NUMBER_Y;y++){ for(int x=0;x<CHIP_NUMBER_X;x++){ if(MapData[y][x]==1){    DrawGraph(MAP_VIEW_OFFSET+MAP_PARTS_HSIZEX*(x-y), MAP_PARTS_HSIZEY*(x+y), map,TRUE); } } } //プレイヤー描画 DrawGraph((MAP_VIEW_OFFSET+MAP_PARTS_...
by イマダニ
6年前
フォーラム: C言語何でも質問掲示板
トピック: クォーターの当たり判定とスクロール
返信数: 44
閲覧数: 3760

Re: クォーターの当たり判定とスクロール

MAP_VIEW_OFFSETってなんですか?
by イマダニ
6年前
フォーラム: C言語何でも質問掲示板
トピック: クォーターの当たり判定とスクロール
返信数: 44
閲覧数: 3760

Re: クォーターの当たり判定とスクロール

定数ってやっぱ便利ですね。変えてみました。 #define MAP_PARTS_HSIZEX 32 /*マップパーツの横サイズ(半分)*/ #define MAP_PARTS_HSIZEY 17 /*マップパーツの縦サイズ(半分)*/ #define VTOP_PARTS_SIZEX 64 /*仮想トップビューのマップパーツの横サイズ*/ #define VTOP_PARTS_SIZEY 64 /*仮想トップビューのマップパーツの縦サイズ*/ //マップ描画 for(int y=0;y<CHIP_NUMBER_Y;y++){ for(int x=0;x<CHIP_NUMBER_X;x++){ ...
by イマダニ
6年前
フォーラム: C言語何でも質問掲示板
トピック: クォーターの当たり判定とスクロール
返信数: 44
閲覧数: 3760

Re: クォーターの当たり判定とスクロール

そっかintのせいだったんですね。 >>あと20/64って0.3125では? //マップ描画 for(int y=0;y<CHIP_NUMBER_Y;y++){ for(int x=0;x<CHIP_NUMBER_X;x++){ if(MapData[y][x]==1){ DrawGraph(32*(x-y), 17*(x+y), map,TRUE); } } マップ描画が17だったので合わせなきゃまずいかなと思い 17/64としてました。 >>移動前の座標を覚えておいて、当たり判定を移動後に行います。あたったら移動前の座標に戻します。 oldx,oldyという二つの変数を用意し、それに前もっ...
by イマダニ
6年前
フォーラム: C言語何でも質問掲示板
トピック: クォーターの当たり判定とスクロール
返信数: 44
閲覧数: 3760

Re: クォーターの当たり判定とスクロール

printfでのデバッグをしたところ各変数には問題が無かったため、 プレイヤー描画の計算の部分に問題があると思い、 以下のように変えたところ DrawGraph(32/64*(p.x-p.y) , 20/64*(p.x+p.y) , player[p.img] , TRUE); ↓ DrawGraph(0.5*(p.x-p.y) , 0.27*(p.x+p.y) , player[p.img] , TRUE); キャラがちゃんと動きました。 以下がコードの全体になります。 #include"DxLib.h" #include"Key.h" //画面の大きさ #define SCREEN_WID...
by イマダニ
6年前
フォーラム: C言語何でも質問掲示板
トピック: クォーターの当たり判定とスクロール
返信数: 44
閲覧数: 3760

Re: クォーターの当たり判定とスクロール

移動の部分がくっそ汚いですけど、こんな感じで書いてみたところ #include"DxLib.h" #include"Key.h" //画面の大きさ #define SCREEN_WIDTH 640; #define SCREEN_HEIGHT 480; //チップの枚数 #define CHIP_NUMBER_X 20 #define CHIP_NUMBER_Y 16 //プレイヤー構造体 typedef struct{ bool walkflag;//歩きフラグ int img,cnt,muki;//画像、カウンタ、向き int x,y;//座標 }PLAY; //マップデータ int Ma...
by イマダニ
6年前
フォーラム: C言語何でも質問掲示板
トピック: クォーターの当たり判定とスクロール
返信数: 44
閲覧数: 3760

Re: クォーターの当たり判定とスクロール

aが32ならこれで大丈夫ですね。

drawx=(a+32)+32/64(topx-topy)

drawy=20/64(topx+topy)
by イマダニ
6年前
フォーラム: C言語何でも質問掲示板
トピック: クォーターの当たり判定とスクロール
返信数: 44
閲覧数: 3760

Re: クォーターの当たり判定とスクロール

できました!

drawx=(a+64)+32/64(topx-topy)

drawy=20/64(topx+topy)

この式で以下のものを計算すると
[0][0] (32,32) (64,20)

drawx = (a+64)+32/64(32-32) = (a+64)+0 = a+64

drawy = 20/64(32+32) = 20/64(64) = 20

drawxの(a+64)は(a+32)だとどうしても32たらない座標が出てしまったので64にしました
どうでしょうか?
by イマダニ
6年前
フォーラム: C言語何でも質問掲示板
トピック: クォーターの当たり判定とスクロール
返信数: 44
閲覧数: 3760

Re: クォーターの当たり判定とスクロール

トップビューの座標を(topx,topy) クォーターの座標を(quotax,quotay) として マップ トップ クォータ (0,0) (32,32) (64,20) (1,0) (96,32) (96,40) (2,0) (160,32) (128,60) (0,1) (32,96) (32,40) (1,1) (96,96) (64,60) (2,1) (160,96) (96,80) quotaxはtopxが64増えると32づつ増える、topyが64増えると32づつ減る quotayはtopxが64増えると20づつ増える、topyが64増えると20づつ増える こんな感じですかといいた...
by イマダニ
6年前
フォーラム: C言語何でも質問掲示板
トピック: クォーターの当たり判定とスクロール
返信数: 44
閲覧数: 3760

Re: クォーターの当たり判定とスクロール

マップ配列 クォータマップ中央座標 変換前マップ中央座標

[0][0] (64,20) (32,32)

[0][1] (96,40) (96,32)

[0][2] (128,60) (160,32)

[1][0] (32,40) (32,96)

[1][1] (64,60) (96,96)

[1][2] (96,80) (160,96)

どうですか?
by イマダニ
6年前
フォーラム: C言語何でも質問掲示板
トピック: クォーターの当たり判定とスクロール
返信数: 44
閲覧数: 3760

Re: クォーターの当たり判定とスクロール

なるほどそういうことだったのか
トップとクォーターごちゃまぜにしてました

埋めてみよということでこんな感じに埋めてみました
どうでしょう?
by イマダニ
6年前
フォーラム: C言語何でも質問掲示板
トピック: クォーターの当たり判定とスクロール
返信数: 44
閲覧数: 3760

Re: クォーターの当たり判定とスクロール

画像うまくはれてるかな?

最初、p00が配列要素の左上端っこにあったら、(64,32)だとおもったんですが、

画像のように考えれば(32,32)なのかなと
by イマダニ
6年前
フォーラム: C言語何でも質問掲示板
トピック: クォーターの当たり判定とスクロール
返信数: 44
閲覧数: 3760

Re: クォーターの当たり判定とスクロール

中心座標は

(32,0)かな?

(64,32)は[0][1]の中心座標です。
by イマダニ
6年前
フォーラム: C言語何でも質問掲示板
トピック: クォーターの当たり判定とスクロール
返信数: 44
閲覧数: 3760

Re: クォーターの当たり判定とスクロール

すいません、少し勘違いしてました

[0][0]
(64,32)
(32,32)

です。

>>書いてて心配になって来ましたが、トップビュー表示でキャラクターの移動とかプログラムは理解できているのでしょうか?
これが分かっていないと意味が無いのですが。

ゲームプログラミングの館の一区間歩かせる、行けないところを作るなどのことですか?
そこなら一応理解はしてるつもりです。
by イマダニ
6年前
フォーラム: C言語何でも質問掲示板
トピック: クォーターの当たり判定とスクロール
返信数: 44
閲覧数: 3760

Re: クォーターの当たり判定とスクロール

[0][0] (999,999) (64,32)

ですか?
by イマダニ
6年前
フォーラム: C言語何でも質問掲示板
トピック: クォーターの当たり判定とスクロール
返信数: 44
閲覧数: 3760

Re: クォーターの当たり判定とスクロール

>>で、マップパーツの中心にPleyerキャラクタが立っていると仮定した場合の[0][0]ブロックのPleyerキャラクタの座標は(999,999)であると書 きだしてみてください。
それとクォータビューではないDrawGraph(p.x,p.y,player[p.img],TRUE);の座標として扱った場合の座標もその横に書き出します。

(999,999) (64,20)

こういった感じですか?
by イマダニ
6年前
フォーラム: C言語何でも質問掲示板
トピック: クォーターの当たり判定とスクロール
返信数: 44
閲覧数: 3760

Re: クォーターの当たり判定とスクロール

すいません、返信が遅くなりました。
ひとまず方眼用紙にあの図を書いてみましたが、
そこからどうしたらいいかわかりません……
前はp01を求めよという課題があったため、なにをどうすればいいのか大体把握できたのですが
今回はこの図をどう利用するかが見当がつきません。
by イマダニ
6年前
フォーラム: C言語何でも質問掲示板
トピック: クォーターの当たり判定とスクロール
返信数: 44
閲覧数: 3760

Re: クォーターの当たり判定とスクロール

プレイヤー座標をクォーターに?
マップは配列の要素数を足したり引いたりして変えましたが、
配列要素の無いプレイヤー座標をどうやって変えるんです?
by イマダニ
6年前
フォーラム: C言語何でも質問掲示板
トピック: クォーターの当たり判定とスクロール
返信数: 44
閲覧数: 3760

Re: クォーターの当たり判定とスクロール

#include"DxLib.h" #include"Key.h" //画面の大きさ #define SCREEN_WIDTH 640; #define SCREEN_HEIGHT 480; //チップの枚数 #define CHIP_NUMBER_X 20 #define CHIP_NUMBER_Y 16 //プレイヤー構造体 typedef struct{ bool walkflag;//歩きフラグ int img,cnt,muki;//画像、カウンタ、向き int x,y;//座標 }PLAY; //マップデータ int MapData[ CHIP_NUMBER_Y ][ CHIP_N...
by イマダニ
6年前
フォーラム: C言語何でも質問掲示板
トピック: クォーターの当たり判定とスクロール
返信数: 44
閲覧数: 3760

クォーターの当たり判定とスクロール

ロックマンエグゼのマップ移動。キングダムハーツCOMのマップ移動。BASTIONの移動。 これらの”クォーター視点のステージをキャラが縦横無尽に動き回る” それの当たり判定とスクロール方法ってどうなっているんだろう? 今回はそんな質問をしに来ました。 ついこの前、クォーターでの描画方法をここで教えてもらい、その後、教えてもらった方法で描画したマップの上をキャラが走るようにしてみました。 これがそのプログラムです。 #include"DxLib.h" #include"Key.h" //画面の大きさ #define SCREEN_WIDTH 640; #define SCREEN_HEIGHT ...
by イマダニ
6年前
フォーラム: C言語何でも質問掲示板
トピック: クォータービューについて
返信数: 30
閲覧数: 3972

Re: クォータービューについて

やっぱり質問してよかったです。 ここまで丁寧に教えてもらえるなんて本当に感謝です。 ジャンプ、マップエディタの時といいソフト屋さんにはお世話になってばかりです。 クォーターの説明を見てると数式ばかりでてきて、 ここの過去のクォーター関連の質問も難しい数学の知識を使ったうえでの説明ばかりというか、 質問者がすでにベクトルを使ったうえで質問をしていたので、 ああ、やっぱり数学わかってないとだめだな。 数学Bの白チャート一冊終えるまでクォーターはあきらめよう と思ってたんです。 でも一応、だめもとで質問してみるか、と今回、質問したら まさかこんなにもわかりやすい答えが返ってくるとは……思ってもみなか...

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