トップページgamedev
1001コメント307KB

【初心者歓迎】スレを立てる前にココで質問を【その3】

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。02/09/24 05:55ID:???
「ふと疑問に思った事があったらスレを立てずにまずはここで質問
してみましょう。あなたの長年の悩みがたった一つのレスで解決して
しまうこともあります。回答があるまでに数日間かかることもあるので
辛抱強く待ちましょう。 」

◇前スレ
【Part2】
http://game.2ch.net/test/read.cgi/gamedev/1013645518/
◇旧スレ
【Part1】
http://game.2ch.net/test/read.cgi/gamedev/1005038203/

関連スレ・その他
>>2-5
0270名前は開発中のものです。02/10/22 17:37ID:???
>>268
DirectDrawSampleのFullScreenDialogと同じ方法で回避汁
でも自作しべき
027126802/10/22 17:41ID:???
>>269-270
レスありがとうございます。

>フルスクリーンで見えなくなって
イヤン(´・ω・`)

>DirectDrawSampleのFullScreenDialog
これならできそうですね。でも…やっぱり格好悪いか…。

がんばって自作します。
お騒がせしました。
0272名前は開発中のものです。02/10/22 17:43ID:???
>>270
DirectX8のDirectXGraphicsにはクリッパーが無いから同じ方法では回避できない
秋なのになんでこういう知ったかがわいて出てくるのか
0273名前は開発中のものです。02/10/22 17:48ID:???
>>268
ttp://mofon.pns.to/programming/dotNet/0000/0005.html
0274名前は開発中のものです。02/10/22 17:49ID:???
秋は夏に比べて少数精鋭なんだよ。
0275名前は開発中のものです。02/10/22 18:18ID:???
>>273
そこのソースの「Feald」がとても気になる
0276名前は開発中のものです。02/10/23 05:55ID:???
おまいらがゲームを始めて作ったいつですか。
マニュアルとか本に載ってるのでも可。出来ればそのときの感想もキボン
0277名前は開発中のものです。02/10/23 06:09ID:???
むしろ276に興味が沸いてくるんだが。
今なにやってんだ。
0278名前は開発中のものです。02/10/23 06:18ID:???
>>277
ねっころがって2ちゃんパラダイスしてる
027927702/10/23 06:27ID:???
いいなぁ・・・。
俺はあと10分で登校だよ眠たいよ代わってくれ。
じゃないや、ゲーム作ったりし始めたのは1年前。
基本的に高校の文化祭用。今年は3DのFPS作ったけど
成績のほうが赤点2つでマジ脂肪。以上。いってきます
0280名前は開発中のものです。02/10/23 23:55ID:???
 
  はい次の質問どうぞ↓
 
0281名前は開発中のものです。02/10/24 00:01ID:???
>276
ここ見てごらんよ
かつてマイコン少年だった人達の思い出話になりやすい罠
http://game.2ch.net/test/read.cgi/gamedev/1006709626/
http://game.2ch.net/test/read.cgi/gamedev/1025896258/

俺はMacでしょっぼーいミニゲーム作ったっけな。
爆弾出しまくって、こんな事なら地道にHyperCardとかから
スタートすれば良かったと後悔した。
0282名前は開発中のものです。02/10/24 03:15ID:???
初心者なんです。教えてください。
Widowsの描画の更新って一般的にはどのようにやるんでしょうか?
非DirectXです。
自分の場合、一画面をメモリDCに描画した後、WM_PAINTで転送って感じで
更新してるんですが考え方はあってますか?
ちょっとしたミニゲ-ムの描画量だとウインドウのDCに直に描画した方が速度は
出せると思うんだけどスマ-トじゃないし。
0283名前は開発中のものです。02/10/24 04:40ID:???
>>282
■GDIでゲームを作るときのもっとも簡単な仕組み

画面が滑らかにアニメーションする必要があるもの
(例えばアクションゲームやシューティングゲームなど)は
おおむね以下のような流れでも簡単に実現する。
----------------------------------------------------- 
  ウィンドウ作成
  DIB作成  ( CreateDIBSection( ) など )
  必要があればリフレッシュレート取得  
  
  ゲームループ
  {
    メッセージポンプ       ( PeekMessage( )、Getmessage( ) など )
    アプリケーションの処理   (DIBへの描画など )
    待ち               (sleep( )、timeGetTime( ) など )
    DIB→ウィンドウ 矩形転送 ( BitBlt( ) など )
  }
  
  DIB破棄
  ウィンドウ破棄
  
  終了
----------------------------------------------------- 
028428302/10/24 04:44ID:???
ループの周期についてはいろんな流派がある。いや、あった。(A宗、B宗など)
徹底的に滑らかなスクロールを要求する2Dゲームの場合は
モニタのリフレッシュレートを取得(もしくは計測)して、これと
同期を取る必要があるわけだが、GDIだと・・・。
 
なお、DirectXには
手間をかけずにモニタのリフレッシュレートと同期をとる方法
が用意されている。
0285名前は開発中のものです。02/10/24 04:50ID:???
>    待ち               (sleep( )、timeGetTime( ) など )
>    DIB→ウィンドウ 矩形転送 ( BitBlt( ) など )

ちょっと気になったけど…。
ループ内のこの2つは順番を逆にしない?

理由は、

1 - 何か操作があったら画面更新を早めに行った方が気持ちがいい。
2 - 人間の視覚特性として、視覚に関しては時間のずれが気になりにくい。
3 - VSYNCを待つタイプのプログラムに対しても同じ発想の雛形が使えて便利。
4 - ゲームプログラミングは一般に画像転送周りが重くなりがちだけど、
   並列化してウエイト中に裏で画像転送を行えば「おもし」にならないで済む。
028628302/10/24 04:54ID:???
× メッセージポンプ
○ メッセージ処理
 
便宜上ウィンドウプロシージャは書かなかったが
実際には要るんで、誤解のないやうに。
028728302/10/24 05:01ID:???
>>285
うん、逆だったね。ご指摘アリガトン
0288みらくる三重県02/10/24 05:54ID:???

VCを買ったらMSDNがついていました。
DirectX SDK8.0の日本語ヘルプをダウンロードしました。
この日本語ヘルプをMSDNに組み込むような事は可能ですか?

VCでコーディング中に
Win32 APIの情報と、DirectX APIの情報とを、
どちらもF1キーで参照したいです。
028928302/10/24 06:11ID:???
http://www.biwa.ne.jp/~banba/alter-msdn/howtomake/index.htm
0290みらくる三重県02/10/24 06:58ID:???
>289
完成しました!ありがとうございました!
めっちゃ快適です。幸福度急上昇です。
0291名前は開発中のものです。02/10/24 07:49ID:???
オオ 俺も知りたかったんだーよ
ありがd
0292名前は開発中のものです。02/10/24 08:48ID:???
DirectX8の日本語ヘルプなら何もしないでも最初から入っていたが、
わざわざ古いバージョンを買ったのか?
0293名前は開発中のものです。02/10/24 08:56ID:???
.netなら付いてるな。
0294名前は開発中のものです。02/10/24 19:39ID:OYxRWu3f
ゲーム製作仲間を募集中で、絵師を募集したいのですが、
みなさんはどこで探しましたか?

後方支援とか、トキワ荘とかでさんざん探したのですが、
募集しても誰もきません。

何かコツっているのでしょうか。
0295名前は開発中のものです。02/10/24 19:47ID:???
ある程度モノを作って口だけじゃないことを示せば
ついてくる人もいるんじゃないかな。
0296名前は開発中のものです。02/10/24 20:03ID:dxTSfR4S
>>294
同人ゲームサークルここだけはやめとけ! 【21】
http://natto.2ch.net/test/read.cgi/2chbook/1033740100/

このスレでも見て、自分の募集の問題点を洗い出すよろし。
(そもそも募集をかけること自体が問題という見方もあるが……)
0297名前は開発中のものです。02/10/24 20:12ID:???
「今からつくります」じゃ誰もこない。
企画が厨すぎても誰もこない。
0298名前は開発中のものです。02/10/24 21:37ID:???
>>294
「募集」を「さんざん探した」とは言わない。

よく知らんけど後方支援は登録者に直接メールを送ることができるシステムだろ?
よさげな人に丁寧にメール送って協力してもらえ。
0299名前は開発中のものです。02/10/24 22:38ID:???
>>295-297
正解。

>>298
 
  い い 加 減 な 事 を 書 く な
0300名前は開発中のものです。02/10/24 22:53ID:???
作っているジャンルがわからないけど、>>294がシナリオ書きます
なので絵描き募集という募集方法なら誰も来ないと思う。

プレゼンできるぐらいまで作ってからならまだ可能性はあるけど、
>>296のスレを見ればわかる通り募集という手段は既に終わってしまった手段なので
直接探す方がいいと思う。

0301名前は開発中のものです。02/10/25 00:52ID:???
つうか、見返り無しで協力して貰うのは難しいだろう。
ゲーム製作は結構大変だぞ。無賃で重労働してくれる
奴が居ればいいけどな。
0302名前は開発中のものです。02/10/25 01:24ID:???
友達に一人も絵描ける香具師いなかったの?







あ、ごめん 友達なんて一人もいなかったね( ´,_ゝ`)ププッ
0303名前は開発中のものです。02/10/25 02:37ID:???
 
 
       はい、次の質問どうぞ↓
 
 
