検索結果 58 件
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: 3Dモデルの編集について(DXライブラリ)
- 返信数: 8
- 閲覧数: 3780
Re: 3Dモデルの編集について(DXライブラリ)
Mesh内の頂点数と頂点座標と三角ポリゴン数まではこれで取得できます。 残りは辺取得です。 やってて悲鳴上げそうになってきた。時間かかりますね。 結論 フリーのモデリングソフト使いましょうw #include "DxLib.h" #define VERTE_X 1000 #define VERTE_Y 1000 #define VERTE_Z 1000 #define SPACE 0x20 char filename[] = "./data/test.x"; int vertes = 0; float verte_x[VERTE_X] = {-1}; // 頂点 float verte_y[V...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: ファイルからの読み込み時、文字列先頭に不明な文字
- 返信数: 6
- 閲覧数: 1464
Re: ファイルからの読み込み時、文字列先頭に不明な文字
すいません。まだコンパイル通らないと思うのでコンパイル通るものをお願いします。
その処理をするならば、今は1文字ずつ格納していると思いますがFileRead_getsで1行読み込んでやるといいかもしれません。
その処理をするならば、今は1文字ずつ格納していると思いますがFileRead_getsで1行読み込んでやるといいかもしれません。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: ファイルからの読み込み時、文字列先頭に不明な文字
- 返信数: 6
- 閲覧数: 1464
Re: ファイルからの読み込み時、文字列先頭に不明な文字
iとjの初期化がどこでされているのか、わかりませんでした。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: 3Dモデルの編集について(DXライブラリ)
- 返信数: 8
- 閲覧数: 3780
Re: 3Dモデルの編集について(DXライブラリ)
まだエアホッケー作ってる最中なのですが、頑張ってサンプル作ってみます。
行けそうな気がする~勢いだけでw
行けそうな気がする~勢いだけでw
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: 3Dモデルの編集について(DXライブラリ)
- 返信数: 8
- 閲覧数: 3780
Re: 3Dモデルの編集について(DXライブラリ)
ググってみましたがここを見ればXファイルのデータ構造がわかると思います。 かなり親切に書いてあります。 http://rudora7.blog81.fc2.com/blog-entry-238.html 新規作成の場合もポリゴン作成したときに同時にmesh部分をメモリ内で保持しなければなりませんし 削除に関してもXファイル形式のmesh部分のデータ構造をメモリ内で保持して 面もしくは辺もしくは点に対応したものが削除された場合、メモリ内で保持しているデータを変更して 残ったmeshデータを描画する感じになるのかと思います。 つまりはXファイルのmesh内を保持しなければなりません。 保存する際は...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: 3Dモデルの編集について(DXライブラリ)
- 返信数: 8
- 閲覧数: 3780
Re: 3Dモデルの編集について(DXライブラリ)
2ヶ月前にメタセコイアで3Dモデリングをしていて 自動でモデリングできるように元画像(bmpファイル)の1×1ピクセルずつからデータを読み取り平面上に四角ポリゴンを貼って行き mqoファイルを吐き出すプログラムを作ったのですが、結局ボツにしましたけど^^; どのファイル形式で保存させるかによってデータの持ち方が変わってくると思います。 mqoファイルとかxファイルとかpmdファイルとか独自規格の形式など、どの形式をお考えでしょうか? pmdファイルからmqoへ変換してmqoファイルの中身を解析したことがあるのですが mqoファイルはテキストエディターで開いて直接編集することもできますので どん...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: 多倍長演算を用いた平方数
- 返信数: 34
- 閲覧数: 10838
Re: 多倍長演算を用いた平方数
19行目と39行目と10行目の引数の数があっていませんのでエラー原因はそこかと思います。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: 多倍長演算を用いた平方数
- 返信数: 34
- 閲覧数: 10838
Re: 多倍長演算を用いた平方数
プログラムの流れとしてはfor文で1~任意の数までを二乗して、表示する
ここしか見てなかったwww
ここしか見てなかったwww
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: 多倍長演算を用いた平方数
- 返信数: 34
- 閲覧数: 10838
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: 多倍長演算を用いた平方数
- 返信数: 34
- 閲覧数: 10838
Re: 多倍長演算を用いた平方数
文章をそのまま受け取ります。
任意の文字を10にしてあります。
任意の文字を10にしてあります。
► スポイラーを表示
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: 配列と画像
- 返信数: 3
- 閲覧数: 1172
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: フレーム内の人数カウント
- 返信数: 11
- 閲覧数: 8296
Re: フレーム内の人数カウント
面白そうなことやってますね。 すごい難しそうですね。 ②物体が少しでもくっつくと物体領域が1つに結合されてしまう 普通に考えたらこれが出来るかどうかさっぱりわかりませんが 以前openCVにあった顔認識でちょっと遊んで見たことがあるのですが サンプルソースにあった結論から言うと顔認識がまだ甘かったので誤認識とかもありましたが (私の顔が人間離れしていたのかっという突っ込みは置いといて) 何かマーカーとなりえるもので人数を確認しないといけないのではないでしょうか?っと単純に思いました。 もしくはX-BOXのキネクトのように人間の体を判別しているはずなので、もしかしたら参考になるかもしれません。 ...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語には関係ないので申し訳ないのですが
- 返信数: 6
- 閲覧数: 2793
Re: C言語には関係ないので申し訳ないのですが
アプセトネデブって呪文のように昔覚えた記憶がwww
はい ここ試験に出ます。
ちょっと都会の大きな本屋さんへ行かないと専門書売ってないですね。
しかも高いんですよね。
行ったら2~3時間は立ち読みできますw
はい ここ試験に出ます。
ちょっと都会の大きな本屋さんへ行かないと専門書売ってないですね。
しかも高いんですよね。
行ったら2~3時間は立ち読みできますw
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: ゲームループについて質問です
- 返信数: 8
- 閲覧数: 3201
Re: ゲームループについて質問です
いきなりDirectXからやるのはハードルが高いですね。
順番に基礎から覚えて行った方がいいと思いますよ。
まずはWin32を覚えてWindowsのメッセージのやり取りの仕組みを覚えてからDXライブラリ使うと楽にできますよ。
いきなりDXライブラリでもいいと思いますが・・・
DirectXは難しそうで私は手を出していませんが(面倒だから手を出してないのですw)
DXライブラリの吸収力がすごすぎて(DirectXを手抜きで使えるから)
DirectX使わないとできなかったことがDXライブラリで簡単に出来るので
ここから一歩踏み出してDirectX勉強しようとしてませんが^^;
順番に基礎から覚えて行った方がいいと思いますよ。
まずはWin32を覚えてWindowsのメッセージのやり取りの仕組みを覚えてからDXライブラリ使うと楽にできますよ。
いきなりDXライブラリでもいいと思いますが・・・
DirectXは難しそうで私は手を出していませんが(面倒だから手を出してないのですw)
DXライブラリの吸収力がすごすぎて(DirectXを手抜きで使えるから)
DirectX使わないとできなかったことがDXライブラリで簡単に出来るので
ここから一歩踏み出してDirectX勉強しようとしてませんが^^;
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: エアホッケーみたいなゲームの当たり判定について
- 返信数: 39
- 閲覧数: 17661
Re: エアホッケーみたいなゲームの当たり判定について
GRAMさんへ
見させてもらいました。神降臨 素晴らしいの一言です。
これを参考にさせて頂きたいと思います。
ありがとうございました。
そして回答をして頂いた皆様もありがとうございました。
まだ残り丸いラケットとひし形のラケットが残っておりますが
また挫折したら質問させて頂きたいと思います。
これにて解決ということで閉じさせて頂きたいと思います。
本当にありがとうございました。
見させてもらいました。神降臨 素晴らしいの一言です。
これを参考にさせて頂きたいと思います。
ありがとうございました。
そして回答をして頂いた皆様もありがとうございました。
まだ残り丸いラケットとひし形のラケットが残っておりますが
また挫折したら質問させて頂きたいと思います。
これにて解決ということで閉じさせて頂きたいと思います。
本当にありがとうございました。
► スポイラーを表示
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: 龍神録プログラミングの館、16章
- 返信数: 13
- 閲覧数: 4774
Re: 龍神録プログラミングの館、16章
16章の読み込んでるところのソースです。 最初の2行読み飛ばすって書いてありますね。 //敵の出現情報をエクセルから読み込んで格納する関数 void load_story(){ int n,num,i,fp; char fname[32]={"../dat/csv/storyH0.csv"}; int input[64]; char inputc[64]; fp = FileRead_open(fname);//ファイル読み込み if(fp == NULL){ printfDx("read error\n"); return; } for(i=0;i<2;i++)//最初の2行読み飛ばす wh...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: 龍神録プログラミングの館、16章
- 返信数: 13
- 閲覧数: 4774
Re: 龍神録プログラミングの館、16章
カンマ区切りならそれで正解だと思います。
頑張ってください。
頑張ってください。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: 龍神録プログラミングの館、16章
- 返信数: 13
- 閲覧数: 4774
Re: 龍神録プログラミングの館、16章
Excelでもcsvファイル出力できますが量が少ないならテキストでもいいと思いますよ。
先に言いますとcsvにはある一定のルールがあるので、読み込むソースコードがどの形式に対応しているか調べないとダメかもしれません。
先に言いますとcsvにはある一定のルールがあるので、読み込むソースコードがどの形式に対応しているか調べないとダメかもしれません。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: 龍神録プログラミングの館、16章
- 返信数: 13
- 閲覧数: 4774
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: 龍神録プログラミングの館、16章
- 返信数: 13
- 閲覧数: 4774
Re: 龍神録プログラミングの館、16章
まずは拡張子csvとはどんなファイルなのかを調べて見るとわかると思いますよ。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: GetNowCountを使ったときのエラー
- 返信数: 8
- 閲覧数: 2178
Re: GetNowCountを使ったときのエラー
基礎が分かっているというなら、 if ( c.x < 0 || c.x > sizex ); vx *= -1.0f;//-をかけることによて反射 と if ( c.x < 0 || c.x > sizex ) vx *= -1.0f;//-をかけることによて反射 の違いについて説明してください。 良い指摘ですね。 こういうのがバグの原因とかにも成るうるのでコーディングするときは一貫性を持ってコーディングした方がいいと思いますよ。 自分ならこう書きます。 46行目が怪しい、どっちなのかな int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE h...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: エアホッケーみたいなゲームの当たり判定について
- 返信数: 39
- 閲覧数: 17661
Re: エアホッケーみたいなゲームの当たり判定について
最新ソース貼っておきます。 #include "DxLib.h" #define MARGIN 5 #define RACKET_X 96 #define RACKET_Y 96 #define RACKET_SIZE 96 / 2 #define BALL_SIZE 16 #define BALL_CENTER 16 / 2 #define DEF_SPEED 2 #define MAX_SPEED 50 // 画像ハンドル struct png_handle { int ball; int racket; }pnghandle_t; // ボール管理 struct ball { // ボー...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: エアホッケーみたいなゲームの当たり判定について
- 返信数: 39
- 閲覧数: 17661
Re: エアホッケーみたいなゲームの当たり判定について
GRAMさんへGRAM さんが書きました:あとで自分なりにコードを書いてみます。
①移動する円盤と長方形のあたり判定を実装する
②長方形はマウスに追従する
③円盤の速度には長方形の速度が加算される
④すり抜けを回避する
これらを実装するよう頑張ります。
基本的にはカプセルとAABBの衝突判定に、衝突点を計算するようなプログラムになると思います。
ごちゃごちゃになってきたので、こちらも変数をまとめて書き直して見ます。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: エアホッケーみたいなゲームの当たり判定について
- 返信数: 39
- 閲覧数: 17661
Re: エアホッケーみたいなゲームの当たり判定について
DXライブラリ用のSegment_Segment_MinLengthを使っていたのですが 使用をやめてcross_chkで線分交差を判定する関数をサンプル見て作りました。 これでintとfloatの型変換の警告は出なくなります。 #include "DxLib.h" #define MARGIN 5 #define RACKET_X 96 #define RACKET_Y 96 #define RACKET_SIZE 96 / 2 #define BALL_SIZE 16 #define BALL_CENTER 16 / 2 #define DEF_SPEED 10 #define MAX_S...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: エアホッケーみたいなゲームの当たり判定について
- 返信数: 39
- 閲覧数: 17661
Re: エアホッケーみたいなゲームの当たり判定について
EXEごとリリースしちゃいますので少々お待ちを 準備できました。 ソースも貼っておきます。 好きにいじっちゃってくださいw 作りかけのところもあるのでコメントアウトしてある処理もあります。 添付ファイルは念の為、個々でウイルスチェックを行ってください。 自分で言うのもあれですが、もうサンプルのボリュームじゃなくなってきてますね^^; まだめり込んでラケットの中でボールが反射してしまうというお粗末な状態です^^; 処理的にはguard_frame_chkがちょっと複雑かもしれません。 コンパイルするとintとfloatの型変換で警告が出てますが整数値しか使ってないので大丈夫なはずですが 手抜きで...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: エアホッケーみたいなゲームの当たり判定について
- 返信数: 39
- 閲覧数: 17661
Re: エアホッケーみたいなゲームの当たり判定について
nonさんへ
頼もしい回答ありがとうございます。
さっそく試して見ます。
あとDXライブラリの関数でSegment_Segment_MinLength()を使って線分の距離で判定しているのですが
肝心のSegment_Segment_MinLengthの中身が見えてないので、自分で作って見ることにします。
頼もしい回答ありがとうございます。
さっそく試して見ます。
あとDXライブラリの関数でSegment_Segment_MinLength()を使って線分の距離で判定しているのですが
肝心のSegment_Segment_MinLengthの中身が見えてないので、自分で作って見ることにします。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: エアホッケーみたいなゲームの当たり判定について
- 返信数: 39
- 閲覧数: 17661
Re: エアホッケーみたいなゲームの当たり判定について
まとめると丸いのがボールで 四角いのがラケットとします。 動作はゲームセンターに昔あったエアホッケーだと思ってください。 抵抗や力学とかはまずは無視します。 四角いラケットの上面にボールが当たると仮定します。 わかりやすいようにボールの移動量はX=10,Y=10としてボールは右下へ向かって移動していると仮定します。 図1 ● +------+ | | +------+ そこで四角いラケットを上へ移動した際に極端な例を上げると以下のようにめり込んでこうなると思います。 図2 +------+ | ● | +------+ そこで図1から図2へは1フレーム間で移動したと仮定し...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: エアホッケーみたいなゲームの当たり判定について
- 返信数: 39
- 閲覧数: 17661
Re: エアホッケーみたいなゲームの当たり判定について
たとえば上の一点に関して言っても、 もしラケットの速度が100を超えている場合に、明らかな矛盾がありますよね。 だってラケットの速度が100を超えていればどう頑張っても食い込みを回避できないわけですから(ボールの速度が100を超える) ラケットにあたっている場合だけラケットに追従させることもできるでしょうが・・・ 減算の条件で0にならないというのもイメージができませんが、やはりもっと具体的な条件を示していただきたいかなと思います。 GRAMさんへ 回答します。 ボールの速度が100を超えた場合はボールの速度を100に設定して、例えば今はサンプルなのでウィンドウサイズの 画面左上(0,0) ...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: マウスのプログラム制御方法について(winAPI-C)
- 返信数: 22
- 閲覧数: 8275
Re: マウスのプログラム制御方法について(winAPI-C)
SendInput(3, mouse_info, sizeof(INPUT));
多分 ここですかね?
softyaさんので正解だと思います。
多分 ここですかね?
softyaさんので正解だと思います。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: マウスのプログラム制御方法について(winAPI-C)
- 返信数: 22
- 閲覧数: 8275
Re: マウスのプログラム制御方法について(winAPI-C)
多分 ヒントはINPUT構造体です。
初期化していない。
INPUT mouse_info[3]の下にこれを追加したらどうですかね?
ZeroMemory(mouse_info, sizeof(mouse_info));
違ったらごめんなさい。
初期化していない。
INPUT mouse_info[3]の下にこれを追加したらどうですかね?
ZeroMemory(mouse_info, sizeof(mouse_info));
違ったらごめんなさい。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: [雑談?]c++の分かりやすいプログラム
- 返信数: 25
- 閲覧数: 11664
Re: [雑談?]c++の分かりやすいプログラム
人のプログラムをまずはパクって使ってみて覚えます。
こんな処理のときはこれを使うみたいな、お決まりなパターンが見えてくる気がします。
自分も人のことは言えませんが極力無駄な処理を減らして保守しやすく、見やすいようにすることを心がけています。
一番わかりやすいのは第3者が見てもわかるソースを作ることを心がけると良いと思います。
最低限、インデントとコメントくらいは必要かと思います。
自分で作ったプログラムでもコメントがない場合、1ヵ月後に見たらさっぱり訳がわからないこともただあります。
こればっかりは自分で試行錯誤を繰り返して経験を積んでいくと良いのかと思います。
こんな処理のときはこれを使うみたいな、お決まりなパターンが見えてくる気がします。
自分も人のことは言えませんが極力無駄な処理を減らして保守しやすく、見やすいようにすることを心がけています。
一番わかりやすいのは第3者が見てもわかるソースを作ることを心がけると良いと思います。
最低限、インデントとコメントくらいは必要かと思います。
自分で作ったプログラムでもコメントがない場合、1ヵ月後に見たらさっぱり訳がわからないこともただあります。
こればっかりは自分で試行錯誤を繰り返して経験を積んでいくと良いのかと思います。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: エアホッケーみたいなゲームの当たり判定について
- 返信数: 39
- 閲覧数: 17661
Re: エアホッケーみたいなゲームの当たり判定について
言葉通りに受け取ってみます。 たとえば、円とおっしゃってますが点じゃなくて大きさのある円なのですね。 速度の加算や減算はどうするのでしょうか? ラケットの速度を加算するのですか? ラケットは回転するのですか? 円がラケットの頂点に当たったらどういう挙動をするのが理想なのでしょうか? 1フレームの間にラケットとボールは直線に移動すると仮定するのですか? GRAMさんへ 質問の回答をします。 速度の加算は簡単に1フレームで動いた分をそのまま速度にして100以上の場合はデフォルトで100を設定しております。 速度の減算は無条件でデフォルトのボールの速度しようと思います。0にはならないよ...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: エアホッケーみたいなゲームの当たり判定について
- 返信数: 39
- 閲覧数: 17661
Re: エアホッケーみたいなゲームの当たり判定について
ISLeさんへ ボールの移動方向とラケットの移動方向が違う場合は、わかりやすく言うと正面衝突になりその時にスピードを上げます。 その逆にボールの移動方向とラケットの移動方向が同一の場合は、スピードを下げます。 とりあえず、自分で作ったサンプルコードなのでボールとラケットのすり抜けが防げればOKです。 一応 スピードアップを実装したコードです。 スピードアップさせてめちゃめちゃ早くボールが動いたのですが壁を越えて突き抜けて行ったんですけど この時に壁の当たり判定のめり込みガードがなくって突き抜けていったのを見て ラケットでも同じことをすれば良いのかなと思いました。 ご指摘があればお願...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: エアホッケーみたいなゲームの当たり判定について
- 返信数: 39
- 閲覧数: 17661
Re: エアホッケーみたいなゲームの当たり判定について
GRAMさんへ どんなものかというと完全にエアホッケーのルールです。 今は四角ラケットで丸ボールとの当たり判定をしていますが、ラケットはマウスで操作していて ラケットの移動速度が速いときにボールを貫通しています。 ちなみにこの他にひし形と円のラケットの当たり判定も残っています^^; そこで今対処したのは以下になります。 ・1フレーム前のボールA座標から現在のフレームのボールB座標までの線分を作成して ラケットの面に対して線分を作成してボールの線分とラケットの線分の交差を判定して当たり判定を行っています。 ・1フレーム前のボールA座標から現在のフレームのボールB...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: エアホッケーみたいなゲームの当たり判定について
- 返信数: 39
- 閲覧数: 17661
Re: エアホッケーみたいなゲームの当たり判定について
ちょっとずつ当たり判定が強くなってきましたがマウスを高速に動かしたときに、まだ上手くいってないですね。 何が足りないんだろう・・・これ以上思いつかないので ここからマウスを動かしてボールに当たった時に1度ラケットにボールをキャッチさせて キャッチしている間の時間でボールのスピードを早くして、ラケットの移動スピードよりもボールの速度が速くなった時にラケットからボールを離してみて すり抜けを回避できるかやってみようかと思います。 ご指摘がありましたらご教授願います。 #include "DxLib.h" #define MARGIN 5 #define RACKET_X 96 #define RA...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: マウスのプログラム制御方法について(winAPI-C)
- 返信数: 22
- 閲覧数: 8275
Re: マウスのプログラム制御方法について(winAPI-C)
クライアント側の処理はこんな感じになるかと思います。 サーバー側はソケット開いて待っていればいいと思います。 ここでポイントになるのはWM_LBUTTONUPです。 あえてWM_LBUTTONDOWNにはしませんでした。 WM_LBUTTONDOWNで判定すると押している間にもいっぱいイベントが発生するからです。 よってクリックを押してから離された時に判定しています。 あとはコメントしてあるところにそれに対応した処理を書けばよいかと思います。 スレッドは使ってもできますが、そこはお好みで LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPA...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: マウスのプログラム制御方法について(winAPI-C)
- 返信数: 22
- 閲覧数: 8275
Re: マウスのプログラム制御方法について(winAPI-C)
AのPCからBのPCへやり取りするのでしょうか?
それとも同一のPC上でのスレッド間通信でしょうか?
送信側と受信側のソースコード見ないとなんとも言えませんね。
皆目検討もつきません。
それとも同一のPC上でのスレッド間通信でしょうか?
送信側と受信側のソースコード見ないとなんとも言えませんね。
皆目検討もつきません。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: 連打プログラム
- 返信数: 3
- 閲覧数: 2960
Re: 連打プログラム
すぐに実装できそうだったのでやってみました。 このプログラムで左マウス押下中にボールの速度を上げて 30フレーム毎に速度を1減速させてみました。 追加したのはmouse_input()とspeed()とint frame_cntです。 mouse_input()で左クリックしたらスピードを上げる処理をしています。 speed()でspeed関数を30回通過したら速度を1減速しています。 ちなみに今は初期値の2よりもスピードが下がらないようにガード処理も入っています。 ball_dxとball_dyが1フレーム内で移動する移動量になりますのでこれが速度になります。 先に述べるとなんでball_d...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: マウスのプログラム制御方法について(winAPI-C)
- 返信数: 22
- 閲覧数: 8275
Re: マウスのプログラム制御方法について(winAPI-C)
動作の仕様がまだあまり理解できませんが、この仕様で遠隔操作させてパケット送信すると 間違いなくフリーズするレベルかと思います。 送信スレッド側では200msごとに常にマウスイベントが発生するのでしょうか? なぜ聞くかというと無駄な処理を回避するためです。マウスの移動やクリックイベントが発生した場合のみ イベントを受信してみては? パケット送信するならばできるだけ無駄を省き通信回数を減らす方法を考えます。 あとは無駄な処理をさせないこと。 受信側では19行目でマウス座標に変化がないと破棄しているので 送信側でもマウス座標に変化がないもしくはマウス移動したイベントを受信しない限り 受信スレッドには...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: ツリービューでディレクトリ&ファイル列挙
- 返信数: 7
- 閲覧数: 5394
Re: ツリービューでディレクトリ&ファイル列挙
こっちの方がサンプルとしていいと思います
http://www.geocities.jp/ky_webid/win32c/054.html
キーワードはFindFirstFileとFindNextFileです。
http://www.geocities.jp/ky_webid/win32c/054.html
キーワードはFindFirstFileとFindNextFileです。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: ツリービューでディレクトリ&ファイル列挙
- 返信数: 7
- 閲覧数: 5394
Re: ツリービューでディレクトリ&ファイル列挙
昔オープンソースをいじってた時に指定したフォルダ以下からmp3ファイルを参照するのを
いじったことがあるのですがヒントとしては再帰関数でフォルダとファイルを読み込んで行きます。
この辺でググれば何かわかるかもしれません。
例えばこれとか
http://homepage2.nifty.com/sak/w_sak3/d ... /c_k09.htm
いじったことがあるのですがヒントとしては再帰関数でフォルダとファイルを読み込んで行きます。
この辺でググれば何かわかるかもしれません。
例えばこれとか
http://homepage2.nifty.com/sak/w_sak3/d ... /c_k09.htm
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: エアホッケーみたいなゲームの当たり判定について
- 返信数: 39
- 閲覧数: 17661
Re: エアホッケーみたいなゲームの当たり判定について
No7とNo8で作った2線分交差はラケットの前の位置から現在の位置までの線分で
これは実際にやりたい処理とは異なり、そこをアレンジしてNo14を作って見ました
この線分なら判定できるはず、予想ですけど
この処理でやらないといけないのはボールの線分とラケットの当たり判定のある線分の交差を
判定すれば対応できるのではないだろうかという発想です。
まだ足りないよとかありましたらご指摘お願いいたします。
これは実際にやりたい処理とは異なり、そこをアレンジしてNo14を作って見ました
この線分なら判定できるはず、予想ですけど
この処理でやらないといけないのはボールの線分とラケットの当たり判定のある線分の交差を
判定すれば対応できるのではないだろうかという発想です。
まだ足りないよとかありましたらご指摘お願いいたします。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: エアホッケーみたいなゲームの当たり判定について
- 返信数: 39
- 閲覧数: 17661
Re: エアホッケーみたいなゲームの当たり判定について
予想ですけど、この最新ソースから1フレーム前の位置と現在の位置取得して
1フレーム内のラケット移動分をループさせて2線分交差を行えばすり抜けは回避できるのかなと
思っておりますがあってるのかな。
頑張って作って見ます。
1フレーム内のラケット移動分をループさせて2線分交差を行えばすり抜けは回避できるのかなと
思っておりますがあってるのかな。
頑張って作って見ます。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: エアホッケーみたいなゲームの当たり判定について
- 返信数: 39
- 閲覧数: 17661
Re: エアホッケーみたいなゲームの当たり判定について
nonさんへ
やってみてわかりました。
129行目と130行目が必要だったみたいですね。
ありがとうございます。
やってみてわかりました。
129行目と130行目が必要だったみたいですね。
ありがとうございます。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: エアホッケーみたいなゲームの当たり判定について
- 返信数: 39
- 閲覧数: 17661
Re: エアホッケーみたいなゲームの当たり判定について
少し当たり判定がよくなりました。 ちょっとずつわかってきたかもしれません。 次はラケット押し出した時にまだすり抜けてるのでそこを実装してみます。 もうちょっと頑張って見ます。 #include "DxLib.h" #define MARGIN 5 #define RACKET_X 96 #define RACKET_Y 96 #define RACKET_SIZE 96 / 2 #define BALL_SIZE 16 #define BALL_CENTER 16 / 2 // ボール座標 int ball_x = 0; int ball_y = 0; // ラケット座標 int racket...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: エアホッケーみたいなゲームの当たり判定について
- 返信数: 39
- 閲覧数: 17661
Re: エアホッケーみたいなゲームの当たり判定について
nonさんへ ご指摘通りball_x,ball_yは左上の座標で描画用に使ってますが ball_moveですぐにball_x,ball_yに加算して中心座標に変換して drawで中心座標から減算して描画座標に直しています。 リリースするソースコードは直接貼れないのでコンパクトな実験用のソースコードを貼らせてもらっていますので ご指摘通り手抜きです。 仕様は以下になります。 ・ ボールとラケットが重なった時にボールを反射させたいです。 ・ それとエアホッケーのようにボールをラケットで押したときにボールのスピードを早くしたいです。 ラケットが動いてない状態では今のソースコードでき...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: エアホッケーみたいなゲームの当たり判定について
- 返信数: 39
- 閲覧数: 17661
Re: エアホッケーみたいなゲームの当たり判定について
さっきのfor文の失敗の修正して作って見たのがこれです。 とりあえず4面あるラケットの上面だけの動きを作って見ましたがすり抜けてますね。 #include "DxLib.h" #define MARGIN 5 #define RACKET_X 96 #define RACKET_Y 96 #define RACKET_SIZE 96 / 2 #define BALL_SIZE 16 #define BALL_CENTER 16 / 2 // ボール座標 int ball_x = 0; int ball_y = 0; // ラケット座標 int racket_x; int racket_y; /...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: エアホッケーみたいなゲームの当たり判定について
- 返信数: 39
- 閲覧数: 17661
Re: エアホッケーみたいなゲームの当たり判定について
試行錯誤を繰り返し、ラケットの移動が早すぎてすり抜けてるはずなのですが そこでold_racket_pointで1フレーム前の座標を保存してguard_frame_chk()で 1フレーム間で移動した距離分ループを行い、当たり判定を増やして見たのですが 理屈的にはこれでいいはずだと思っているのですが、上手く行きません。 何が足りないのでしょうか?ご教授願います。 ※81行目と83行目のfor文全然違うことに気がつきました。 #include "DxLib.h" #define MARGIN 5 #define RACKET_X 96 #define RACKET_Y 96 #define RA...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: エアホッケーみたいなゲームの当たり判定について
- 返信数: 39
- 閲覧数: 17661
Re: エアホッケーみたいなゲームの当たり判定について
まだ何かが足りませんね。まだすり抜けてます。 でも一歩前進した気がします。 #include "DxLib.h" #define MARGIN 5 #define RACKET_X 96 #define RACKET_Y 96 #define RACKET_SIZE 96 / 2 // ボール座標 int ball_x = 0; int ball_y = 0; // ラケット座標 int racket_x; int racket_y; // ボール色 int ball_color; // ラケット色 int racket_color; // ボールの移動量 int ball_dx = 2; i...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: エアホッケーみたいなゲームの当たり判定について
- 返信数: 39
- 閲覧数: 17661
Re: エアホッケーみたいなゲームの当たり判定について
とりあえず、ここまで頑張って見ましたが まだ判定が甘く、ここから追加するとどんな風に追加すればいいのかわかりませんToT intからfloat変換は今は無視してます。 #include "DxLib.h" #define MARGIN 5 #define RACKET_X 96 #define RACKET_Y 96 #define RACKET_SIZE 96 / 2 // ボール座標 int ball_x = 0; int ball_y = 0; // ラケット座標 int racket_x; int racket_y; // ボール色 int ball_color; // ラケット色 i...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: ツリービューでディレクトリ&ファイル列挙
- 返信数: 7
- 閲覧数: 5394
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: エアホッケーみたいなゲームの当たり判定について
- 返信数: 39
- 閲覧数: 17661
Re: エアホッケーみたいなゲームの当たり判定について
myuon_myonさんへ
物理の数式見てもさっぱりでcodeならわかりそうなので
code見て頑張ってやってみます。
ありがとうございます。
物理の数式見てもさっぱりでcodeならわかりそうなので
code見て頑張ってやってみます。
ありがとうございます。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: エアホッケーみたいなゲームの当たり判定について
- 返信数: 39
- 閲覧数: 17661
Re: エアホッケーみたいなゲームの当たり判定について
がっつりすり抜けてますが ここからどうのに変更していけばいいのかがさっぱりで困ってます。 #include "DxLib.h" #define MARGIN 5 #define RACKET_X 50 #define RACKET_Y 50 // ボール座標 int ball_x = 0; int ball_y = 0; // ラケット座標 int racket_x; int racket_y; // ボール色 int ball_color; // ラケット色 int racket_color; // ボールの移動量 int ball_dx = 2; int ball_dy = 2; // ラ...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: エアホッケーみたいなゲームの当たり判定について
- 返信数: 39
- 閲覧数: 17661
Re: エアホッケーみたいなゲームの当たり判定について
反射処理の概要が知りたいのですToT
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: エアホッケーみたいなゲームの当たり判定について
- 返信数: 39
- 閲覧数: 17661
エアホッケーみたいなゲームの当たり判定について
ブロック崩しの当たり判定はあったのですが このように前後左右に動くラケットでラケットの当たり判定をどうしたらよいのか困ってます。 試作品はラケットとボールがすり抜けまくってます^^; 試作品のサンプルのcodeは以下になります。 1.ラケットを移動させてすり抜けない反射の仕方 2.ボールをラケットが強く押し出したときに移動量を増やしスピードをあげたい 知恵を貸していただければ幸いです。 #include "DxLib.h" // ボール座標 int ball_x = 0; int ball_y = 0; // ラケット座標 int racket_x = 0; int racket_y = 0;...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: windowsアプリケーションの背景を透過させたい
- 返信数: 11
- 閲覧数: 4059
Re: windowsアプリケーションの背景を透過させたい
横槍ですいません。
CALLBACKのWM_CREATEにSetLayeredWindowAttributesを追加しないと透過しないと思われます。
CALLBACKのWM_CREATEにSetLayeredWindowAttributesを追加しないと透過しないと思われます。