検索結果 41 件

by SUE
6年前
フォーラム: C言語何でも質問掲示板
トピック: 【C#/WPF】画像サイズの挙動について
返信数: 2
閲覧数: 3919

【C#/WPF】画像サイズの挙動について

こんばんは。今回はWPFを使っていたときの問題です。

WPFのImageコントロールに画像を読み込んだとき、例えば64x64の画像であれば、勝手に85x85にリサイズされてしまいます。StretchをNONEにしてもUniformにしても無駄でした。
論理ピクセルと物理ピクセルの兼ね合いの問題なのかなと思いきや、その他の場面でpixelを指定すると全て物理ピクセルと1:1でちゃんと表示されました。
結果、全体としては表示が乱れて思うような操作ができません。

この挙動について、解決策をどうかご教示お願いします。
by SUE
6年前
フォーラム: C言語何でも質問掲示板
トピック: boost::functionとオーバーロードされた関数
返信数: 4
閲覧数: 678

Re: boost::functionとオーバーロードされた関数

みなさんありがとうございます。僕の使っているコンパイラはVC++v120ですが、残念ながらYuOさんに挙げていただいたどの方法を使ってもコンパイルは通りませんでした。
オーバーロードされた関数に&を付けると型なしになるという例外的な扱いだけに、正しく処理するのも難しいようですね。

今回は本筋のプログラムは別の方法を使って解決できそうなので、この件はここまでで解決とさせて頂きます。改めて回答ありがとうございました。
by SUE
6年前
フォーラム: C言語何でも質問掲示板
トピック: boost::functionとオーバーロードされた関数
返信数: 4
閲覧数: 678

boost::functionとオーバーロードされた関数

おはようございます。早速ですが質問です。 今回 この記事 などを参考に、make_sharedをfunctionに代入する以下のコードを書いてみました。 #include <boost/function.hpp> #include <boost/shared_ptr.hpp> #include <boost/make_shared.hpp> struct A{ A( int ){} private: A();//sealed }; int main() { boost::shared_ptr<A> (*f)( int ) = static_cast< boost::shared_ptr<A> ...
by SUE
6年前
フォーラム: C言語何でも質問掲示板
トピック: テンプレート引数のエラーについて
返信数: 1
閲覧数: 782

Re: テンプレート引数のエラーについて

すみません、自己解決しました。
前に"typename"をつければいいのですね。
by SUE
6年前
フォーラム: C言語何でも質問掲示板
トピック: テンプレート引数のエラーについて
返信数: 1
閲覧数: 782

テンプレート引数のエラーについて

毎度お世話になっております。今回は以下のコードで詰みました。 template< typename T > struct I{ typedef T type; }; template< typename T > struct J{ typedef std::vector< I<T>::type > type; }; int main() { std::vector<I<int>::type> a; return 0; } このJ<T>の中のtypedefで、「I<T>::typeは型ではありません」、「I<T>::typeは、有効なテンプレート型引数ではありません」とエラーが吐かれました。 何...
by SUE
6年前
フォーラム: C言語何でも質問掲示板
トピック: boostリファレンスの英文訳(?)の問題です
返信数: 5
閲覧数: 738

Re: boostリファレンスの英文訳(?)の問題です

beatleさんありがとうございます。

実はまったく仰る通りで・・・上の返信をした後いろいろ試行錯誤してみたのですが、mutexとロックフリーキューを併用すると
考えると、どうしてもおかしな点があり行き詰まっていました。なるほど、理屈で言うとそういうことだったのですね。

中途半端は諦めて、mutexを使った実装に戻して出直して来たいと思います。上では解決チェックを入れ忘れていましたが、今度は付けます。ありがとうございました。
by SUE
6年前
フォーラム: C言語何でも質問掲示板
トピック: boostリファレンスの英文訳(?)の問題です
返信数: 5
閲覧数: 738

Re: boostリファレンスの英文訳(?)の問題です

お二人ともありがとうございました。

これは結局mutexなりを使う部分が出てきそうですね・・・。一応lockfree queueのメリットは残るので使い続けますが。
by SUE
6年前
フォーラム: C言語何でも質問掲示板
トピック: boostリファレンスの英文訳(?)の問題です
返信数: 5
閲覧数: 738

boostリファレンスの英文訳(?)の問題です

久しぶりにお世話になります。 僕は今boost::lockfre::queueを使おうと思っています。そのメンバのempty()についてなのですが、 公式リファレンス には、 "The result is only accurate, if no other thread modifies the queue. Therefore it is rarely practical to use this value in program logic. " とのメモがありました。これを 「他のどのスレッドもキューに変更を加えていなければ、返り値は正確である。それゆえに、この値をプログラムの論理で使う...
by SUE
6年前
フォーラム: C言語何でも質問掲示板
トピック: ゲーム制作でのアイデア(案)の出し方
返信数: 7
閲覧数: 1911

Re: ゲーム制作でのアイデア(案)の出し方

かなり個人的な意見になりますが。 鈴木銀一郎によれば、ゲームデザインは ・テクニック(ゲームシステムなど細部の仕様) ・テーマ(具体的な背景設定) ・コンセプト(ゲームの本質的かつ抽象的な楽しさ) の3つに分けられるといいます。 このうちゲームシステム、即ちテクニックは、基本的に研究し尽くされ、使いまわされるものです。 勿論特許があればどうしようもないですが、僕は自分で再発明をするより尊敬するゲームからありがたく頂戴するのがむしろ筋だと考えています。 なぜならば、それが様々な場所で評価され遊ばれ続けているからです。 また、これでオリジナリティが無くなるということも無いと思います。ゲームの本質的...
by SUE
6年前
フォーラム: C言語何でも質問掲示板
トピック: ハッシュとイテレータ
返信数: 2
閲覧数: 375

Re: ハッシュとイテレータ

おお…お早い。本当に無効化されない、かつ、自分が勉強不足でないなら独自実装だろうなとは思っていましたが、これは何やらすごいことをしてそうですねw

semi-intrusiveとかその文章からしてbucketごとに動的確保してる訳でもなさそうなので良かったです。もし間違ってたら訂正してください。
回答ありがとうございました。
by SUE
6年前
フォーラム: C言語何でも質問掲示板
トピック: ハッシュとイテレータ
返信数: 2
閲覧数: 375

ハッシュとイテレータ

件名のまんま、ハッシュでイテレータを取得し使用するときの疑問です。今回ハッシュの実装はboost::unordered_setを使います。 #include <iostream> #include <boost/unordered_set.hpp> using namespace std; using namespace boost; int main() { unordered_set< int > hash; unordered_set< int >::iterator it; hash.rehash( 10 ); for( int i = 0; i < 10000; ++i ){ has...
by SUE
7年前
フォーラム: C言語何でも質問掲示板
トピック: 【急いでないです】とある不可解な一文について
返信数: 0
閲覧数: 550

【急いでないです】とある不可解な一文について

先日もお世話になりましたSUEです。 今回はboost.preprocessorを使おうとしたときに生じた疑問についてです。 このサイト http://d.hatena.ne.jp/DigitalGhost/20111205/1323052916 を見て、これは便利だと思い、実際にBOOST_PP_VARIADIC_TO_ARRAYを使おうとしたのですが、 未定義だと言われてしまいます。そこでソースを見てみたところ(見づらいのでプリプロセッサの#は除いてあります)、 if BOOST_PP_VARIADICS//0と定義されていた if BOOST_PP_VARIADICS_MSVC defi...
by SUE
7年前
フォーラム: C言語何でも質問掲示板
トピック: 【TMP(?)】クラスのテンプレート引数でメンバ関数を特殊化
返信数: 4
閲覧数: 922

Re: 【TMP(?)】クラスのテンプレート引数でメンバ関数を特殊化

返信送れて申し訳ありません。みなさんありがとうございました。 >beatleさん 綺麗な解決法がなければ、所詮はtrueとfalseしかないんだしコピペしてもいいかな、なんて一瞬考えましたが、実際の実装では1クラスに同じ仕組みを何個か入れる予定なので、 2^n回もコピーするのは割りと洒落にならないな・・・と思いました。もし本当にコピペするしかなかったら諦めて動的に解決するつもりでした。 >YuOさん その実装で行くとかなり面倒くさそうですね・・・結局本来の目的ともずれてしまう気が。ただ、テンプレート引数を渡すときに条件文を書けるというのを初めて知りました。 この辺まだまだ勉強不足だなと思わされ...
by SUE
7年前
フォーラム: C言語何でも質問掲示板
トピック: 【TMP(?)】クラスのテンプレート引数でメンバ関数を特殊化
返信数: 4
閲覧数: 922

【TMP(?)】クラスのテンプレート引数でメンバ関数を特殊化

久しぶりの質問です。 template< bool isEnable > struct A{ template< bool isEnable >//クラスのテンプレート引数と一致している void func(){ cout << "メンバにアクセスする何らかの処理"; } template<> void func< false >(){ cout << "多分、エラーを吐く処理"; } /*その他とても多くの関数など…*/ }; int main(){ A< true > object; object.func();//エラー! return 0; } 上のコードの様な形で、クラスに渡したテン...
by SUE
7年前
フォーラム: C言語何でも質問掲示板
トピック: USBオーディオクラスについて
返信数: 1
閲覧数: 328

USBオーディオクラスについて

毎度お世話になっております。SUEです。

先日USB経由でマイコンを操作する方法についての書籍を購入しました。
そこでは、HIDクラスやCDCクラスのAPIについては触れられていたのですが、
Audio class についての記述はありませんでした。そこで、Usb audio classのAPI
について述べられているサイト等を教えていただきたく思います。

環境はC++,Windowsです。

[追記]マイコン側のファームウェアについては大丈夫です。ホスト側のAPIについて
のみでお願いします。
by SUE
7年前
フォーラム: C言語何でも質問掲示板
トピック: 動く線分と「点」の衝突
返信数: 5
閲覧数: 821

Re: 動く線分と「点」の衝突

返信遅れました。すみません。この件に関しては自己解決しました。添付した図にあるとおりです。 そんなことより、色々お騒がせしているみたいで申し訳ありません。できる限りお答えします。 >>たいちうさん 仰る通りで、確かに僕の行おうとしていることで、対象が動いている必要は必ずしもありません。また、二分探索も大事なアルゴリズムです、すっかり忘れていました。 僕が対象が動いていることについてしつこく質問したのは、敢えて言えば細かいこと拘る性格が災いしてどうしても気になったからです。ただしこれが駄目ならば いい加減諦めようとは思っていました。何度もすいませんでした。 >>beatleさん 実は対象は点では...
by SUE
7年前
フォーラム: C言語何でも質問掲示板
トピック: 動く線分と「点」の衝突
返信数: 5
閲覧数: 821

動く線分と「点」の衝突

SUEです。あからさまに前回の続きです。 今回やりたいのは、動く線分上に静止した点が来る時刻を求めることです。いろんなやり方があるとは思いますが、僕は このサイト を参考にして(一応サイトと添付した図の文字は対応しています)、 線分L0,L1のそれぞれの終点を通る直線と、Ltの始点と図のAを通る直線との交点をPとし、PとLtの終点が一致するtを求める、という考え方をしました。 すると、そのサイトより、交点P = S2 + v2 * t2, Ltの終点 = S2 + v2 * t となり、再びサイトより、t2 = ( v × v1 ) / ( v1 × v2 ) だから、これと等しくなるtを求め...
by SUE
7年前
フォーラム: C言語何でも質問掲示板
トピック: 動く円と動く線分の衝突判定
返信数: 6
閲覧数: 1367

Re: 動く円と動く線分の衝突判定

ううむ・・・なんとなく判りました(←判ってない)。
とにかくこのやり方は無理そうですね。別の方法を考えます・・・が、よろしければ計算が楽になるヒントを頂けると喜びます。

それでは、トピックのタイトルから外れてしまうのでこれで一旦解決とします。わざわざ有り難うございました。
by SUE
7年前
フォーラム: C言語何でも質問掲示板
トピック: 動く円と動く線分の衝突判定
返信数: 6
閲覧数: 1367

Re: 動く円と動く線分の衝突判定

>>beatleさん >>loweさん 返信ありがとうございます。ですが、静止した物体の場合は僕も承知しておりました。それが動いた場合を考えたかったのですが、説明不足で申し訳ありません。 リベンジにと思い書き加えた図を添付しました。 >>GRAMさん 計算までありがとうございます。やはり無理がありそうですか。図のPtを見る限り曲線になるのかなーとは思っていましたが、そこまで複雑だとは思っていませんでした。 一つお聞きしてもいいでしょうか。図の線分の左側の端を点Q,逆をRとします。ここでQをQ 0 で固定し、RとOの動きからベクタAを引く・・・という方法は使えますか。 使えるならLの掃く領域が三...
by SUE
7年前
フォーラム: C言語何でも質問掲示板
トピック: 動く円と動く線分の衝突判定
返信数: 6
閲覧数: 1367

動く円と動く線分の衝突判定

毎度お世話になっております。今回はかなり数学寄りの質問です。 僕が今行いたいのは、図のような、2次元で直線的に動く円と両端が自由に動く線分とが初めて接する点を求めることです。そこでまず、 このサイト 等を参考に考えてみました。文字の置き方・言葉の使い方は優しく指摘してください。 0≦t≦1とし、線分のベクタをLtで表す。同様に、円の中心をOtと表す。またOtからLtへの垂線のベクタをHtとおく。 このとき、|Ht| = 円の半径rとなるtの内、最も小さいものが求めるべき点である。 ・・・などと考えてみたのですが、途中で楕円が出てきたりして自分の数学力では無理がありました。どうすれば求まるのでし...
by SUE
7年前
フォーラム: C言語何でも質問掲示板
トピック: ifstreamで
返信数: 4
閲覧数: 1150

Re: ifstreamで

>>a5uaさん
基本的なとこでしたね・・・見落としていました。

>>beatleさん
言われた通りにして成功しました。
memsetで0クリアしてるのにそれは変じゃね? とか思ってしまいましたが、ifstream::read自体が余計なゴミを引き連れていました。

お二方ありがとうございました。こういう、簡単だけど根源的な問題はやはり大事にすべきですね。
オフトピック
どんなサイトを探しても以上を指摘してるところは無かったけどね・・・
by SUE
7年前
フォーラム: C言語何でも質問掲示板
トピック: ifstreamで
返信数: 4
閲覧数: 1150

ifstreamで

ファイル読み込みをしようと思ってこんなコードを書きました。 using namespace std; int main(){ const char* name = "common.dat"; ifstream ifs( name, ifstream::binary ); ifs.seekg( 0, fstream::end ); unsigned end = ifs.tellg(); ifs.clear(); ifs.seekg( 0, fstream::beg ); unsigned beg = ifs.tellg(); unsigned size = end - beg; char* bu...
by SUE
7年前
フォーラム: C言語何でも質問掲示板
トピック: メモリの格納領域について
返信数: 8
閲覧数: 820

Re: メモリの格納領域について

すみません、後半しか答えられませんが・・・ また、画像等をロードすると関数がハンドルやアドレスを返すので、それを介して処理をすると思いますが、読み込まれた画像等の実体はどこに格納されるのでしょうか。 関数内部で動的にメモリを確保しているのでしょうか。 はい。画像のメモリ確保は動的に行われます。そうでなければコード上(あるいはスタティックリンクライブラリ)に画像データが含まれていることになってしまいますから。 で、問題はそれがどこに確保されるのかということです。 PCに専用のグラフィックボードが搭載されているとき、画像など描画関係のデータはほとんど、グラフィックボード上のメモリに読み込まれます。...
by SUE
7年前
フォーラム: C言語何でも質問掲示板
トピック: DirectX11でエラーがでる
返信数: 29
閲覧数: 8525

Re: DirectX11でエラーがでる

cc さんが書きました:プロパティマネージャーの設定のやり方と下の「個別に設定するとき」を詳しくお教えください
「と」、というより、どちらの方法でも出来ますよ、という意味です(ですよね?)。

もし無料版であるExpress Editionを使っているのなら、僕が書いた手順の「VC++ディレクトリ」のところを「C/C++→全般」に置き換えるだけです。
有料版を使っているのならプロパティマネージャーから楽に設定できる(らしい)ですが、その方法でやりたいならISLeさんに教わってください。
オフトピック
これでずっと上手くやって来たのに若干間違いだったとは・・・
オフトピック
ていうか「だびに」が何度も引用されてなんか恥ずかしい。
by SUE
7年前
フォーラム: C言語何でも質問掲示板
トピック: DirectX11でエラーがでる
返信数: 29
閲覧数: 8525

Re: DirectX11でエラーがでる

入力するときは、右上にある、ファイルが光っているようなアイコンをクリックして新しい行を作ります。

DirectX SDKの場所はインストール中に必ず表示されているはずなのですが。C:のProgram Filesにあります。
もしインストールしていないということであれば、そのサンプルの出典となった文章を読み返してください。多分SDKのインストール方法については載っているはずです。
by SUE
7年前
フォーラム: C言語何でも質問掲示板
トピック: DirectX11でエラーがでる
返信数: 29
閲覧数: 8525

Re: DirectX11でエラーがでる

インクルードディレクトリの設定はしていますか? ちなみにこいつは、VC++2010からプロジェクトを作るだびに個別に設定するようになりました。

設定方法は、ソリューションエクスプローラからプロジェクトを右クリック、プロパティを開き、「構成プロパティ」の「VC++ディレクトリ」をクリック。その中の「インクルード ディレクトリ」を編集し、
$(DXSDK_DIR)Include
と入力するか、駄目ならばDirectX SDKのフォルダ内の"Include"というディレクトリを見つけ、その絶対パスを入力します。
by SUE
7年前
フォーラム: C言語何でも質問掲示板
トピック: 返り値が複数欲しい関数
返信数: 7
閲覧数: 7793

Re: 返り値が複数欲しい関数

基本的にはCrさんと同じ考え方ですかね。

ただし、値を直接変更してほしい変数を参照で渡すと、関数の中身だけ見てもコピーなのか参照なのか区別がつかなってちょっと危険なので、
void calc( int& in, int* out );みたいに入力→参照、出力→ポインタとやっています。
by SUE
7年前
フォーラム: C言語何でも質問掲示板
トピック: dynamic_castについて
返信数: 3
閲覧数: 928

Re: dynamic_castについて

DVDMさん、ご意見ありがとうございます。で、いろいろ考えていたため若干放置っぽくなってしまいました。すみません。 そもそもどういった場合にダウンキャストが必要になるのでしょうか? ええとですね、継承でまとめたいクラスがあるけど、それぞれが独自にメンバをたくさん持ってたりする時、ですかね。いや、だったら最初から継承させるな、という感じですが。 結局悩んだ末、今はダウンキャストなしの設計にできました(しました)。よくよく考えると、確かにダウンキャストを使うってのはどこかが間違ってる証ですよね。 僕はGRAMさんみたいにテンプレートを活用したやり方は頭がついていけない(有限機械状態(゚д゚)?みた...
by SUE
7年前
フォーラム: C言語何でも質問掲示板
トピック: 文字が消える¥←これ
返信数: 11
閲覧数: 1026

Re: 文字が消える¥←これ

(注意、¥マークと\は同じと扱います。) こんな話があります。すごく判りやすくて自分も頷かされました。 女性がある話を朗読して、それを男性が聞いて書き写す、という作業をしている人たちがいます。 あるところまで読んだとき、女性は「もうこの話には続きが無い」という意味で、『はい、これで終わりです。』と言いました。男性はそれを聞いて、『はい、これで終わりです。』と書きました。つまり、文章の中に『はい、これで終わりです。』とある、と勘違いしたのです。 女性は作業を一旦中断して、『はい、これで終わりです。』といったらもうおしまいにしましょう、と男性に言いました。 また別の作業のとき。またあるところまで読...
by SUE
7年前
フォーラム: C言語何でも質問掲示板
トピック: dynamic_castについて
返信数: 3
閲覧数: 928

dynamic_castについて

なんだかんだでこれが初質問になります。SUEです。 C++には基底クラスのポインタ→派生クラスのポインタ、というダウンキャストを行うdynamic_castがありますよね。これについてなのですが、ネットで情報を集めたところ、どうやら基本的に推奨されない機能だということが判りました。確かに、実行時判定する分遅いですし、そのために無駄な容量を食うことりもなります。 じゃあ自分で安全確保の機能を作って(容量は諦めるとして)static_castをすればいいんじゃね、と思ったのですが、さらに調べると、ダウンキャストそれ自体が推奨されないものだと判りました。 ダウンキャストをする事にも一応意味はあるし、...
by SUE
7年前
フォーラム: C言語何でも質問掲示板
トピック: チート作成
返信数: 5
閲覧数: 12816

Re: チート作成

そうですね。こんな流れでしょう。 C言語の基本を学ぶ。コンソールで好きなゲームを何も見ずに作れるレベルが良い。参考書は多いが、300ページほど読破すればマスターできる程度です。 ↓ オンゲ、というかゲームの一般的な作り方について学ぶ。プログラム本体は1000ページほどの勉強で十分と思われますが、一応グラフィックスも勉強すると良いので買いあさりましょう。別に自分が描くわけじゃないので、やり方を理解するだけで構いません。ここで数年鍛錬するのがちょうどいいです。 ↓ ネットワークについて学ぶ。サーバー周りはCでない言語が多いので、その辺も一通り網羅すると良いでしょう。500ページほどの参考書が数十種...
by SUE
7年前
フォーラム: C言語何でも質問掲示板
トピック: 敵に当たり判定をつけたいんです! 
返信数: 12
閲覧数: 688

Re: 敵に当たり判定をつけたいんです! 

はい。・・・というか、完全に解決するまで何が起きるかは判らないので、是非聞いてください。
by SUE
7年前
フォーラム: C言語何でも質問掲示板
トピック: 敵に当たり判定をつけたいんです! 
返信数: 12
閲覧数: 688

Re: 敵に当たり判定をつけたいんです! 

ううむ、難しい。何か難しいのかって、ここまで出来てるのにどう詰まるのかが判らないから難しいww 真面目に答えます。流れとしては、 Enemyのupdate()からCheckCollisionBullet( Enemy *pEnemy )(←新しく作ってください)を呼び出す。このとき、自分自身へのポインタthisを渡す。[最初のソースの66行目あたり] ↓ CheckCollisionBulletで、Bullet全部と判定を行う。どうやらBulletには自機属性と敵属性があるようなので、自機属性のものとのみ判定を行う。 ↓ 当たっていたら、pEnemy->bUsedをfalseにする。消滅。以降...
by SUE
7年前
フォーラム: C言語何でも質問掲示板
トピック: 敵に当たり判定をつけたいんです! 
返信数: 12
閲覧数: 688

Re: 敵に当たり判定をつけたいんです! 

あ、すいません。Playerのプログラムが来ていましたね。 CheckCollisionField()ではフィールドとプレイヤーの当たり判定が行われていますが、それと同じことをEnemyとBulletで行い、290行目に相当する部分はEnemyを消滅させる処理(あるいは、HPをつけるなら、HPの値をいくらか引く処理)にすればOKです。forループは二重(Bullet一つごとにEnemy全部と判定、をBullet全部で)になりますが大丈夫ですよね。 追記 Fieldも来ていましたね。EnemyはFieldと違ってサイズは固定のようなので、もっと楽に出来るでしょうが、具体的に何で悩んでいるのですか?
by SUE
7年前
フォーラム: C言語何でも質問掲示板
トピック: 敵に当たり判定をつけたいんです! 
返信数: 12
閲覧数: 688

Re: 敵に当たり判定をつけたいんです! 

これってもしやコンソールアプリケーションですか? 製作環境を教えてください。
見たところ基本的なプログラムの構造はしっかりしていて良いです。しかしコンソールでアクションってのもすごいですね。
by SUE
7年前
フォーラム: C言語何でも質問掲示板
トピック: 攻撃判定を持つクラスを作りたいのですが、どう作ればいいのか解りません。
返信数: 4
閲覧数: 491

Re: 攻撃判定を持つクラスを作りたいのですが、どう作ればいいのか解りません。

Objectクラスでは、2つのObjectの接触判定を行っているのですよね? であれば、それと同時にHP干渉する処理も行ってしまえばいいと思います。 全体を知らない(全部のコードを晒せという意味ではありません)ので主観的な意見ですが、この場合Actionクラスに相当する処理は別にクラスを作るほどのものではないかと思います。また継承を活用しているようですが、活用のしすぎは却って複雑になります。使いすぎるなら使わないくらいの按配が、個人的には良いと思っています。どうしても詰んだら1から書き直すのもアリです。 まあ言ってもこの辺は確かに難しいですよね。かくいう自分も、当たり判定の最適化のためにどうオ...
by SUE
7年前
フォーラム: C言語何でも質問掲示板
トピック: ZUN氏の東方シリーズについて
返信数: 3
閲覧数: 693

Re: ZUN氏の東方シリーズについて

どうやらそのようですよ。但し厳密にはC++だと思われます。

あとは画面描画に必要となるDirectXも使われています。というか、Windowsで動くゲームはもっぱらこのC++とDirectXで作られています。それは東方のような同人ソフトでも商業の大作でも共通です。
まあ商業ゲームは他にも色々くっつくことはありますが・・・元をただせばそういうことです。
by SUE
7年前
フォーラム: C言語何でも質問掲示板
トピック: クラス同士の橋渡し
返信数: 4
閲覧数: 603

Re: クラス同士の橋渡し

まあ参考になるかどうかは微妙ですが・・・ 僕の場合は、「橋渡しクラスを作る」ことで解決しています。つまりどういうことかというと、 まずその橋渡しクラス――ここでは"Scene"とします――を作ります。 //Scene.h class Scene{ public: void update();//WinMainか何かから1フレームに1回呼ばれる void getCameraData( 【カメラデータの型】 *pData );//意味は後ほど void setEvent( int eventNum );//これも後ほど private: Jiki* mJiki;//配列 Enemy* mEnemy...
by SUE
7年前
フォーラム: C言語何でも質問掲示板
トピック: ProcessMessageについて
返信数: 13
閲覧数: 1665

Re: ProcessMessageについて

私は許容量について知りませんが、この場合具体的な数は直接は関係ないと思われます。
恐らく、while文をループするたびに同じグラフィックの確保関数を呼び出しているのではないでしょうか? そうであれば、最初の1ループだけ確保関数が呼ばれるようにする必要があります。
by SUE
7年前
フォーラム: C言語何でも質問掲示板
トピック: 広いマップの当たり判定
返信数: 11
閲覧数: 1078

Re: 広いマップの当たり判定

おっしゃる通り、マップ配列のサイズは[1000][1000]になります。確かに環境によってはがっつりメモリを使うので容量的に厳しいかもしれません。また、1000x1000個ものマップをエディットするのも相当大変だと思います。

ですが当たり判定そのものは重くなりません。コードをよく見ると、サイズが[1]、[20]だろうと[1000]だろうと「進行方向の区間1つ」しか調べていません。つまり処理は変わらないので、いくらでも広大なマップを作って問題ないということになります。

と、いうことでよろしいでしょうか?
by SUE
7年前
フォーラム: C言語何でも質問掲示板
トピック: 同時に繰り返し文を実行したい
返信数: 9
閲覧数: 590

Re: 同時に繰り返し文を実行したい

「基本的には」、コンピュータは複数の処理を同時に行うことはできません。ですので、同時に処理しているように「見せかける」方法が必要となります。

というわけで、詳しくはこのページをよく読んでみてください。
http://homepage2.nifty.com/natupaji/DxL ... re1_1.html

また、毎回消してその度に描画、というといささか非効率に聞こえますが、画面書き換えに数秒かかった時代ならいざ知らず、今のパソコンでは必須です。その辺も上記のページとそのシリーズを見てよく理解しておきましょう。

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