0304名前は開発中のものです。02/10/25 13:02ID:???
>294
「無報酬で、音信不通にならない方、最後までやってくれる方」
こんなんじゃ、まともなのがくるわけなし。
スキルの高い人間を捕まえたいなそれ相応の金を出せ!
金を出すリスクを背負えないなら
ゲーム製作なんてやめておけ!
0305名前は開発中のものです。02/10/25 14:52ID:eyuLBGZx
皆さんはいつ頃からどうやってゲーム作成術を学びましたか?
0306名前は開発中のものです。02/10/25 15:05ID:???
質問スレでインタビューはやめとけ
せめて雑談スレでやれ
0307名前は開発中のものです。02/10/25 15:10ID:???
>>305
逆に問いたいのですが、そんなことを聞いてどうするんですか?
0308名前は開発中のものです。02/10/25 17:09ID:???
ブロック崩しのソースAGEていただけませんか?
0309名前は開発中のものです。02/10/25 17:11ID:???
>>308
それくらい自分で作れ

 
 
       はい、次の質問どうぞ↓
0310名前は開発中のものです。02/10/25 18:52ID:???
>>309
おいおい

>>308
軽くぐぐって見ただけだが。
http://www.geocities.co.jp/SiliconValley/2530/vbblock.html
http://www.fureai.or.jp/~takuya/Java/packages/block.html
http://pc.2ch.net/tech/kako/1004/10048/1004855513.html
0311名前は開発中のものです。02/10/25 19:07ID:???
>305
とりあえずゲーム作成術ってのが何を意味しているのかがわからん。

しかし内容から見ると
どうすればゲームを作れるようになるか?
が聞きたいようだが…
0312名前は開発中のものです。02/10/25 19:42ID:???
雑誌のプログラムをひたすら打ちつづけた世代って何才ぐらいまでなんだろうな
0313名前は開発中のものです。02/10/25 21:16ID:kDs2ELqu
C++のプログラムでscanfを使うのは邪道ですか?
0314名前は開発中のものです。02/10/25 21:27ID:???
scanfはただのscanf?
sscanfとかか?
0315名前は開発中のものです。02/10/25 21:47ID:???
sscanfなら分からなくもないけど..
0316名前は開発中のものです。02/10/25 22:43ID:???
邪道とかよりただのscanfってWinで使えるの?
0317名前は開発中のものです。02/10/26 00:00ID:???
使える
0318名前は開発中のものです。02/10/26 00:58ID:???
すいません。具体的にはfscanfです。
0319名前は開発中のものです。02/10/26 02:03ID:???
設定ファイルとかならfscanfもいいんじゃない?
ゲームでは使うとこある?
0320名前は開発中のものです。02/10/26 17:50ID:???
sprintやsscanfはバッファオーバーフローが起きる可能性があるからダメとか言われてるけど、
まぁゲームで使う分には委員でないかとも思う、俺は。
03212ch RPG 統一協会の野望02/10/26 18:06ID:LVzRMAFk
おい、ガキ共。

iアプリでRPG?ゲーム作ってやるからアイデア出せ。

iアプリをDL→アプリ内のフィールドでレベルアップ・アイテム入手・その他色々

成長したキャラをサーバーに送る
(普通のパラメーターの他にレベルに応じてボーナスポイントを割り振る・その他色々)
(又、行動プランも同封、HPが何になったら回復する、魔法?を使ってきたらそれに
 対応する行動をプランする)

クラス?で分類している中でランダムに選んだキャラと対戦
(対戦中はオートで手を出せない)

対戦はサーバ側で行わずDL?して見る
(つまり、相手のパラメーターや行動プランをDL)

結果はサーバーに蓄積?

つまり、アプリ内で成長させパラメーター・アイテム・行動プランを鯖に送信。
鯖はレベルの近いキャラを選んでその相手に要素を送信し、お互いオートで対戦。
戦果はサーバーにランキング。

※サーバーがパンクしない方法を取る
0322名前は開発中のものです。02/10/26 18:23ID:???
正直iアプリなんてどうでもいい
0323名前は開発中のものです。02/10/26 21:33ID:???
>>322禿同
0324名前は開発中のものです。02/10/26 21:49ID:???
そもそも携帯持ってないし
0325名前は開発中のものです。02/10/26 23:21ID:???
スレも違うし
0326名前は開発中のものです。02/10/27 00:57ID:???
>>321
その名前、何なん?
 あんた、馬鹿かなんかか?
0327名前は開発中のものです。02/10/27 04:54ID:???
>>321
正直、狙いすぎの感があるな。真新しいとこなんもないやん。
それが本当にキミが作りたいゲームなのか。
0328名前は開発中のものです。02/10/27 13:47ID:???
 
    はい、次の質問どうぞ↓
 
0329名前は開発中のものです。02/10/27 15:08ID:???
iアプリでRPGやることに意義を感じられない
0330名前は開発中のものです。02/10/27 15:17ID:???
粘着質
0331名前は開発中のものです。02/10/28 00:42ID:???
PC98の頃、ゲーム会社が使っていた主な言語ってなんですか?
0332名前は開発中のものです。02/10/28 00:50ID:???
BASIC、アセンブラ、C
0333名前は開発中のものです。02/10/28 01:00ID:???
因みにPC-8001の頃はBASICかマシン語。
それ以前はマシン語だけ。
033433102/10/28 01:11ID:???
そうですかー、どうも。
pc98のとあるゲームと同じ感じのゲームを作ろうと試みてるんですが
なっかなか上手くいきません。やはりHSPじゃだめか、力量不足か…
まー後者か両方でしょうね(´w`
0335名前は開発中のものです。02/10/28 01:24ID:???
昔だと初心者はまずBASICからはじめて、慣れてきたらマシン語を
覚えて、速度が必要な部分をマシン語、そうでない部分をBASICで組む
スタイルがはやっていた。しかし今は殆どC,C++が主流。
0336名前は開発中のものです。02/10/28 02:16ID:???
>>334
今の時代ならHSP=BASICと置き換えていいと思うので、
単純に力が足りないだけだと思われ。ガンバレ
033733102/10/28 07:30ID:???
ありがとう。諦めずにがんばります!
0338名前は開発中のものです。02/10/28 12:59ID:???
昔はカセットテープにBASICのプログラムを詰めて3800円とか
漏れがハ○ソンにお布施したから今があるんだよ
と懐かしんでみるですと
0339名前は開発中のものです。02/10/28 13:32ID:???
 
0340名前は開発中のものです。02/10/28 21:05ID:???
>334
ウインドウサイズを640*400、パレットモードにして、
グラフィックを16色(パレットのRGB精度を12bitに設定できる
ツールで描くと尚よろし。ALFARとか…)で作る。
BGMはPMDで作ったデータをdll呼び出して演奏させるとか。
文字にはアンチエイリアスをかけない、16*16ピクセル位のサイズで
字体はボールド、プロポーショナルじゃないフォントを使う。

これで、かなり98っぽい雰囲気が出せると思う。
そういう意味の質問じゃなかったらすまそ
0341名前は開発中のものです。02/10/28 21:22ID:???
いまさらそんな低スペックのゲームを作っても意味があるとは思えんのだけどねぇ。
16色パレットなんて作業量が無駄に増えるだけじゃんとか思ったり。
それとも、なんかのゲームのパロディでもやるんだろうか?
034234002/10/28 21:46ID:???
>341
あ、きっと俺の考え過ぎでした。
334氏はプログラミングに行き詰まってるだけみたいだから。

ゲームを作る意味を問うのは野暮だよ。
今風でもそうじゃなくとも、趣味でやってる分には楽しめたり
達成感得られたりすればそれでOKだと思う。
0343名前は開発中のものです。02/10/28 22:41ID:???
やあ、もちろん、作成すること自体の意味を問う気はないよ。
無駄に作業が増えてメリットの少ない低スペックもどきを作るなら今風の方が良いというだけ。
そして、俺も>>340のような意味に取った。
プログラムでPC98っぽいといわれても、余計意味不明なんだけど。
0344名前は開発中のものです。02/10/28 22:42ID:???
マシンスペックがヘボすぎじゃねぇーの?
0345名前は開発中のものです。02/10/28 23:24ID:???
>>334は別にPC98風に拘ってるとは思えん。グラフィックじゃなくて
言語のことを聞いてるし。
034633402/10/29 00:19ID:???
誤解を招いてしまって申し訳ありません。
PC98ってのはたまたまです。PC98でとても好きなゲームがあって
それを真似ようとしているのですが、どうにも上手くいかないので
言語のせいにして逃げてみたり。すいませんでした。
詰まっているのはプログラムのほうです。がんばります
0347名前は開発中のものです。02/10/29 07:51ID:???
アドベンチャーとかでシナリオをファイルからロードして
シナリオの内容を見て絵を出したり字を出すってカンジの
プログラムをVCで作ろうとしております。
これって読みこんだ内容を一文字一文字メモリ参照して、例えば

LOAD BMP data01.bmp

とかだと、

if(data[count]=='L'&&data[count+2]=='O'
&&data[count+4]=='A'&&data[count+6]=='D')・・・略

こんなどえらい長いソースを書かないといけないんでしょーか?
知恵熱が出るほど考えてみたんですけど俺のよーな低脳なサルには
↑のよーな直球な処理しか思い付きません。
どうかこのサルめにヒントを授けてはいただけませんでしょうか。
どうか一つお願いします。どうか。どうか!!
0348名前は開発中のものです。02/10/29 08:06ID:???
>347
標準ライブラリ使うとか、自分で関数化するとかしろ。
0349名前は開発中のものです。02/10/29 08:11ID:???
LOADの後ろのスペースがデリミタみたいなので、ソコまでコピーして文字列比較。

char *cp, cmd[256], wk[256];

// コマンド読み込み
strcpy( cmd, "LOAD BMP data01.bmp" );

// コマンド取り出し
cp = strchr( cmd, ' ' );
memset( wk, 0, sizeof(wk) );
if( cp ){
 // 最初のスペース以前を取り出す
 memcpy( wk, cmd, cp-cmd );
}else{
 // スペースがないので全部取り出す
 strcpy( wk, cmd );
}

// コマンドごとに関数を実行
if( !strcmp( wk, "LOAD" ) ){
 exec_load( cmd );
}else if( !strcmp( wk, "FADEIN" ) ){
 exec_fadein( cmd );
}else{
 // unknow commnd
}
0350名前は開発中のものです。02/10/29 10:35ID:???
マリオ64とかサルゲッチュのような3Dのアクションゲームでちょっと質問です。
穴を飛び越えたり弾を撃ったりというアクションは作れたのですが、
見やすい視点ってどういう距離・角度でしょうね?

ちなみに現在はボタン/キーボードで遠近の切り替えと45°ごとに回転させています。
0351名前は開発中のものです。02/10/29 10:43ID:???
>>347
bool CMD_LOAD(std::vector<std::string>::iterator param)
{
 if (param->size() < 2) return false;
 switch (*param[0].c_str()) {
  case "BMP":
   return loadbmp(*param[1]);
  case "WAV":
   return loadwav(*param[1]);
  :
  :
 }
}
std::map< std:string, boost::function<bool (std::vector<std::string>)> > Cmd;
Cmd["LOAD"] = &CMD_LOAD;
bool EXEC_CMD(const std::string& StateStr)
{
 std::vector<std::string> State;
 boost::char_separator<char> SpaceSep(" ");
 boost::tokenizer< boost::char_separator<char> > StateTemp(StateStr, SpaceSep);
 for (boost::tokenizer< boost::char_separator<char> >::iterator it = StateTemp.begin(); it != StateTemp.end(); ++it) {
  State.push_back(*it);
 }
 return Cmd[State[0]](&State[1]);
}
0352 02/10/29 11:08ID:???
>>350
高校時代に64マリオの超劣化再生産ゲーのようなものを作って
自慰してたことがあったが、本物さんのほうのカメラワークの
爽快な動きは結局真似できんかったよぅ。
 
カメラオブジェクトが障害物に引っかかってガクガクしたり
主人公とカメラの間に壁が挟まってカメラが迷子になったり
なんかトホホな現象にいろいろ出くわした。
 
(1)周囲の障害物を把握しつつ
(2)滑らかな移動経路を算出しつつ
(3)プレイ可能な視野を確保しつつ
あとはなんだ、よく分かんない。
漏れは(1)(2)しかやらんかった。(途中で飽きた)

既存ゲームの目コピーに励んでみるといいかもね。
035335202/10/29 11:22ID:???
主人公とカメラオブジェクトの最適(?)な位置関係(距離・角度)は
主人公の状態(移動速度・回転速度など)に応じて動的に変化させてた。
 
主人公の状態とカメラの状態の関係を表す勾配曲線データを作る要領。
0354名前は開発中のものです。02/10/29 11:26ID:???
>>350
指標としては
・移動方向が見える。
・自分キャラや障害物等が視界の妨げにならない。
・周囲がよく見渡せる
ぐらいか。

まあ、昔のゲームみたいにカメラを大きく引いた視点
が一番判りやすいという話もあるが、それじゃ見た目が
つまらんし。
0355名前は開発中のものです。02/10/29 12:27ID:???
ネットゲーむの作り方を解説してるHPを教えてください。
0356名前は開発中のものです。02/10/29 12:34ID:???
>>352
>カメラオブジェクトが障害物に引っかかってガクガクしたり
 
これはカメラと障害物が当たっただけでガクガクするってことか?
それとも障害物と障害物に挟まったときにガクガクするってことか?
035735602/10/29 12:38ID:???
途中で送信ボタン押しちまった。つーか便乗質問でスマソ。
 
えーっと、物体同士の衝突判定ルーチンの問題なのか
主人公を追尾するカメラの経路決定の問題なのか、という点を
知りたかっただけなんで、もし暇だったら答えてくれると嬉しいなり。
0358名前は開発中のものです。02/10/29 12:48ID:???
>>355
英語になっちまうが、この辺とかどうだ。
http://www.flipcode.com/network/
0359名前は開発中のものです。02/10/29 12:50ID:???
あと
http://www.gamedev.net/reference/list.asp?categoryid=30#198
036035202/10/29 13:04ID:???
>>356-357
後者のほうだね。
当初は、障害物(ポリゴンモデル)とカメラ(球)の当たり判定を
厳格に行なっていた。で、カッチリと挟まる状況が頻発したと。
結局そのときは、固まった状態から抜けるように色々特例を
設けたりして問題は回避できたわけだけど、コードがグチャグチャ
なってね。その辺でだいぶ欝になった記憶アリ。
 
スマートな解決方法は他に色々あると思うよ。よく分からんけど。
036135002/10/29 13:38ID:???
>>352
(1)はできるんだけど、(2)が難しい。
(3)については、ステージマップで障害物や地形の配置を工夫してなんとか見やすくしてるけど…

>>354
>昔のゲームみたいにカメラを大きく引いた視点
>が一番判りやすいという話
実際、遠くから見た視点のほうがわかりやすいですよね。
キャラを後ろから見ている状態で、画面奥に向かってジャンプしても穴の幅を見誤ってあぼ〜ん…とかあるし。

>>357
俺が前につくったルーチンで、「物体とカメラが衝突したらちょっと反発する」という衝突ルーチンがありまふ。
カメラと障害物がわずかにぶつかる程度なら自然ぽくよけたのですが、
カメラがめり込むような状態だとバウンドしまくりで役立たず…。
(カメラ位置を決めるアルゴリズムがアホだったせいもある)
失敗例の参考としてどうぞ。(TДT)
036235002/10/29 13:41ID:???
FF10のカメラの動きはスムーズだったけど、
あれはデータとして持ってるんだよねぇ…?
036335202/10/29 13:45ID:???
>>360の図解(?)
           
          / ̄ ̄~~\
  camera .ノ´        \
        (   object   )
  →○   )          (
      /           )
       ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
             O character
         → ノ[]ヽ
            乂
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 
こゆ状況で最初ハマってた。おかしな話だよね。
0364名前は開発中のものです。02/10/29 13:46ID:7AxQJd++
ギャルズパニック、QIX系の閉じた図形判定処理について質問です。

  --------------------------------
|                         |
|  b aOOOO                |
|  <--OOOO                |
|  |  OOOO      2         |
|  |    | f      |------------|3
|  |    |        |         |
|  ----->        |         |
|  c    d       |         |
-------------------O------------
                 1

1->2->3のようなときの判定とか、
陣地拡張のa->b->c->d->fのときの判定が思いつきません
どのようにすればいいのでしょう?

0365名前は開発中のものです。02/10/29 13:48ID:7AxQJd++
続き

1 O------> 2
|      |
|      |
|      |
4 <------- 3

自分自身が1->2->3->4->1と移動していったときの判定処理は
配列を取って出て行った向きを記憶、LineONとして
再入場のときにLineONで出て行った向きと、再入場してきた向きが
違うならば閉じた図形という判定をしようとおもっています。

シンプルな判定方法を探しています。
良い方法おしえてください。
036635602/10/29 14:22ID:???
>>360,>>362
あー、なるほど。図がすごく分かりやすかった。
俺が作ってるものは、マップがやたら単純なものなので
>>360のようなカメラ泣かせ(w)な状況は幸い無いんだ。
やぱーり複雑な地形だと工夫が要るんだな。納得。
 
>>361
>物体とカメラが衝突したらちょっと反発する
けっこう本格的だな。俺はサボってるから
衝突時の反発係数はゼロというか、衝突後は
滑るように移動する感じ。でも面白そうなので
そっちの方法も試してみようかな。情報アリガd
036735602/10/29 14:27ID:???
スマソ。誤り訂正
 
× >>360,>>362
○ >>360,>>363
036834702/10/29 20:06ID:???
>>349,>>351
そんな簡単な方法があったんすか―――――!!
ありがとうございます、ヒントどころか解答もらっちゃって。
0369名前は開発中のものです。02/10/29 23:51ID:???
>>364
・・・陣地を取ったときに塗り潰すべき領域を求めたいのかな?

QIXでは囲んでいない陣地の外縁は必ず閉じた輪になるから、
まず囲み始めた地点を記録して、次に線が外縁に到達した時点
で、そこを基点にして外縁に沿って距離を測りながら開始点
に到達するまで探索して、到達距離が短い方向のエリアを塗り
潰せばいいと思う。
0370名前は開発中のものです。02/10/30 01:14ID:???
QIXといえばこんな状況でつまったことが…
 .キタ━━━━━━━━┓
┏━━━━━━━━┓┃
┃┏━━━━━━┓┃┃
┃┃┏━━━━┓┃┃┃
┃┃┃┏(゚∀゚;) ┃┃┃┃
┃┃┃┗━━━┛┃┃┃
┃┃┗━━━━━┛┃┃
┃┗━━━━━━━┛┃
┗━━━━━━━━━┛
■ このスレッドは過去ログ倉庫に格納されています