[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 08/05 07:30 / Filesize : 218 KB / Number-of Response : 867
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Windowsゲームプログラミング 質問スレ



1 名前:デフォルトの名無しさん [05/02/25 05:10:53 ]
※回答する人も、質問する人も必ず読んでください 

【 回答してくださる方 】 
・ できるだけ優しく質問に答えてあげてください。 
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。 
 「ググれ」以外の回答でおながいします。 
・ 神ですら理解不能な質問は無視して下さい。 

【 質問する香具師 】 
・ どんな事で躓いているのか明確にしる。 
・ 長くならないなら躓いている部分のコードを晒してみれ。 
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書け。 


287 名前:名前は開発中のものです。 mailto:sage [2006/09/18(月) 17:15:52 ID:T/AO14da]
>>285
そのデータの形式にもよるが、
DIBの形で読み込めるなら、CreateDIBitmapとかで出来ると思う。

288 名前:名前は開発中のものです。 mailto:sage [2006/09/22(金) 05:20:19 ID:UxeWHvRU]
TextureならFromFileInMemoryとか

289 名前:名前は開発中のものです。 [2006/10/05(木) 08:54:14 ID:UCkPjisv]
うむ

290 名前:名前は開発中のものです。 [2006/10/06(金) 23:22:42 ID:nNc3THyN]
すいません、困っているので、教えてください。

今、スマートボールを作っているのですが
方向ごとの衝突反応が上手くできなくて困っています。

ブロックの左に玉がぶつかったら
右の衝突反応が優先されてしまったりしてしまっています。

ブロックの左に当たったら
左の衝突反応。
ブロックの上に当たったら
上の衝突反応。
といったようにきちんとした反応が返ってくるようにしたいです。

たぶん衝突判定あたりが問題だと思うのですが
どうにも直すことができません。
誰か教えてください。

291 名前:名前は開発中のものです。 mailto:sage [2006/10/06(金) 23:51:36 ID:+9iAuVTh]
ボールの左上、左下、右上、右下の4つで当たりを取って、
後はそのうちのどれとどれが衝突しているかで条件分け。
がんばれ。

292 名前:290 [2006/10/07(土) 00:19:22 ID:tK+JL53m]
>>291
さっそくの返答、ありがとうございます。

ボールの当たりを取るっていうのは


if (ボールとブロックの衝突判定) {
  /*ボールの右側が当たった場合*/
  if ((ballPos.x + BALL_WIDTH) == blockPos.x) {
   degree = (180 - degree);
  }
}

みたいな感じで良いんでしょうか?

293 名前:290 mailto:sage [2006/10/07(土) 04:34:25 ID:M90oHVt8]
>>291
色々とやってみて
3回に1回くらい
思った通りの動作をするようになりました。

ですが、精度を高めることができなかったので
ピンを敵に変えてアクションゲームにしました。

アドバイスをいかしきれなくて
すいません。

294 名前:名前は開発中のものです。 mailto:sage [2006/10/07(土) 10:49:25 ID:JWPSnV8K]
よくわからないが、ボールが右に動いて壁に当たったなら
壁には左に当たっているわけだから、壁の右の衝突判定は呼び出す必要はないだろ?

もし、壁もボールも動くなら、相対速度を求めて、
どちらかだけの衝突判定をすればいいんじゃない?

295 名前:290 mailto:sage [2006/10/07(土) 18:50:12 ID:M6IRgPHU]
>>294
説明不足ですいません。

ボールの速度が一定でないので
頻繁にブロックへのめり込みが発生して
思ったような衝突判定ができなかったみたいです。

あと、ブロックは動かす予定はありませんでした。



296 名前:名前は開発中のものです。 [2006/10/15(日) 17:35:00 ID:ZDJeTry+]
判定部分のソース晒すのが一番早いかと

297 名前:名前は開発中のものです。 mailto:sage [2006/10/15(日) 21:42:00 ID:C/TMVGDR]
移動する前に当たり判定して終わりのような

298 名前:名前は開発中のものです。 [2006/10/17(火) 06:19:58 ID:Ci2KLVBp]
ダイレクトXってほんとわかんねーよ。
あれってわざと難しくしてるんじゃねーか?

MFCは一応使えるようになったけど、(理解はしてないが)
あれは次元が違う難解さだ。

ゲーム用ベーシックみたいに、Porigon(x,y,z)とかで簡単に表示できるかと思ってたわ。


299 名前:名前は開発中のものです。 mailto:sage [2006/10/17(火) 08:05:30 ID:v0yfnzhi]
頭が悪いなら諦めろ。

300 名前:名前は開発中のものです。 mailto:sage [2006/10/17(火) 11:16:17 ID:D9KM+For]
>>298
3Dはみんなそんなもんだよん

Direct3Dを簡単に扱うためのBASIC見たいな
文法で書くスクリプト言語とかMFCの様な
C++のライブラリ使うとかすれば
いいんじゃないの?

301 名前:名前は開発中のものです。 mailto:sage [2006/10/17(火) 13:39:31 ID:EGJYiJfH]
PlayStationは凄い素直だった。
マイクロソフトは何でもかんでもカプセル化すれば良いと思ってる。

302 名前:名前は開発中のものです。 mailto:sage [2006/10/17(火) 17:08:41 ID:U7WoMmHI]
COMとかそこら辺の流れが入ってきてるから分りにくいだけだろ。
分らない奴はOpenGLでも使ってろ。

303 名前:名前は開発中のものです。 mailto:sage [2006/10/17(火) 18:16:39 ID:hbZjh9o3]
そりゃPCとコンシューマ機は違うでしょ。

304 名前:名前は開発中のものです。 mailto:sage [2006/10/18(水) 06:48:34 ID:WfLow5G2]
いまどきDirectXでCOMがどうとか言ってる人がいるとは
何年前から冬眠してたんだろ

305 名前:名前は開発中のものです。 mailto:sage [2006/10/18(水) 12:28:41 ID:5TL5JyUw]
人の作ったライブラリにおんぶに抱っこじゃ、そりゃCOMのことなんか分からないよなw



306 名前:名前は開発中のものです。 mailto:sage [2006/10/18(水) 14:55:21 ID:WfLow5G2]
ん?DirectXのことかな?それともWin32のことかな?
頭悪い突っ込みほど格好悪いものもないねー

307 名前:名前は開発中のものです。 mailto:sage [2006/10/18(水) 16:11:59 ID:5TL5JyUw]
DXライブラリ厨乙

308 名前:名前は開発中のものです。 mailto:sage [2006/10/18(水) 20:30:52 ID:jafne6Pg]
二人合わせてWTL

309 名前:名前は開発中のものです。 [2006/10/19(木) 19:35:51 ID:QtL2sYe+]
DXライブラリは救世主だと思ったのに

310 名前:名前は開発中のものです。 [2006/10/22(日) 11:41:55 ID:Q0NnJdKD]
     i:::::::::::::i:::::::;:::::::::::::::::::::::::/i:::::/ i::::::::::::::::::::::| そんなことよりもっと考えるべきことがあるだろう。
     |::::::::::::|:::::/::::::::::;:::::::::/ /:::/  i::::::i:::::::::::::i たとえば『画面のキャリブレーション』だ。
     |:::::::::::|:::::i:::::::/::::/  /:::/   |::::|:::::::::::/ 画面によってぜんぜん発色が違うのは常識だね?
     ∨:::::::|::::|:::::イ:::/   /:::/    |::::|:::::::::/ そう、常識だ。いや、常識だと多くの人々が思っている。
      ∨:::::|:::| ̄ナナ=、  /::Zz=='"T:T|:::::::/  だが、実は画面やドライバの設定がおかしいだけかもしれない。
      ∨:::|::|::ャ代戌ナ= // 弋戌テT:ァi::::::/   そもそも最低限の調整すらしたこと無い人が多いのではないか。
       ∨:::i:i/ i/     /      i/./:::::/,_,, そう主張する人も少なくない。
       rヤ::::|i. !    /       /i::::::ハ Y  ふっ、どうも私は口下手で困るよ。
      ,,イrヤ::::|ゝ.      i     / ,イ::::< .〉 .ト、 つまり常識を疑えということだ。
    rイ! レヤ:::|i .ゝ.   _ _     .イ.|:::/ ソ  ! ト‐、
>ー''フ/''|  | ヤi::| i .|\      // |::/ /    ト、 `ー、
   / i   i ャヤi j  > 、  //./  |:i /    | Y

ttp://www.eurus.dti.ne.jp/~koich-n/retouch/display.html
ttp://blogs.yahoo.co.jp/komutai_tk/42100061.html
ttp://www.w3.org/Graphics/Color/sRGB
ttp://bsg.to/mt/archives/200609/2006-09-07T23:42.shtml

311 名前:名前は開発中のものです。 mailto:sage [2006/11/04(土) 08:44:47 ID:u3HqISdl]
会話などを表示するためにサブウインドウを作成し、表示したのですが
表示中に再描画を行うとサブウインドウの画面がちらついてしまいます。
これを防ぐにはどのような対処を行えば良いでしょうか?

312 名前:名前は開発中のものです。 mailto:sage [2006/11/04(土) 12:58:01 ID:/q8A3ZyR]
>>311
一度画面全体をバックバッファに描く


313 名前:名前は開発中のものです。 mailto:sage [2006/11/04(土) 16:36:15 ID:u3HqISdl]
>>312
ShowWindow();を使ってたんですが
ウインドウも画像を使うべきということでしょうか?

314 名前:名前は開発中のものです。 mailto:sage [2006/11/04(土) 19:48:09 ID:eIj40MQq]
>>313
とりあえずバックバッファでググレ。

315 名前:名前は開発中のものです。 mailto:sage [2006/11/07(火) 11:51:06 ID:8tSL6aoZ]
>>313
ヒント「DIBSection」




316 名前:名前は開発中のものです。 mailto:sage [2006/11/07(火) 14:05:03 ID:WJeQGxZV]
そのサブウィンドウってのはWindowsのウィンドウとして作ってるの?
だとしたら親ウィンドウにWS_CLIPCHILDREN属性を設定すればいいと思う。

ただ、ゲームを作る場合312-315のとおり、ウィンドウは1枚だけにして
内部のユーザインターフェイスは自前で用意するのが普通。

317 名前:313 mailto:sage [2006/11/07(火) 14:07:56 ID:WJeQGxZV]
>>313を見落としてた
WM_PAINTを呼び出したいなら再描画指示はInvalidateRectで、
最後のパラメータはFALSEでね。

318 名前:311 mailto:sage [2006/11/07(火) 18:31:21 ID:wb4UfHDQ]
>>312-317
画像で作成する方法がよく使われてるということですので
そちらで作成することにします
ご回答下さった方ありがとうございました

319 名前:名前は開発中のものです。 mailto:sage [2006/11/07(火) 19:56:31 ID:Gmffc/vx]
>>311
C言語?他に使ってるライブラリは?

320 名前:311 mailto:sage [2006/11/08(水) 22:17:58 ID:g81bdmif]
Cです
ライブラリ等は特に使ってません

321 名前:名前は開発中のものです。 mailto:sage [2006/11/09(木) 01:44:06 ID:RPNJn70P]
問題が解決したのなら必要ですが、WM_ERASEBKGNDメッセージ処理を
DefWindowProcにさせなければ良いという話がよくあります。

322 名前:名前は開発中のものです。 mailto:sage [2006/11/09(木) 01:45:22 ID:RPNJn70P]
>>321 大きな間違い。
○必要ですが、
×必要ないですが、

問題が解決したのなら必要ないですが、WM_ERASEBKGNDメッセージ処理を
DefWindowProcにさせなければ良いという話がよくあります。

323 名前:名前は開発中のものです。 [2006/11/17(金) 04:17:18 ID:5hvBfGHn]
シーン管理などで手間取ってるのですが、
何か良いサイト・参考書などありませんでしょうか?

324 名前:名前は開発中のものです。 mailto:sage [2006/11/17(金) 05:19:47 ID:t6WIPUdH]
漠然とし過ぎてる。

325 名前:名前は開発中のものです。 mailto:sage [2006/11/17(金) 05:30:25 ID:5hvBfGHn]
Sceneクラスを管理するSceneManagerクラスを作ったまでは良かったんですが、
Sceneクラス内でシーンのpopやpush、deleteをするのに、SceneManagerに直接頼めないので困ってます。

Sceneクラスにフラグを持たせて逐一チェックすれば実装は可能なんですがなんか微妙ですし…。



326 名前:名前は開発中のものです。 mailto:sage [2006/11/17(金) 06:03:38 ID:t6WIPUdH]
@言語は?
Aシーンをスタック(pushとpop)するという事はアドベンチャーゲーム?
Bdeleteするのはスタックされているシーン?

327 名前:名前は開発中のものです。 [2006/11/17(金) 06:24:34 ID:5hvBfGHn]
@C言語です
Aアドベンチャーではありません。
B自クラスorスタックされてるシーン全て含みます。

ドラクエを例に取ると

オープニングシーン
↑↓シーン移動
セーブデータロードシーン
↑↓シーン移動
マップシーン
↑↓シーンPush(移動も可)
戦闘シーン

という作業を効率良く管理したいのです。

328 名前:323 [2006/11/17(金) 16:18:43 ID:5hvBfGHn]
 
・最下層ヘッダ ( SCENE (TITLE_SCENE, OPENING_SCENE...)の定義 )
・CScene
・CSceneManager

の順を守ることで自己解決しました。

329 名前:名前は開発中のものです。 mailto:sage [2006/11/19(日) 08:06:52 ID:x2dz501C]
isuファイルの作り方が分かりません。

330 名前:名前は開発中のものです。 [2006/11/19(日) 10:23:46 ID:urBRsIAy]
参照とポインタ、値渡しと参照渡し
このあたりの違いが、うまくまとまらないんです

331 名前:名前は開発中のものです。 mailto:sage [2006/11/19(日) 10:50:12 ID:x2dz501C]
>>330
C++?

332 名前:名前は開発中のものです。 mailto:sage [2006/11/19(日) 11:16:06 ID:x2dz501C]
ポインタが出てくるからC++か。
void func1(int& val)
{
val = 10;
}
void func2(int val)
{
val = 10;
}
func1では参照渡しなので引数valの値が変化します。func2ではvalのコピーが渡されるだけなので
値は変化しません。

C++では参照は定義した時に初期化が必要です。
int& val = intger;
int* pVal;

val = 10; 参照に後から代入すると(ここでは)intgerの値が変化します。
pVal = &intger; ポインタは後からアドレスを代入できます。
*pVal = 10; これでintgerの値が変化します。

333 名前:名前は開発中のものです。 [2006/11/19(日) 13:43:43 ID:urBRsIAy]
>>332
ありがとう、前半はいいんだけど、
例えば例題として、値渡ししていた関数funk3があるとして
//関数コールはこんなかんじ
int val = 10;
val = funk3(val);

int funk3(int val)
{
val = val * 2;
return val;
}

//参照渡しに変更するとき
int val = 10;
int& ref = val; //【疑問1】ここで宣言すんの?
val = funk3(ref);

int funk3(int& val) //【疑問2】呼び出し時点で初期化されてるのかな?
{
val = val * 2; //
return val;
}
この辺がよくわからないのです。

334 名前:名前は開発中のものです。 mailto:sage [2006/11/19(日) 13:54:54 ID:fUpTw/Bs]
mciでmidiオープンするとwavはすぐなのに時間かかるのなんで?

335 名前:名前は開発中のものです。 mailto:sage [2006/11/19(日) 14:31:24 ID:x2dz501C]
>>333
参照渡し引数に参照を用意して渡す必要はありません。

int val = 10;

funk3(val);

int funk3(int& val)
{
val *= 2; // 2倍にする場合左の記述が出来ます。
return val;
}
この時関数funk3を抜けると引数valは20になります。戻り値を受け取る必要はありません。
この場合、funk3は以下のように戻り値なしでも良いです。
void funk3(int&val)
{
val *= 2;
}

以下のように別に戻り値を受け取る必要がある場合は別ですが。

int val = 10;
int data;

data = funk3(val);

int funk3(int&val)
{
val *= 2;
return val * 2;
}



336 名前:名前は開発中のものです。 [2006/11/19(日) 15:16:12 ID:urBRsIAy]
>>335
ありがとうございます。漸く理解できました。
ということは、やはりメンバで宣言された時点で初期化も行われているのですね。
参照は初期化が必要と聞いていたのでその点がどうしてもわかりませんでした。
int val = 10;
funk3(val);
//   └──┐引数valの参照としてメンバーのvalが定義される
int funk3(int& val)
{
val = val * 2;
return val;
//この場合return不要とのことですが、記述したままで不都合はありますかね?
//関数の型を維持しておきたいのです。
}

//次にポインタの場合なのですが、
int val = 10;
funk3(&val);
//   └──┐valに参照演算子を使ってアドレスを引数にする。
void funk3(int* pVal) //アドレスはint*型のpValに代入したい。でも*pValって値を格納する式だよね。
{
pVal *= 2;
// それとも *pVal *= 2; ?
// なんか変だ、pValというのはポインタなので、値を代入する場合は*pValに入れる必要がある。
// 最初に宣言した*pValにはアドレスが入っちゃってるんじゃないだろうか。2倍するのは危険じゃないか。
}
funk3(val);で呼び出して、void funk3(int* pVal) に渡すのかな。
funk3(&val);で呼び出して、void funk3(int pVal) で、式中では*pValを使用でいいのかな。
と、このような感じで悩んでおります。
ここが解ればテキストを読み進められそうなので、お願いします。本当に長々と申し訳ありません。

337 名前:名前は開発中のものです。 mailto:sage [2006/11/19(日) 15:40:27 ID:x2dz501C]
>>336 前半
>//この場合return不要とのことですが、記述したままで不都合はありますかね?
不都合ありません。

>>336 後半
void funk3(int* pVal)
{
*pVal *= 2; // 2倍する場合、このように記述してください。

pVal *= 2; // これだとコンパイルエラーになります。
}

呼び出す時は以下のようにします。
int val = 10;
funk3(&val);
宣言は以下になります。
void funk3(int*pVal)
{
}

338 名前:名前は開発中のものです。 [2006/11/19(日) 15:47:52 ID:naTTgqRZ]
>>334
音源の初期化に時間がかかるとかなんとか
俺はMIDIでもmpegvideo(2が使えれば2)使う
こっちなら待ち時間なし

339 名前:名前は開発中のものです。 mailto:sage [2006/11/19(日) 18:08:02 ID:N4xxvn6y]
C++やるならポインタの本一冊持ってた方が
絶対に良いと思うんだけど、後々忘れた時にも役立つし

340 名前:名前は開発中のものです。 [2006/11/19(日) 18:18:34 ID:urBRsIAy]
>>337
ということは、ポインタとして宣言しているにも関わらず、
関数に渡された時点でpVal = &val (正しい入れ物に格納)が行われる。

void funk3(int*pVal) //pVal = &val が行われる

値渡し、参照渡し、ポインタ渡しについてなんとか理解できました。
ありがとうございました。

>>339
ポインタだけで一冊本になってしまうんですか…
やはり奥が深いものなんですね。

341 名前:名前は開発中のものです。 mailto:sage [2006/11/19(日) 18:27:56 ID:2miANHZG]
ポインタ=アドレスを格納する変数。

342 名前:名前は開発中のものです。 mailto:sage [2006/11/20(月) 04:26:34 ID:U++jXOTp]
>>341
理解する前は中々その概念が飲み込めなかったな

343 名前:名前は開発中のものです。 mailto:sage [2006/11/20(月) 06:08:52 ID:ZcLa67Yd]
本見ただけじゃ分からなくて、自作関数とか使うようになってから理解したなぁ

344 名前:名前は開発中のものです。 mailto:sage [2006/11/20(月) 09:19:16 ID:cWAxydvH]
本読んでいる段階で関数定義しなかったほうがおかしい。
よほどの悪書に当たったんだな。

345 名前:名前は開発中のものです。 mailto:sage [2006/11/20(月) 17:17:53 ID:qN/GewWR]
ポインタがアドレスを格納する変数なのはいいが、
+1して次の1バイトを指さないのがムカツクw



346 名前:名前は開発中のものです。 mailto:sage [2006/11/20(月) 17:27:30 ID:1bEPmk5z]
int a[] = {0, 1, 2, 3}:
int *p = a;
printf("%d",*(p + 1));
         ↑これで次の1バイトにされたら
           堪んねぇだろw

347 名前:名前は開発中のものです。 mailto:sage [2006/11/20(月) 19:28:24 ID:AJ2QuceH]
でもアドレスがどこ指すかを単純に四則計算してくれた方が分かりやすいのではなかろうか?

printf("%d", *(p +(sizeof(int) * 1));
手間かな?

348 名前:名前は開発中のものです。 mailto:sage [2006/11/20(月) 19:29:29 ID:AJ2QuceH]
ヤバイ。
;の前に’)’が必要です。
と言われる…

349 名前:名前は開発中のものです。 mailto:sage [2006/11/20(月) 20:01:30 ID:1bEPmk5z]
どうしても次の1バイトが欲しけりゃ
(char *)でキャストすればいいし

350 名前:名前は開発中のものです。 mailto:sage [2006/11/20(月) 20:58:13 ID:7k9bIboP]
ふと鏡を見たとき
僕は おっさんだった
        _____
          |    //|
  ∧_∧  |  ∧_∧ |
 ( ´/д)  | (дヽ` ). |
          |        |


351 名前:名前は開発中のものです。 mailto:sage [2006/11/20(月) 20:58:31 ID:S5Fs/BKE]
void型ポインタのポインタを引数にchar型のポインタのポインタを返す
関数配列へのポインタのポインタ。


352 名前:名前は開発中のものです。 mailto:sage [2006/11/20(月) 21:02:55 ID:7k9bIboP]
ポインタ言いたいだけちゃうん

353 名前:名前は開発中のものです。 mailto:sage [2006/11/24(金) 21:31:29 ID:EhTxhZca]
>>347
")"が一個足りないよ?

354 名前:名前は開発中のものです。 mailto:sage [2006/11/25(土) 04:14:33 ID:4QW1W1ru]
>>353
>>348で書いてる。

355 名前:名前は開発中のものです。 [2006/12/09(土) 22:10:40 ID:OvCcmX7t]
DirectShowを使った既存のプログラム(DMO)を改良したいのですが、
その中で新たにDirectSoundを使う場合、DirectSoundの初期化は
必要無いですよね?



356 名前:名前は開発中のものです。 mailto:sage [2006/12/10(日) 05:10:19 ID:kEK2MzKm]
ないね、だってshow自体が内部でsoundとdrawをオーサリングしてんだから

357 名前:名前は開発中のものです。 [2006/12/11(月) 00:01:44 ID:YOxKuoli]
ゲーム開拓チーム Revino Wiki
wiki.livedoor.jp/revino/d/FrontPage

参加よろ、どうぞこちらへ。

358 名前:名前は開発中のものです。 mailto:sage [2006/12/11(月) 00:03:01 ID:rflZNTCU]
ttp://pc8.2ch.net/test/read.cgi/gamedev/1111242845/411

359 名前:名前は開発中のものです。 mailto:sage [2006/12/11(月) 22:25:54 ID:yrS20+yq]
造ってるプログラム起動すると終了するんでログみてみたんだけど
どうもGetGlyphOutline関数でエラー吐いてるみたいなんだけど
GetGlyphOutline関数が失敗する原因とはどういったものがありますか?
また手っ取り早い改善方法などありましたら教えてください

360 名前:名前は開発中のものです。 mailto:sage [2006/12/11(月) 22:35:51 ID:53CHNDXB]
>>359
GetLastErrorくらいは確認しました?

361 名前:名前は開発中のものです。 mailto:sage [2006/12/11(月) 22:46:06 ID:yrS20+yq]
2545:GetGlyphOutline 関数が失敗しました
ttp://onegland.hp.infoseek.co.jp/wincgi/help/winerror.txt
此処で調べてみましたがひょっとしてプログラム側でやらないといけないのかな…。
エラー出たのは自分の環境じゃないもので

362 名前:名前は開発中のものです。 mailto:sage [2006/12/12(火) 01:06:32 ID:24eCXnSM]
>>359,361
support.microsoft.com/default.aspx?scid=kb%3Bja%3B241358

363 名前:名前は開発中のものです。 [2006/12/13(水) 12:04:59 ID:C9Zkbwpn]
ゲーム中に読み込む画像管理のいい方法はないでしょうか?

今は、enumで、使う画像を列挙して、
ローディング時に全て読み込んでいます。
今のところそれでも大丈夫ですが、
画像が増えてくると困ると思いました。

キャッシュ機構を作って、最初に読んだときに、ロードするとか・・・

皆さんは、どのように管理していますか?
参考になるオープンソースのライブラリなどがありますか?

364 名前:名前は開発中のものです。 mailto:sage [2006/12/13(水) 16:03:34 ID:wx/jv2jM]
今はPCのメモリが増えたからあまり画像読み込みに困ることはないなぁ。
大きいのは実行時にロード。小さいのはリソース化してる。

アドベンチャーゲームはでかい画像を大量に使うかな。

365 名前:名前は開発中のものです。 [2006/12/15(金) 05:50:30 ID:9pBTogWv]
質問したいのですが、RPGのイベント時にキャラを動かすのって、とんな方法がいいと思います?
プログラムは、bcc5.5でテトリスが作れる程度です。




366 名前:名前は開発中のものです。 mailto:sage [2006/12/15(金) 07:10:36 ID:T2csHrT9]
>>365
そのキャラを動かす以外のイベントは実装できている?
例えば、パラメータ変化、効果音を鳴らすとか。

367 名前:365 [2006/12/15(金) 09:16:35 ID:9pBTogWv]
>>366
まだ企画した直後で、仕様考えてます。
プログラムの段階まで進んで無いです。


368 名前:名前は開発中のものです。 mailto:sage [2006/12/15(金) 11:45:51 ID:T2csHrT9]
>>367
キャラの移動自体は、通常のプレイヤーのキー入力による移動や、
NPCのランダム移動とそんなに変わらない。
難しいのは、イベントを読み込む感じを理解することかな。

まずは、マップ生成時、そのマップの全てのイベントを読み込む。
それで、効果音(MessageBeep)などの
簡単なイベントでチェックするのがいいと思う。

369 名前:名前は開発中のものです。 [2006/12/15(金) 13:13:24 ID:tn3TaKhK]
C++ + WinAPIでRPGを作ろうと思うのですが、
主人公のステータス(HP,LV,etc)を扱うのは構造体・クラスのどちらが向いてるのでしょうか

370 名前:名前は開発中のものです。 mailto:sage [2006/12/15(金) 13:32:53 ID:S7YnqDhE]
構造体とクラスに違いはない

371 名前:名前は開発中のものです。 mailto:sage [2006/12/15(金) 13:37:05 ID:XjFFsw1z]
>>365
動かすというか、キャラの移動は状態(状態を保持する「何か」の
中の変数)をいじるだけで、後は「状態に応じてゲームを描画する」
実体を作るのが楽。

この「何か」や「実体」は、クラスから作ったインスタンスでも
グローバル関数でもお好きに。

キャラを動かす「主体」をどうするか、という話なら、スクリプ
ト処理系を実装しておくと、シナリオが作りやすいかもしれない。


372 名前:名前は開発中のものです。 mailto:sage [2006/12/15(金) 14:06:22 ID:9pBTogWv]
レスどうもです。
〉イベントを全て読み込む

歩いてる人もツボも階段も、大小あれどみんなイベント、という事ですか。
やはりツクールに似てますね。参考になりました。

>>371
スクリプタって…何でしたっけ?
後で調べてみます。

373 名前:名前は開発中のものです。 mailto:sage [2006/12/17(日) 11:10:18 ID:V53BBQpT]
俺はスクリプトってーとLua組み込んでるな
ROのホムのお陰で一通り組み方覚えたら、案外使いやすいと思った

374 名前:名前は開発中のものです。 mailto:sage [2006/12/17(日) 13:56:19 ID:SOdz4R2r]
Luaって初めて知った
少し見てみたけど型変換を自動でやってくれるのは怠惰だなぁ

375 名前:名前は開発中のものです。 mailto:sage [2006/12/23(土) 21:22:01 ID:BlkC47LG]
ム板に行ってLuaで検索すると、組み込み系言語について話すスレがあるよ。過疎ってるけど



376 名前:名前は開発中のものです。 mailto:sage [2006/12/27(水) 18:35:13 ID:EcJm4CKc]
ファファファファファ!!!
なんなんやぁーー!ああああぁぁあああ!!??
dwRopのDSnaってなんなんじゃゴルアァーーあああ???
わかるやつこたえてみんかいやぁああ???!!
キィィィいいイーーホッ!!
キィィィィィィーーーーーーホッ!!!!!
キィィィィィィイイイイーーー ホッホッホッ

377 名前:名前は開発中のものです。 mailto:sage [2006/12/30(土) 19:55:37 ID:2QcXanPL]
LoadBitmap()でフルカラービットマップ読み込むとリンク時にエラーになるんだけど
なんで?
256色に減色すると大丈夫なんだけど

378 名前:名前は開発中のものです。 mailto:sage [2007/01/02(火) 03:04:00 ID:4mviEH7C]
>376
dwRopはこのページの下のほう。
wisdom.sakura.ne.jp/system/winapi/win32/win101.html

379 名前:名前は開発中のものです。 mailto:sage [2007/01/02(火) 04:56:49 ID:/23VlhLx]
う〜〜〜〜〜〜ら〜〜〜〜〜〜

758 :枯れた名無しの水平思考:2006/12/31(日) 08:04:26 ID:mcTBBnul0
>>603
dwRopを0x00220326でコピー元反転AND結合できるみたいね
けどDSnaってなんだろ?

あぁああああああ????!!?!!!

380 名前:377 mailto:sage [2007/01/02(火) 05:15:02 ID:/23VlhLx]
エラー時に TMP1.$$$ が作成される
リンカはbrc32

381 名前:名前は開発中のものです。 mailto:sage [2007/01/07(日) 08:45:31 ID:ObcDO31h]
>>377
BMPはバイナリリソースにして、読み込んだ後自分でDIBを作った方が確実。
LoadBitmap()は下手すると読み込み時(HBITMAP作成時)に勝手に減色されるかもしれないしね。


382 名前:名前は開発中のものです。 mailto:sage [2007/01/20(土) 01:20:51 ID:EA8fDBvd]
>>377
LoadImageは?
その前にエラーメッセージをそのまま貼り付けろ。

383 名前:名前は開発中のものです。 mailto:sage [2007/02/05(月) 17:05:45 ID:Rh/AIph+]
VK_RIGHTとVK_DOWNが同時に押されたかどうかってどうやって調べるんですか?
どうやってもどっちか片方のメッセージとして処理されてしまう・・・

384 名前:名前は開発中のものです。 mailto:sage [2007/02/05(月) 17:23:40 ID:Rh/AIph+]
すいません解決しました
押されたかどうか判定する0か1かの変数が
staticになってないだけでした。何回目だ

385 名前:名前は開発中のものです。 [2007/02/05(月) 23:46:30 ID:5PFGTQUL]
static ・・・



386 名前:名前は開発中のものです。 mailto:sage [2007/02/06(火) 02:12:12 ID:6s6qz0s6]
staticねぇ・・・

387 名前:名前は開発中のものです。 mailto:sage [2007/02/06(火) 09:40:32 ID:wPSS8FcE]
あるある・・






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<218KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef