検索結果 11 件

by katariya
6年前
フォーラム: C言語何でも質問掲示板
トピック: C言語で大きなサイズのファイル読み込みと書き出し
返信数: 4
閲覧数: 5522

Re: C言語で大きなサイズのファイル読み込みと書き出し

FILE* fpR = fopen("test.bin", "rb"); FILE* fpW = fopen("testtemp.bin", "wb"); if(fpR == NULL) { fclose(fpW); return; }   fseek(fpR, …, SEEK_SET);     // ヘッダーを読み飛ばし while(!feof(fpR)) { unsigned char temp; int ret = fread(&temp, sizeof(char), 1, fpR); if(...) {// フッターの終了条件(データ長とか) break; } fwrite(&te...
by katariya
6年前
フォーラム: C言語何でも質問掲示板
トピック: 【雑談?】作業時間の見積もりのコツ…と言うか方法は?
返信数: 7
閲覧数: 4173

Re: 【雑談?】作業時間の見積もりのコツ…と言うか方法は?

こんなのがあったので参考までに。 http://www.4gamer.net/games/032/G003263/20111016007/ 自分もかなり見積もりが下手でした。 それでその時見つけた方法が、「最遅と最短を常に出すやり方」でした。 最短は文字通り、一番最速で出来た時の見積もりです。すべてがうまくいったらこれくらいで終わるだろうという期間。 最遅は、プロとしてここまでに出来ないと超恥ずかしいという期間です。要は最低ラインですね。 んで、もしこの二つの見通しが最適ならば必ずその二つの平均値に結果のスケジュールが収束するはずという手法です。 もし、これがどちらかによってるのであれば、自分...
by katariya
6年前
フォーラム: C言語何でも質問掲示板
トピック: 0x00000000 でハンドルされていない例外が発生しました
返信数: 5
閲覧数: 5035

Re: 0x00000000 でハンドルされていない例外が発生しました

ISLe さんが書きました: 関数名を使える時点でメンバ関数も固有のアドレスを持ってますよ。
お恥ずかしい限りです。確かにその通りでした。勉強不足ですいません…。
そうするとAccessViolationなので領域外アクセスなので配列外アクセスくらいですかね…。
by katariya
6年前
フォーラム: C言語何でも質問掲示板
トピック: staticで作ったメンバ関数を持つサウンドclassの扱い
返信数: 9
閲覧数: 800

Re: staticで作ったメンバ関数を持つサウンドclassの扱い

初期化は普通シーンマネージャークラス(CSceneManager)の初期化のタイミングで行うとおもいます。 ロードに関しては、重すぎるためとかで使うシーンごとに分割ロードしたい場合もあるのでなんとも…。 いちばん簡単なのは初期化と同時に全ての楽曲をロードするのが一番簡単です。 あとインスタンス化が気になるのであればサウンドクラスのポインタを渡して使用するのはどうでしょうか。 // CSceneManager.h public CSceneManager { public: Init(); static CSoundManager* GetSound(){ return m_pSound; };...
by katariya
6年前
フォーラム: C言語何でも質問掲示板
トピック: 0x00000000 でハンドルされていない例外が発生しました
返信数: 5
閲覧数: 5035

Re: 0x00000000 でハンドルされていない例外が発生しました

