1 名前:デフォルトの名無しさん [05/02/25 05:10:53 ] ※回答する人も、質問する人も必ず読んでください 【 回答してくださる方 】 ・ できるだけ優しく質問に答えてあげてください。 ・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。 「ググれ」以外の回答でおながいします。 ・ 神ですら理解不能な質問は無視して下さい。 【 質問する香具師 】 ・ どんな事で躓いているのか明確にしる。 ・ 長くならないなら躓いている部分のコードを晒してみれ。 ・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書け。
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] あるある・・
388 名前:名前は開発中のものです。 mailto:sage [2007/02/06(火) 10:12:37 ID:2wskf/8k] staticをやめてglobalにしろと先輩達が騒いでおります。
389 名前:名前は開発中のものです。 mailto:sage [2007/02/14(水) 20:27:42 ID:AaBzeLd+] >>380 brc32が糞なのが原因
390 名前:名前は開発中のものです。 mailto:sage [2007/02/19(月) 03:13:59 ID:f1/KAjta] >>388 メンバにするだろ、普通
391 名前:名前は開発中のものです。 [2007/02/23(金) 19:27:30 ID:LBbJMlt/] 質問ですけど、自作関数とかを別々のファイルに書くことで 高速化したりとかの機能面でのメリットはありますか?
392 名前:名前は開発中のものです。 mailto:sage [2007/02/23(金) 21:28:40 ID:uoTYZDzu] 機能面ではないと思う。 あるのは、管理面の方かな。 キャラクターの事ならCharaファイルに書いたり、 敵の事ならEnemyに書いたりすると、 どこに何が書いてあるか分かりやすい。
393 名前:名前は開発中のものです。 mailto:sage [2007/02/23(金) 23:49:11 ID:k7PlxeLm] コンパイルが高速化される可能性がある。
394 名前:名前は開発中のものです。 mailto:sage [2007/02/24(土) 01:04:42 ID:Jvo7UwA2] コンパイル時間の短縮はありえるね。 全部のファイル弄って無ければ。
395 名前:名前は開発中のものです。 mailto:sage [2007/02/24(土) 03:16:20 ID:+XOVeDJZ] 高速化したければすべての関数を一つのファイルに書いて すべての関数宣言にstatic inlineをつけとけ 必ず高速化するとは限らんが 君なら出来る やるんだ
396 名前:名前は開発中のものです。 mailto:sage [2007/02/24(土) 09:06:39 ID:X8u/gQ2k] >>27 SDLならSDL_Delayでもいいよね?
397 名前:名前は開発中のものです。 mailto:sage [2007/02/24(土) 11:27:41 ID:XhTLRTqr] >>395 #include"" で済む事だろう。
398 名前:名前は開発中のものです。 mailto:sage [2007/02/24(土) 21:30:54 ID:+XOVeDJZ] >>396 win32版の実装は中でSleepを呼んでるだけだからそれで問題ない
399 名前:名前は開発中のものです。 mailto:sage [2007/02/25(日) 19:04:15 ID:3Au1nThT] Win32のSleepなら別に引数0でもいいような気がする
400 名前:名前は開発中のものです。 [2007/03/04(日) 20:16:56 ID:aMbooiaq] winmm.libもきちっとリンクしたはずなのに、 ”'timeGetTime': 識別子は、引数依存の照合を使用しても見つかりません。” とかエラーが出ます。 なんかもうギャァァァァスっていう感じです。 誰か助けてください。
401 名前:名前は開発中のものです。 mailto:sage [2007/03/04(日) 20:26:20 ID:RG9J/GKB] include や () のし忘れ
402 名前:名前は開発中のものです。 mailto:sage [2007/03/05(月) 00:02:54 ID:DLYp0p+v] >>400 コンパイルエラーとリンク時のライブラリの指定に何の関連があるのか、 簡潔かつ適切に説明せよ。
403 名前:名前は開発中のものです。 mailto:sage [2007/03/05(月) 00:07:09 ID:+FSfYfXD] >>402 kwsk
404 名前:名前は開発中のものです。 mailto:sage [2007/03/05(月) 14:57:34 ID:L230uADF] >>402 関係ないのなら別にいいんですが、 参考書を読んだらwinmm.libをリンクする必要がありますとあったので、 このあたりの手違いの可能性も考慮したほうがと考えて詳細を載せました。
405 名前:名前は開発中のものです。 mailto:sage [2007/03/05(月) 16:50:03 ID:i4WTBP9p] それ、全然詳細になってないよ。 >>401 と同じことを繰り返すが、 #include <mmsystem.h> はしてるのかね。
406 名前:名前は開発中のものです。 mailto:sage [2007/03/05(月) 17:04:46 ID:L230uADF] できました。 失礼しました。
407 名前:名前は開発中のものです。 mailto:sage [2007/03/05(月) 17:43:51 ID:i4WTBP9p] 良かったね。 しかし日本語のエラーメッセージは困るよな。 まだ英語のほうがマシ。
408 名前:名前は開発中のものです。 [2007/03/05(月) 20:35:28 ID:6J9A+oLF] オセロとかみたいな直方体が敷き詰められたボードゲームは作れるんだが 大戦略みたいな6角形を敷き詰めたようなウォーゲームとか あれってクリックしたときの判定とかどうやってるんだかわかんね データそのものは奇数列か偶数列を0.5ずらしたつもりで2次元配列つかってるんだろうか? くわしく解説してるところね〜かなぁ
409 名前:名前は開発中のものです。 mailto:sage [2007/03/05(月) 20:38:37 ID:4Dixtl7h] 単純に、当たり判定と配列だろうと思われるが。
410 名前:名前は開発中のものです。 mailto:sage [2007/03/05(月) 21:16:19 ID:DLYp0p+v] 直方体と長方形を混同するな。 判定しにくい図形は、判定しやすい図形に分解して考えれば難しくはない。
411 名前:名前は開発中のものです。 mailto:sage [2007/03/05(月) 23:21:40 ID:rVqHvG+2] 横向き六角形を三角形に分割して カーソルの座標がどの三角形に含まれるかを判定し (y座標は三角形の底辺が含まれる直線の組から中間値の定理、 x座標は判明した行の△▽△の重心となる点x座標の組み合わせから中間値の定理) さらにその三角形がどの六角形に含まれるかを判定 (横向き六角形は三角形△▽△と▽△▽を重ねたつくりになってるのでそこから2,3での剰余で判定するのかな) なーんか二度手間
412 名前:名前は開発中のものです。 [2007/03/06(火) 00:08:38 ID:UDCzmsLp] >>411 おーなるほど わかりやすい解説トンスクス。 まーしかしあれだ 馬鹿な漏れは ある点(x、y)が三角形(あべし)に含まれるか計算する方法を知らない
413 名前:名前は開発中のものです。 mailto:sage [2007/03/06(火) 00:40:43 ID:RUPuMX6K] そこはマップ生成する際に重心の座標を生成して配列に保存するなりしちゃってください ヘックスの数が200×200ぐらいなら4バイトの型でも1M程度だから 計算量にしても画像のロード時間のほうが長くなるだろうし
414 名前:名前は開発中のものです。 mailto:sage [2007/03/06(火) 01:00:51 ID:F+pIYJWK] 普通にその場で計算すりゃ済む話を、なんでそんな無駄なことをする必用があるのかさっぱり理解できない。
415 名前:名前は開発中のものです。 mailto:sage [2007/03/06(火) 02:52:20 ID:eSI4nEfA] >>395 よく分からんけどstatic付けたら意味なくね?
416 名前:名前は開発中のものです。 mailto:sage [2007/03/06(火) 07:02:18 ID:w7ouDnZx] >>413 ヒント:正三角形の重心は垂直二等分線の交点
417 名前:名前は開発中のものです。 mailto:sage [2007/03/06(火) 21:25:51 ID:aM0UjHqH] ぶっちゃけ六角形を四角形として判定してもバレないもんだよ
418 名前:名前は開発中のものです。 mailto:sage [2007/03/06(火) 22:22:09 ID:BWy4V40Q] バレないも何も、位相空間として考えれば等価ですがな。
419 名前:名前は開発中のものです。 mailto:sage [2007/03/07(水) 01:14:11 ID:VX47zmN0] 詳しく
420 名前:名前は開発中のものです。 mailto:sage [2007/03/07(水) 22:49:16 ID:hRCFzq0X] 別に戦略ゲーがHex(六角形)である必要って無くね? .□□□□□□□ □□□□□□□ .□□□□□□□ □□□□□□□ .□□□□□□□ □□□□□□□ .□□□□□□□ これでもゲーム性変わんなくね?
421 名前:名前は開発中のものです。 mailto:sage [2007/03/07(水) 23:25:31 ID:XguGhrZe] >>420 変わらないな。