【初心者】スレを立てる前にココで質問を【Part20】
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2009/09/29(火) 07:08:29ID:OO8C9kYOスレッドを立てる前にはローカルルールを読みましょう。
http://pc11.2ch.net/gamedev/
※ >>980 を踏んだ人は次スレ立てをお願いします。
【アップローダ・避難所・Wiki】
ゲーム製作技術板公式Wiki
http://wiki.game-develop.com/
ゲーム製作技術板公式アップローダ
http://gmdev.xrea.jp/
ゲーム製作技術板予備(機能停止中?)
http://yy13.kakiko.com/gamdev/
アップローダー予備
http://gamdev.hp.infoseek.co.jp/
gamdev.orgが落ちるたびにあげてみるスレ
http://pc11.2ch.net/test/read.cgi/gamedev/1107022166/
0348名前は開発中のものです。
2009/11/24(火) 22:48:37ID:CNN1XPTb0349346
2009/11/24(火) 22:48:41ID:O7akk6aZありがとうございます!
m_pD3D.reset( Direct3DCreate9( D3D_SDK_VERSION ) );
でエラーが出なくなりました!
しかし!今度は、上記で得たm_pD3DからIDirect3DDevice9を取得する関数がうまくいきません(涙)
SPtr<IDirect3DDevice9> m_pD3DDev;
m_pD3D->CreateDevice(
D3DADAPTER_DEFAULT,
D3DDEVTYPE_HAL,
hWnd,
D3DCREATE_HARDWARE_VERTEXPROCESSING,
&m_D3DPP, &m_pD3DDev );
生ポインタを取り出せばよいかも、と思って、最後の引数を以下のようにしてみましたが、
&( m_pD3DDev.get() )
「'&' に左辺値がありません。」と怒られてしまいました・・・。
どのように与えればよいのでしょうか??
0350346
2009/11/24(火) 22:53:29ID:O7akk6aZ#define SPtr boost::shared_ptr
0351名前は開発中のものです。
2009/11/24(火) 23:18:32ID:i8576o9O0352346
2009/11/24(火) 23:45:30ID:O7akk6aZありがとうございます!
コンパイルが通るようになりました!
しかし!終了時に以下のようなエラーが出てしまいます・・・ orz
Debug Assertion Failed!
Program: xxx.exe(プログラムのパス)
File: dbgdel.cpp
Line: 52
Expression: _BLOCK_TYPE_IS_VALID( pHead->nBlockUse )
For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts.
どうも、m_pD3D.reset( Direct3DCreate9( D3D_SDK_VERSION ) )がマズいようなんです。
そこの記述以外、コメントアウトして確認しました。
どうも、上記のエラーは多重deleteで起こる例があるようなんですが・・・
DirectX系の変数にshared_ptrはけっこう厄介でしょうか?
素直にSAFE_DELETEマクロで対応しておくか、それともCComPtrにするか・・・
他の方はどうされているか、気になります。
0353名前は開発中のものです。
2009/11/24(火) 23:58:20ID:i8576o9O0354名前は開発中のものです。
2009/11/24(火) 23:59:01ID:i8576o9O0355名前は開発中のものです。
2009/11/25(水) 00:18:03ID:FbKntm27com_ptr_t使うでしょ
地味な嫌がらせすんなよ
0356346
2009/11/25(水) 00:45:40ID:b8pKhHr5教えてくださってありがとうございます!
>>355
boost::intrusive_ptrやcom_ptr_tなんてものがあったんですね!
教えてくださってありがとうございます!
0357346
2009/11/25(水) 19:33:56ID:b8pKhHr5今日、早速、_com_ptr_tを導入してみたのですが、疑問があります。
_com_ptr_t<_com_IIID<IDirect3D9, &IID_IDirect3D9 >> m_pD3D;
で、実際にDirect3D9オブジェクトを取得するとき、
m_pD3D = Direct3DCreate9( D3D_SDK_VERSION );
でも、エラーやメモリリークの警告なく動きましたが、以下のようにAttachメソッドを使って、
m_pD3D.Attach( Direct3DCreate9( D3D_SDK_VERSION ) );
としても同様でした。
これってどちらでも同じということですか??
だとすると、Attachの存在意義というのは何なんでしょう??
0358名前は開発中のものです。
2009/11/25(水) 23:52:09ID:txSAQlU4何をどう質問したらいいかもわかりません
だから
ttp://homepage2.nifty.com/natupaji/DxLib/program/ActionSample.cpp
オブジェクト指向でこれと同じものを作ってソースください
お願いします
0359名前は開発中のものです。
2009/11/26(木) 00:22:24ID:FX3L1wrJ0360名前は開発中のものです。
2009/11/26(木) 01:14:35ID:O1ccXkKBプレイヤーキャラとして、32x32のドット絵があるんだけど、これを2倍に拡大して、64x64として表示させてるんだ。
本当は64x64のドット絵を用意できればいいんだけど、自分の技術力が追い付かないので苦肉の策。
さて、この時、プレイヤーキャラ以外の部分、
例えばマップチップなんかも同じように2倍表示させないと違和感が残っちゃうかな?
0361名前は開発中のものです。
2009/11/26(木) 01:24:38ID:PfXzni20往年の過疎板に人が増えてるのかな
0362名前は開発中のものです。
2009/11/26(木) 01:48:29ID:ZnyqECYM> 往年の過疎板
ttp://dictionary.goo.ne.jp/srch/all/%25B1%25FD%25C7%25AF/m0e/
0363名前は開発中のものです。
2009/11/26(木) 01:55:19ID:ZnyqECYM>>360
全部二倍にするって事?
もちろんそんな事する奴いないから経験談に基づく回答は期待できないと思うよ。
で想像するにマップチップを二倍にしようがしまいが、どっちもどっち。
キャラだけ2倍ならすぐばれる。
全部2倍ならしばらくはばれないが、違和感を感じさせるだろうね。
でもゆくゆくはちゃんとした64x64でキャラを用意するなら、
下手にマップチップ2倍にしないほうが良いと思うよ。
じゃないとマップチップを元の倍率に戻すときに、全部敷きなおすハメになる。
0364名前は開発中のものです。
2009/11/26(木) 02:08:55ID:3yAXikhn0365名前は開発中のものです。
2009/11/26(木) 06:29:41ID:5GTdN3Md0366名前は開発中のものです。
2009/11/26(木) 15:10:44ID:O1ccXkKBとりあえず、バレるとかバレないとかは問題じゃないです。
そういう意味での違和感という意味でもなかったつもりです。
レトロ感を出すために、わざとドットを荒くしてるゲームは見かけるのですが
僕が考えていた方法とは全く違う手法で実現されているということですね。
ありがとうございました。
0367名前は開発中のものです。
2009/11/26(木) 21:02:58ID:X3yV1HjG> そういう意味での違和感という意味でもなかったつもりです。
だったら質問の仕方がおかしい。質問スレに来る以前の問題だ。
0368名前は開発中のものです。
2009/11/26(木) 21:09:03ID:gOvUHsCw演出とか、あとはボスキャラなんかだと拡大表示してるのは見たことある
0369名前は開発中のものです。
2009/11/26(木) 21:19:26ID:PfXzni204倍くらいに拡大して表示するとする。それがレトロっぽいかというとそうは思えないだろうね
つまり解像度の違うものを一緒に表示することそのものはレトロぽさの表現方法にはなりえないんじゃないか?
レトロゲーム=レトロなハードで動くものだから、低解像度、少色数、PSG・FM音源など、を感じさせれば
レトロな雰囲気にはなるとは思うが
0370名前は開発中のものです。
2009/11/26(木) 21:59:47ID:r4OxX25G考えうる二つの手法は
1. 一定ドット以内なら段差を上れるように+細長い床を沢山置く
2. 「床パーツ」を作り、独自の動作をさせる
とかなんだけど、何か他にいい方法あるかしら
0371名前は開発中のものです。
2009/11/26(木) 22:12:39ID:3yAXikhn0372名前は開発中のものです。
2009/11/27(金) 00:41:34ID:klVWX06Tスーパーマリオ3辺りではどうやって実装してんのやら。
やっぱ、斜めに走らせているのかね?
0373名前は開発中のものです。
2009/11/27(金) 00:55:17ID:klVWX06Tやっぱ、縦と横とで別々に判定するのかね?
0374名前は開発中のものです。
2009/11/27(金) 01:18:37ID:9X6aatWOキャラから下方向へレイを飛ばして地面高さを検出する。
レイの位置で、傾斜具合と段差具合を感知できる
0375名前は開発中のものです。
2009/11/27(金) 01:57:30ID:ciI0pQppマリオやロックマンを参考にデザインするなら2番がいいと思うよ
0376名前は開発中のものです。
2009/11/27(金) 03:25:27ID:K0drbZ3q簡単な計算で済みそうだけど
0377名前は開発中のものです。
2009/11/27(金) 03:53:31ID:ZMw5vuW4/ ̄ ̄
人→ /
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
横キーを押したまま
→人
人/ ̄ ̄ ̄
人→ /
 ̄ ̄ ̄ ̄ ̄ ̄
坂を登らなきゃならないのよね。
0378名前は開発中のものです。
2009/11/27(金) 04:23:39ID:K0drbZ3q/| | ̄ ̄
/ | |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄| | | |
1 | |2 | | 3
の3つのパートに分けて考えるかな
キャラの右端が1→2のパートに掛ったら
キャラの位置の地面のY軸計算したりしてやったりしたらいいんじゃないの
0379名前は開発中のものです。
2009/11/27(金) 04:53:37ID:Ce0qb9f7逆に3→2で左に向かうなら移動速度上げる
Y軸は2上にいるときはX軸から常に計算する
あとは2上でジャンプしたときのことも考えないといけないし、色々めんどくさいよな
0380名前は開発中のものです。
2009/11/27(金) 05:11:27ID:K0drbZ3q─÷/分掛ければいいだろうね
この45度の場合は1/√2を
別の角度の時も同様にして
0381名前は開発中のものです。
2009/11/27(金) 08:44:13ID:oVvXQuEWoperator=()はAddRef()を実行する。
Attach()は実行しない。
>m_pD3D = Direct3DCreate9( D3D_SDK_VERSION );
これだと、Direct3DCreate9()から返った時点で参照カウント=1、
m_pD3Dに代入した時点で+1、つまりリークしている可能性がある。
>m_pD3D.Attach( Direct3DCreate9( D3D_SDK_VERSION ) );
これは、Attach()後、参照カウント=1で正しい値だ。
Attach()は既に生成されているCOMポインタを、
スマートポインタに入れる際用いる。
0382名前は開発中のものです。
2009/11/27(金) 09:59:45ID:YTfLn1jQ0383名前は開発中のものです。
2009/11/27(金) 11:31:43ID:B55jAkdN細長いブロック重ねると汎用性はあるけどそれに対処できないっぽいし
斜めブロック作るのが一番いいっぽいか…
0384名前は開発中のものです。
2009/11/27(金) 12:37:21ID:K0drbZ3q0385名前は開発中のものです。
2009/11/27(金) 17:06:09ID:kH+0vKoL0386名前は開発中のものです。
2009/11/27(金) 19:05:57ID:mZhrlxRy3Dゲームで4分木(平面)を使うか8分木(立体)を使うか、どっちが効率が良いか悩んでいます。
みなさんはどういう判断基準で使い分けてらっしゃるのでしょうか?
0387346
2009/11/27(金) 19:22:34ID:e6wpKS0bなるほど!そういうことだったんですね!
すごく勉強になりました!
早速修正してきますw
ありがとうございました!!
0388名前は開発中のものです。
2009/11/27(金) 19:59:55ID:8DiO8Iwyステータス管理の構造体に
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
unsigned char
・
・
・
アホである。体力のように、数値が問題になるやつは最低限確保しないといけないが
ステータス異常は10個以上あってもshort int1つだけでよいというのに!
0389名前は開発中のものです。
2009/11/27(金) 20:06:30ID:h8Solbwrで、質問は?
0390名前は開発中のものです。
2009/11/27(金) 20:16:35ID:8qehWSslステータス異常が抵抗値や時間によって直るようなゲームならいいんじゃないか?
0391名前は開発中のものです。
2009/11/27(金) 20:30:52ID:ZMw5vuW40392名前は開発中のものです。
2009/11/27(金) 21:11:47ID:oVvXQuEW4分木と8分木ではメモリの喰い方がアホほど違う。
4分木で十分ならそっちを使うべきだろうな。
たとえ3Dであっても、キャラクタが地表を這いずり回るだけの
ゲームシステムなら、高さ方向の分割は殆ど意味がない。
だったら、このゲームには4分木で十分ということになる。
0393名前は開発中のものです。
2009/11/27(金) 21:46:42ID:kH+0vKoLBとか赤黒とかで全部やっちゃうのかと思ってたよ
0394名前は開発中のものです。
2009/11/27(金) 23:17:42ID:GByxMg7v3DCGはできるが、プログラミングについては全くの初心者。
簡単なものから始めたいのから最初はHSPにしようかと思うのだが、後々C++とDirectXとかに乗り換えれるもんかね?
最初からC++とDirectXのほうがいい?
0395名前は開発中のものです。
2009/11/27(金) 23:26:36ID:K0drbZ3qC++は難しいと思うがなあ
やるんならCから始めた方が良くないか、+DXLib
0396名前は開発中のものです。
2009/11/27(金) 23:30:49ID:GByxMg7vC++じゃなくても良いのか。
とりあえずCとDirectXで2Dシューティングができるまでがんばってみる。
0397名前は開発中のものです。
2009/11/28(土) 00:00:58ID:b1OkGnWMCで難しいと感じたらBASICで始めるのも方法だよ
少し出来るようになれば、どの言語でも出来るようになる。
プログラムが少しでも書けるまでが最初の壁
ゲームアプリを作れるまでが次の壁
新しいゲームのアイディアを出すのが壁
超えるべき壁がいくつもあるけれどもがんばりなさい。
0398358
2009/11/28(土) 00:03:44ID:z8tWkRBO少なくともわてのような初心者のやることやないで
0399名前は開発中のものです。
2009/11/28(土) 00:05:53ID:QR+JPnNNそもそもコンセプトが違っていて、DirectXは
「マシン依存を最小限にして、描画や入力等をする」
ためだけのものと思ったほうがいい。
そのためきめ細かい使い方ができる分、手順が煩雑だ。
HSPは使ったこと無いけど、
細かい考えないで済むようにするもの。だよ、きっとw
というわけで、
言語に拘らないなら「HSP TPS」や「HSP TPS」でぐぐれ。
0400名前は開発中のものです。
2009/11/28(土) 00:43:42ID:QR+JPnNN「HSP TPS」や「HSP FPS」だな。どう考えてもorz
0401386
2009/11/28(土) 05:35:37ID:XgZJpSwbなる程。高さが被る事もそう多くはないので、4分木で分割数を増やす方が効率的なのですね。
ご助言感謝! >>393 も情報が参考になりました。感謝っ
0402名前は開発中のものです。
2009/11/28(土) 14:25:19ID:w9vdp9I4最初からC++とDirectX使ってもいいけど、
その場合はDiectXをそのまま叩くんじゃなくてseleneみたいなラッパーを使うと
幸せになれる場合もある。
0403名前は開発中のものです。
2009/11/28(土) 20:14:51ID:/TG0tfuk0404名前は開発中のものです。
2009/11/28(土) 21:51:13ID:RSQKd3RZウェイト
ウェイトやカウンタを、「加算で」やるやつ
アホである。ウェイトとは、あるタスクを待たせることだが
そこで加算してどうするというのか。その加算した値が規定数になるまで待つというのか。
加算するのは何がやるのか。CPUである。
待ってる間にCPUを使うのか。
その間他のタスクが動けない
ではないか。
まさしく真性である。
0405名前は開発中のものです。
2009/11/28(土) 22:58:07ID:rcUExsx30406名前は開発中のものです。
2009/11/29(日) 01:41:40ID:qJTyqa7X0407名前は開発中のものです。
2009/11/29(日) 01:43:03ID:GrR16dKF0408名前は開発中のものです。
2009/11/29(日) 04:26:47ID:joetfkc7空間分割の4分木なら分割の方法から変えないと無理な気がする
0409名前は開発中のものです。
2009/11/29(日) 14:55:06ID:l4cjGc2r例えばステージデータでブロックを沢山置いたりする場合
構造体の配列使うより連結リスト使ったほうがいいの?
0410名前は開発中のものです。
2009/11/29(日) 15:29:25ID:VrqeXLDDその1
並びに意味があるとき。
メッセージキューのようなFIFO(ファーストインファーストアウト、先入れ先出し)など。
データをリストの前に追加、後ろに追加、AとBの間に追加、など追加する時点で
ソート状態が保たれているからソートしなくてもいい。
その2
配列要素を全検索するより、リストに繋がっているものだけ検索すればその分速い。
さらにその1の順序も利用できる。「Z」の付く名前は後ろから検索すれば速いなど。
その3
メモリが連続していなくてもいい。
動的に確保した構造体データをあたかも配列のように扱える。
ステージデータのブロックの例は微妙だ。
配列は計算で簡単に移動先のマスが割り出せるが、リストは検索する必要がある。
四分木などのアルゴリズムで、法則によって簡単に割り出すことも可能だが
初心者には小難しい話になるので省略。
0411名前は開発中のものです。
2009/11/29(日) 16:00:03ID:l4cjGc2r自分の場合だと特に使う必要も無さそうね…
0412名前は開発中のものです。
2009/11/29(日) 17:45:06ID:tzBSBmZkその1のFIFOやLIFOは循環配列でも実現可能だしその方が高速
リストのメリットは、連続データの途中にデータを挿入する場合に処理が高速なことで、連結リストを使えばソート状態が保たれるというのは間違い
追加の度にソート状態を保つ必要があるのであれば、配列も単純連結リストも使用せず、2分木などの木構造を使用する
ただし、木構造は挿入・削除処理にコストがかかるので、場合によっては、データを配列にためるだけためて、1度ソートしてから、2分探索などを使った方がよい場合もある
その2に書かれていることはリストの特性とは関係がない
この場合のメリットは、データが大量にある場合に、リストで行うとメモリの節約ができることぐらいかな?
ステージデータの場合、必要な要素数がおそらく固定で順序も関係ないので配列で行うべき
リストで管理するメリットはおそらくない
4分木を使用するのは、動的なオブジェクトの衝突判定用の空間分割で、マップデータの配置には使用しない
0413名前は開発中のものです。
2009/11/29(日) 23:07:48ID:a1srYgYG俺だったらリスト使うかな
0414名前は開発中のものです。
2009/11/29(日) 23:33:33ID:gjXLMnRr0415名前は開発中のものです。
2009/11/29(日) 23:58:08ID:tzBSBmZk想定しているものが違うんだろうな
想定している前提が違って、リストの使用にメリットがあるなら、リストを当然使用するべきだね
>>410に、「配列は計算で簡単に移動先のマスが割り出せるが、リストは検索する必要がある。」
とあるから、おそらく、マップの一部かそれに準ずるもので、移動したり、出現したり、消滅したりしないものを
想定したんだろうと推測したうえでのレスだったんだが
0416名前は開発中のものです。
2009/11/30(月) 00:30:02ID:Bl3MhMn5マップチップ辺りのことかな
それなら配列かな
0417名前は開発中のものです。
2009/11/30(月) 12:24:08ID:qHeQjtKtティアリングが発生するのはどうにかならないのでしょうか?
もしかして、DirectDrawに戻った方が良いのでしょうか?
0418名前は開発中のものです。
2009/11/30(月) 12:44:07ID:YAmXO68P一つ言っとくと、オブジェクト指向は考え方や設計方針(見たいなもの)。
まずはプログラムを考えるとき、
プログラムは上から下に進むけどここはサブルーチン、見たいな考え方を止めて
こんな機能(部品、データ型)組みたてるか、全体構成は後で考えてとりあえず部品作ろう、
見たいな考え方が出来るようになればなんとなくわかると思う。
文法的には
継承だけでなく、委譲や集約の設計的な意味を感じるようになってからじゃないとしっくりこないだろう。
最初はインタフェース(抽象メンバのみのクラス)のみ許容して、それ以外の継承は禁止するぐらいの勢いがちょうどいいと思う。
0419名前は開発中のものです。
2009/11/30(月) 12:58:11ID:YAmXO68PDirect3Dは、デバイスを基準に色々描画などを管理する。
何も余計なことは考えずに、デバイスを初期化する際のD3DPRESENT_PARAMETERS(プレゼントパラメータ、つまり描画や更新の為のパラメータ)
こいつのプレゼントインターバルにONEかDEFAULTを設定する。
あとは初期化が終わったあと、普通にClear、BeginScene、描画、EndScene、Presentの順番でやる。だめならPC環境的に無理。
0420名前は開発中のものです。
2009/11/30(月) 13:20:18ID:qHeQjtKtプレゼントパラメータを変更した所、ティアリングが発生しなくなりました。
ありがとうございます。
0421名前は開発中のものです。
2009/12/03(木) 10:03:51ID:WEE9tyJ6Visual C++ 2008 Express Edition を使っていますが
デバッグするとき行数がすぐにわからず上から数えていますがやりにくくてしょうがありません
プログラムの行数をモニター上に表示させることはできませんか?
Vista 英語版を使っています
0422名前は開発中のものです。
2009/12/03(木) 10:07:33ID:WEE9tyJ6ツール→オプション→C/C++→全般→行番号にチェック
0423名前は開発中のものです。
2009/12/03(木) 10:07:41ID:TKn3WdhD0424名前は開発中のものです。
2009/12/03(木) 10:20:29ID:SdnKCKfBそれはいいけどVisualStudioならエラー表示のところダブルクリックしたら
当該エラー箇所に飛ぶでしょ。
0425名前は開発中のものです。
2009/12/03(木) 12:03:36ID:WEE9tyJ6>>424
知らないことばかりでした
ありがとうございます
0426名前は開発中のものです。
2009/12/03(木) 18:54:01ID:vsrlGRc8がんばれよ
0427名前は開発中のものです。
2009/12/03(木) 23:02:09ID:xRa1x6Gbデバッグ時に標準出力に文字列を吐くと、警告・エラーと同じ窓に出力されるから、
「ソースファイル名+行番号」を同じフォーマットで出力するようにすると、
自前でクリックするとジャンプできるメッセージを出力できたりする。
例外を拾って、その例外をもとに問題のある行に飛びたいときに有効なテクニック。
が、中級技なので無理して習得する必要はない。
0428名前は開発中のものです。
2009/12/03(木) 23:04:54ID:rzqYr7Hw0429名前は開発中のものです。
2009/12/05(土) 14:53:03ID:spfMlpLB0430名前は開発中のものです。
2009/12/06(日) 22:21:34ID:4OL1eSZ5また、現在は総当りで当たり判定を行っているのですが、
判定を行う数を減らすにはどうすればいいでしょうか?
0431名前は開発中のものです。
2009/12/07(月) 01:52:29ID:C+HhHCB7四角形ABCDに対して直線、ABとCDの間、BCとDAの間に入るかを
調べる。つまり、角が相手の四角形の中にあるかを調べる。
AB、CDの方程式 aX+bY+c=0、dX+eY+g=0 を求める。(ABCDが正方形・長方形を
含む平行四辺形ならa=d, b=eが成り立ち、別個に求める手間が省ける)
EFGHのX,Y座標を代入して
aX+bY+c<0
dX+eY+g>0
が成り立つかどうかをチェックする。(不等号の向きは式の導出方法によるので
注意)同様にBC,DAの方程式を求め、一つでも全ての不等式が成り立つ角が
ある場合、その四角形は接触している。
次に四角形EFGH内にABCDの角が入っているかをチェックする。
>判定を行う数を減らすには
四角形の回転の中心同士の距離を計り、接触する可能性がない物は上記の
計算をしなければ良い。ピタゴラスの定理を使う。
(A.x-B.x)²+(A.y-B.y)²=r² rは距離
0432名前は開発中のものです。
2009/12/07(月) 02:16:09ID:C+HhHCB7調べる四角形DEFGの各頂点を座標変換して例えばOを原点とする
座標系に変換すればX座標がO〜Cの間でY座標がO〜Aの間にあるか
を調べた方が早いかな?
0433名前は開発中のものです。
2009/12/07(月) 04:46:57ID:kYXVJj3C例えばKOFやギルティギアといった2D格ゲーを作る場合、win32APIだけで作るのは可能なのでしょうか?
それともDirectXを使わなけば不可能なんですかね?
質問の内容がチャランポランだったらすんません。
0434名前は開発中のものです。
2009/12/07(月) 11:17:35ID:g6kf5aJV世界の天才たちを集めて1年で作ることが可能か?という質問ならおそらくYES。
0435名前は開発中のものです。
2009/12/07(月) 22:09:19ID:QpjUeoAw一度やってみると分かると思うけど、
物理的には可能かもしれないけど、半透明処理とか
ジョイパッドの入力とかもすべて自分で作らないといけない。
GDI+使う場合でも色々問題あるみたいだし。
けっきょく車輪の再発明なので、学習でなくゲーム作るという
目的で言えばその労力がほぼ無駄というか。
「win32APIで作ったの?すごいね」という評価を得るための
挑戦でなければやめたほうがいいんじゃないかな。
だって同じ手間と時間かけるなら、DirectX使った方が
情報も多くて楽だし、ゲーム自体の内容を良くすること自体に
時間をかけられるよ。
0436名前は開発中のものです。
2009/12/07(月) 22:12:33ID:SO1qAy1Q先生、自分も同じ過ちを犯したので、上手くいかなかったの覚えてます。
>>430
矩形を想定した場合、まるぺけつくろーにいけば、そのやり方が載ってる。
矩形A、Bがあったとして、例えばAを基準(角度0)にするとする。
矩形Bのx軸方向、y軸方向への射影を求めて、それが矩形Aのx、yと重なるか判定する。
同様の手順をBを基準にして行う。
0437名前は開発中のものです。
2009/12/07(月) 23:50:23ID:VpU72/Qx>>431じゃないが、このやり方でも行けそうな気がするけどな
上手くいかない理由を書いてもらえると助かる
次に書いてる矩形の場合のやり方は>>432のとは違うのか?
0439名前は開発中のものです。
2009/12/08(火) 00:37:43ID:44+rDo7Eんにゃ、たとえばお互い細長い矩形で交差してると怪しいぜ。
頂点入ってないは中点すら入ってないわでどうしようもない時がある。
0440名前は開発中のものです。
2009/12/08(火) 00:52:30ID:b1d3Symyおお、確かにその通りだね
矩形でない場合は線分の交差でやるしかないか
0441名前は開発中のものです。
2009/12/08(火) 00:53:19ID:b1d3Symy0442名前は開発中のものです。
2009/12/08(火) 08:27:10ID:W2OM8vHw0443名前は開発中のものです。
2009/12/08(火) 10:02:11ID:9FzIL781そういえば、製作メンバー募集スレって落ちたまま?
0444名前は開発中のものです。
2009/12/08(火) 21:32:32ID:+rY45+lpG.fillRect
と
offG.fillRectの違いはなんでしょうか?
ググっても分かりませんでした。
それとJAVAの1人用テトリス系のゲームを2人対戦用に改造するには、
2P用の制御関数を用意して同じrunメソッドで同時に動かすのがいいんですかね?
0445名前は開発中のものです。
2009/12/08(火) 21:43:58ID:LlaUMUiMGとoffGというのは一般的なクラスの名前ではありません。
改造方法に関しても貴方がみているプログラムが何なのか誰も知らないので、
プログラムのソースを提示しない限り、誰も貴方の質問に正確に答えることはできません。
0446名前は開発中のものです。
2009/12/08(火) 21:54:59ID:+rY45+lp>GとoffGというのは一般的なクラスの名前ではありません。
すいません、ちょっと意味がわからないです。
>改造方法に関しても貴方がみているプログラムが何なのか誰も知らないので、
http://www.wacharo.net/Tetris/Tetris11.jsp
これを参考にして作ったのでこれに似ています。(構造はほぼ同じ)
ブロックを動かせる枠がoffGで書かれています。
他にはthisという変数(?)の役割を自分でも意味分からずに使ってます。
変数marginで余白の大きさを指定していますがそれがどうなってるかも分かっていません。
JAVAの知識はあまりないのですが勉強しながらやっている感じです。
margin変数を必要としなければoffGのかわりにGを使って書けるのではないかと予想しています。
分かる範囲で解答頂ければ嬉しいです。
0447名前は開発中のものです。
2009/12/08(火) 22:13:55ID:8/P9zv/wいきなり細長い四角形同士が交差する場合も考えたが、
そこにいくまでに引っかかるんじゃないかと思って放って
おきました。
質問者の状態がわからないのでどうにも…
■ このスレッドは過去ログ倉庫に格納されています