クラスに所属しているメソッドは生成後に初めてアドレスが割り当てられるためです。 Cだと全ての関数はアドレスをもってますが、メソッドは持ちません。 なのでこの入れ方をするのであれば全てのBulletPをstaticにするというとてもクラスプログラムらしからぬ方法をとらないといけません。 もう一つは継承を使い、BulletP基底クラスを継承したクラスを使ったプログラムなどはどうでしょうか。 class IBulletPBase { public: IBulletPBase() virtual ~IBulletPBase(); virtual void Pattern(Player_t *Playe...
by katariya
6年前
フォーラム: C言語何でも質問掲示板
トピック: 雑談
返信数: 5
閲覧数: 579

Re: 雑談

こんな使い方の一例 昔作ったアクションゲームのツール http://www1.axfc.net/uploader/so/2829856 「StateMap」シートにあるボタン「New Map Sheet」で新しいシートを作って、「Save Stage」で独自形式でセーブできます。 また「StateMap」の左の表はそれぞれの色と数字の対応表です。下に追加していけば新しい地形にも対応可能です。 こういうツールをCやC++で作ろうとするとかなりの時間になりますし、スクリプトでもビジュアル面的にいまいちです。 だいたいこれを作るのに調べながらで3時間ほどで出来たのでかなり短時間で作成できるというのが...
by katariya
6年前
フォーラム: C言語何でも質問掲示板
トピック: 雑談
返信数: 5
閲覧数: 579

Re: 雑談

自分はアクションゲームのマップエディタをVBAなどで作ったりしました。
Sheetの書式とかをある一定の入力形式でかつエラーチェック込みでつくるとなるとVBAの方がいい気がします。セルの色や入力データからのセル色換えなどを一括で出来るので見やすい表を作るのでも便利かも。
あとは、形式の違うファイルをコンバートしたり、エクセルのデータをバイナリで吐き出したりでもVBAを使ったことがあります。

んで、これらのVBAをマクロとしてボタンに登録しておくと、ワンプッシュでそのVBAが使えるので、それぞれのデータの吐き出しを一括でやりたいとかの時には便利です。

これで回答になってるかな…?
by katariya
6年前
フォーラム: C言語何でも質問掲示板
トピック: プログラムの評価依頼
返信数: 21
閲覧数: 1329

Re: プログラムの評価依頼

ところでこの継承について質問です。 ゲーム造りでは深い継承や実装継承や差分プログラミングというものは わりと許容されているのでしょうか? IS-Aなどまったくお構いなしに継承できればかなりコードは減らせるだろうなと組んでいて思いました。 この辺りどうなのでしょうか? 深い継承自体はやっぱり回避したいというのがゲーム作りでもいえると思います。 ただゲームの場合、ゲーム内のオブジェクトを一元管理したい時がままあります。 (当たり判定やら、更新やら描画やら) そういったときにゲーム内のすべてのオブジェクトが基底であるオブジェクトから派生させるというのは、 よくある手法だと思います。 まあ、そうはい...
by katariya
6年前
フォーラム: C言語何でも質問掲示板
トピック: 幅のある二つの線分の衝突判定
返信数: 4
閲覧数: 824

Re: 幅のある二つの線分の衝突判定

いっそのこと幅のある線分ではなく 長方形もしくは長方形と円の複合でいいのではないですか? おそらくhideさんの言ったこれがベストかと思います。 長方形同士なら互いの各辺を線分交差判定で判定してあげれば出せます。 もし先が丸まっている場合は、 (1)先端同士が当たっている場合(互いの先端円の当たり判定) (2)辺が交差している場合(互いの辺の線分を交差判定) (3)先端と辺の当たり判定(線と円の当たり判定) (3)だけ少し面倒ですが以下のサイトに詳しく載っています http://torasukenote.blog120.fc2.com/blog-entry-55.html 基本複雑な図形は分...
by katariya
6年前
フォーラム: DirectX SDK
トピック: 挨拶・雑談など
返信数: 25
閲覧数: 6372

はじめまして

はじめまして。katariyaと申します。

DirectX歴は3年~4年ほどです。(DirectX9.0cをずっと使っていました)
今まで3Dのアクションゲームなどの開発を行ってきました。
最近はHLSLさんと仲良くなれる方法を模索中です

至らぬところもあるかとは思いますがよろしくお願い申し上げます。
by katariya
6年前
フォーラム: C言語何でも質問掲示板
トピック: C++のタスク処理とシーケンス遷移の実装
返信数: 4
閲覧数: 1638

Re: C++のタスク処理とシーケンス遷移の実装

状態(シーケンス)自体にをタスクリスト化して、 例えばゲーム中にポーズシーケンスがあれば、シーケンスタスクリストに追加してあげる。 シーンが終わったらリストから外してあげて、次のシーケンスをリストに繋げてあげる。 という更新機構が出来れば綺麗にいくかと。 この時もともとのタスクシステムが更新と描画を完全に分けておけばかなり楽にできると思います。 各シーケンスにはゲームの更新オブジェクト(プレイヤーとか、敵とか)を登録するタスクリストを基底に持って置いて、派生とかしてみるというのを自分も今試してます。 それで、描画をするためのクラスにそのシーケンスリストを渡しちゃってそれぞれからタスクリストを貰...

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