トップページgamedev
253コメント88KB

C言語でアクションゲームが作りたい

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。02/05/03 18:22ID:jHGxuzaQ
0123名前は開発中のものです。04/03/10 19:12ID:VROF09al
>>122
てかこの板さ、過疎のせいで生きてるスレが分かりにく杉
allage進行でもいい位(´_ゝ`)
0124名前は開発中のものです。04/03/10 23:02ID:V51Y5dwK
>>121
タイマ(WM_TIMER)は不安定なので普通ゲームには使わないぞ。
↓ここの1.4.1みたいに処理すべし。
http://www.microsoft.com/japan/msdn/academic/Articles/DirectX/01/

このままだとCPU100%使っちゃうから、elseブロックの中にSleepとかいれて
適当にウェイトを入れる。Sleepに食わせる値でFPS調節なんかもする。
調節の仕方はあちこちのページにかかれているので、検索してみるべし。
012512104/03/10 23:48ID:pC7cF3IR
>>122-124
レスありがとうございます。こんな感じにしたらできました。
void anime() {
static int count = 0; static DWORD fps_keep = 0;
if (GetTickCount() < fps_keep + 300) return;
fps_keep = GetTickCount(); 背景で塗りつぶし;
switch (count) {
case 0: 描画; count = 1; break;
case 1: 描画; count = 0; break;
}
}
CPUも100%にならなくなりました。教えて下さってありがとうございました。
0126デフォルトの名無しさん04/03/11 07:26ID:vbhBEofd
>119
いやまだ望みはあります。
描画関数は一つ(数個)でしょう?
フラグをセットして、セットして有れば画面に書かないで
戻るようにすればいいのです。これならプログラムの100カ所
から描画関数を呼んでても大丈夫だと思うけど。
0127名前は開発中のものです。04/11/14 00:45:18ID:x9zK3qma
まだこのスレを読んでもよくわからんが、将来のためにageとく
0128名前は開発中のものです。04/11/16 18:06:12ID:tsSmGNTS
ねーねー、Cやるのって金かかるの?
0129名前は開発中のものです。04/11/16 20:56:59ID:fcqxyC5l
>128
C言語プログラミングの流れ
 テキストエディタなどでプログラムコードを書く→ソースファイル
 ソースファイルをコンパイラを通してバイナリファイルを作成→オブジェクトファイル
 複数のオブジェクトファイルをリンカで一つの実行可能なファイルにする→実行可能ファイル

ツール
 つまりC言語でプログラムを作るのに必要なツールは
 エディタ、コンパイラ、リンカ
 コンパイラとリンカはほとんどセットになっているので、両方あわせてコンパイラと呼ぶことも多い
 他にもデバッグを支援してくれるデバッガというツールもある
 エディタ、コンパイラ、リンカ、デバッガ、その他の支援ツールを一つにまとめた統合開発環境(IDE)といわれるものもある

コンパイラ
 Windowsアプリケーションを作るとすれば
 無料コンパイラ:Mingw,BCC,Microsoft Visual C++ Toolkit 2003などなど
 有料IDE(コンパイラ込み):VisualC++.NET2003,Borland C++ Builderなど
 LinuxやFreeBSDなどのUNIX系ならコンパイラは迷うことなくGCC
0130名前は開発中のものです。04/11/16 20:57:26ID:fcqxyC5l
以下Windows前提

無料コンパイラについて
 無料コンパイラは基本的にコマンドラインからの使用が前提なので最低限のDOSコマンドは使える必要があるが
 フリーのGUIツールがある場合もある
 ほかにもmakefileというコンパイルの手順を記述するファイルの記述方法を覚える必要のものもある
 C言語の学習以前に覚えなければいけないものが結構多いので、そんな苦労は最小限にしたい香具師はやめとけ

VisualC++.NET2003
 略してVCという
 初心者にはVCがお勧め
 最初からGUI環境での開発ができる
 オールインワンなので必要なツールなどで悩む必要がない

ライブラリ
 Windows上で動作するゲームを作る為にはWindowsアプリケーション作成用のライブラリが必要
 もちろんVCは最初から何も考えなくてもついてるし、使える
 DirectXやOpenGLなどを使ったプログラムを作る為には、そのためのライブラリを入手し、
 コンパイラごとにそれぞれ設定する必要がある
 ゲーム用のフレームワークを提供するライブラリも存在する

以上のことを踏まえたうえでもチンプンカンプンな香具師はVC買っとけ
0131名前は開発中のものです。04/11/16 22:31:06ID:fHoL40sI
俺のお薦め無料セット

IDE,エディタ:BccDev
コンパイラ,リンカ:Boland C++ Compiler
デバッガ:Turbo Debugger
0132名前は開発中のものです。04/11/17 18:35:18ID:uDybUtmY
なんだなんだ、親切な人がいるもんだな。
ありがとう。ありがとう。
0133名前は開発中のものです。04/12/25 21:49:29ID:F3Xgd3GW
200番目記念
0134名前は開発中のものです。04/12/25 21:54:48ID:F3Xgd3GW
>>131氏のお勧めセットやっと揃えた記念カキコ
0135名前は開発中のものです。05/01/06 15:18:55ID:xxaj5Xlz
http://www.amazon.co.jp/exec/obidos/ASIN/B0002ERS18/250-3172619-1806610

学生の場合はコレを1つ買えばCでゲームを作ることができますか?
0136名前は開発中のものです。05/01/06 16:03:52ID:aURBdGiO
>>135
おk
0137名前は開発中のものです。05/01/06 19:00:33ID:DH17e0iN
書籍が一番金かかる
0138名前は開発中のものです。05/01/07 12:09:07ID:Xb185jAa
>>137
んだ。
書籍は金がかかるので、最低限をそろえて、
情報源はもっぱらインターネッツ。
英語を覚えりゃ収集できる情報量が増える。
0139名前は開発中のものです。05/01/24 01:54:46ID:AjUERDun
キーボードから入力を受付けるときに、
「キー連打」と「一定時間以上キー押しっぱなし」
を区別したいのですが、どうすればよいでしょうか?

kbhit()とgetch()を使ってキー入力を判断しているのですが、
私には今のところ、区別できません。

だれか教えてください。
よろしくお願いします。
0140名前は開発中のものです。05/01/24 19:31:50ID:XUv8bTeO
>>139
いまは、まだコンソール?
もし、そうならもう少し勉強を進めることに専念したほうがいいよ。
違うなら、その辺のWin32SDKの情報をあされば出てくると思う。
014113905/01/25 01:05:34ID:iPLtjYiU
>>140
OSはWindowsで、
言語はC言語です。

コマンドプロンプト上に'■'とかを出力して、
テトリスを作りました。(コンソールゲームというのですか?)
0142名前は開発中のものです。05/01/30 23:04:05ID:xPAo914a
>>139
釣りか?
釣りじゃないとしたら>>140をもう一回嫁。
分かりやすく言えば使おうとしてる関数がそもそも間違ってる。
DirectXやゲーム用ラッパーをまず探せ
0143名前は開発中のものです。05/01/31 00:05:35ID:cTfpobPf
アクションゲームをDirectX&C/C++で作ってるが結構しんどい。
始めて初めて分かるこの苦労。
今は2Dアクション作ってて3Dは全く触ってないんだが・・・
2Dとはやっぱり別物みたいだな。
2Dが理解できても3Dが理解できん。
つーか、サンプル見ても3Dはよく分からん。
流体力学研究所っつーサイトが結構面白かったが、
あのレベルになるまでにはどのくらいかかるのかねぇ。
0144名前は開発中のものです。05/01/31 01:04:28ID:dk4MRPJZ
>>143
定番
一生(ry
0145名前は開発中のものです。05/01/31 01:23:46ID:r9nuMyDU
>>139
キー連打と押しっぱなしを区別するには、変数を使って前回の状態を記憶し、
前回の状態が押してなくて、今回は押してたのなら、連打したことになる…、
というふうにする。
面倒くさいと思うかもしれないけど、みんなこうやってるのだよ
0146名前は開発中のものです。05/01/31 01:30:31ID:nsgwyZ8/
駄目な奴はいくら努力しても駄目
0147名前は開発中のものです。2005/03/24(木) 18:22:58ID:6s5fO40x
駄目な奴が言うと説得力あるぜ
0148名前は開発中のものです。2005/03/24(木) 18:24:20ID:KlKHFtG1
そんなことありません。
きっと、だれでも得意なことや不得意なことがあるはずです。
だから…たぶんゲームには向いていなかったのでしょう^^
0149名前は開発中のものです。2005/03/24(木) 19:58:13ID:6s5fO40x
ゲーム作りが駄目な奴も他の事で人に差をつければいいんだ
0150名前は開発中のものです。2005/11/04(金) 18:12:41ID:TRxG7fOu
あげます
0151名前は開発中のものです。2005/11/05(土) 23:33:58ID:O8Q9EzMN
過疎すれあげ
0152名前は開発中のものです。2005/11/06(日) 13:01:45ID:ahB8bn+L
あげてねーじゃんw
0153名前は開発中のものです。2005/11/06(日) 13:19:25ID:wdl0eUTl
過疎すれあげ
0154名前は開発中のものです。2005/11/06(日) 13:20:25ID:wdl0eUTl
この板は常時ageでもいい位だ人少な杉
0155名前は開発中のものです。2005/11/06(日) 13:22:53ID:wdl0eUTl
tasikaniw
0156名前は開発中のものです。2005/11/06(日) 16:31:58ID:2Jf1lcDI
」」
0157名前は開発中のものです。2005/11/07(月) 00:03:16ID:SXdAN7QW
バイトしてVC買おうとしてる俺が来ましたよ
0158名前は開発中のものです。2005/11/07(月) 05:33:20ID:asEGnyQY
かーちゃんに買ってもらうんだ!
0159名前は開発中のものです。2005/11/07(月) 19:46:38ID:2gRWCoRh
学生なら絶対thespoke版買うべき。
手続きが糞面倒いけどな
0160名前は開発中のものです。2005/11/07(月) 22:06:54ID:bxsN/QFE
>>129-131
一年ほど遅い横レスだがマジでthx
無茶苦茶助かる。

こういう情報が1番欲しい割りには1番探しにくい。
メーカーサイトみてもわけのわからん謳い文句ばっかで
その製品で何ができるのかさっぱりわからんかった。

なにから手をつけていいのか見当もつかなかったんで
ありがと
0161名前は開発中のものです。2005/11/08(火) 15:43:04ID:5sKvU1wF
>>160
こう言っちゃ何なんだけど、
その程度の情報自分で集められない&勉強出来ない時点で
プログラムには向いてない気ガス。
0162名前は開発中のものです。2005/11/08(火) 16:19:47ID:LsRBzfpu
と、いつも夢見ているだけの脳内プログラマが言っております。
0163名前は開発中のものです。2005/11/08(火) 17:05:27ID:qvd6Nhwx
煽りはよくないと思うの
0164名前は開発中のものです。2005/11/08(火) 19:12:47ID:NsoRYc4P
でもスレ活性化のためにときには必要だと思うの
0165名前は開発中のものです。2005/11/09(水) 23:42:07ID:EwnTVsdI
ほっしゅ
0166名前は開発中のものです。2005/11/11(金) 21:58:57ID:GCIYcnGs
2Dアクションなら BCC + DXライブラリ がいいよ
0167名前は開発中のものです。2005/11/14(月) 00:53:07ID:aU3971Di
いや、SDLだろう
0168名前は開発中のものです。2005/11/14(月) 23:07:34ID:aU3971Di
過疎スレあげ
0169名前は開発中のものです。2005/11/14(月) 23:08:03ID:aU3971Di
上げてなかったな
0170名前は開発中のものです。2005/11/16(水) 06:13:02ID:bP8OZfvZ
敵キャラの移動 コード

     //配列dirにランダムで値を入れて敵キャラの移動方向を決める
     dir[0] = rand()%5;

switch(dir[0]){
          case 0 : //UP
座標移動など;
break;
          case 1 : //DOWN
座標移動など;
break;
          case 2 : //RIGHT
座標移動など;
break;
          case 3 : //LEFT
座標移動など;
break;
          default;
break;
}

ズレるかもしれない
0171名前は開発中のものです。2005/11/20(日) 00:24:42ID:9sRgGKZA
dirってdirection?
0172名前は開発中のものです。2006/06/17(土) 00:12:18ID:spkZow+n
>>171
たぶんそうだな。
0173名前は開発中のものです。2006/09/22(金) 21:23:28ID:iYNT4fJm
よし作れ
0174名前は開発中のものです。2006/10/09(月) 15:45:40ID:BLAr7l82
捕手
0175親父2006/10/16(月) 06:54:24ID:rXTAsiwN
悪魔城ドラキュラ月下の夜想曲もどきを
作りたいんですが、まずはどうすればいいですか?
0176名前は開発中のものです。2006/10/16(月) 08:50:51ID:ETvWxTDe
directxまわりでつまづくと思う
0177親父2006/10/16(月) 10:47:00ID:977vydNH
そうか・・・
取り合えずやってみる
0178名前は開発中のものです。2006/10/17(火) 06:11:10ID:Ci2KLVBp
C言語でスプライトってどうやって使うんだ。
0179名前は開発中のものです。2006/10/17(火) 10:20:06ID:CFzZkzeR
C言語っつーか、Windows環境でのプログラミングが判らなかった俺だが
DXライブラリを知ってから、超簡単に2Dゲームプログラミングができるようになった。(ヘタレだが)

>>178にもお勧めしとく。
C言語っつーかDirectXだな。
スプライトは無いけど、普通の画像(BMP等)をスプライトと同様に扱える。
0180名前は開発中のものです。2006/10/26(木) 21:04:59ID:ssyUOzfl
>>178
Cなら、適当なメモリ領域をビットマップに見立てて自力で抜き色以外をピクセル転送。

Win32APIを使うとそのメモリ領域をDIBとして直接表示できる。
速度も32*32程度で数十個とか100個程度のパターンを表示するなら十分実用的。
0181名前は開発中のものです。2006/11/05(日) 00:03:28ID:7chgMelj
PS3でも買えば?
0182名前は開発中のものです。2006/11/06(月) 20:37:31ID:Yz3dksL2
とりあえずCはな〜んにもわからないけどゲーム作りたい人は、まずこれを買ってみるといいと思う。

ttp://www.amazon.co.jp/gp/product/4899771517/sr=8-1/qid=1162812879/ref=sr_1_1/503-3710014-7096713?ie=UTF8&s=books

『14歳からはじめるC言語わくわくゲームプログラミング教室 Windows98/2000/Me/XP対応』

中級者以上の人にはあんまり評判が良くないけど、とっかかりを作る上ではいいと思うの
0183名前は開発中のものです。2006/12/06(水) 00:06:35ID:KflH77ty
今買うなら>>135より
ttp://www.amazon.co.jp/gp/product/B000CSRIZ0/sr=1-1/qid=1165330998/ref=sr_1_1/503-7339295-7035903?ie=UTF8&s=software
か。
 確か>>135のはプロダクトキーが期限切れになってるはずだし。
0184名前は開発中のものです。2006/12/07(木) 21:52:16ID:SXyPw4fF
2003欲しいけどもう遅いんだよね・・ 
2005で作ったの2003で読み込めるないんだよね・・
0185名前は開発中のものです。2006/12/10(日) 05:04:22ID:aJXqrfUl
ゲーム作るにはダイレクトX使えばいいってのはわかるんだけど、
根本の仕組みが知りたいんだよね。

スプライトって、背景+窓というのを擬似的に表現しているだけで、
実際は単なるドットの集まりだよね。
でさ、例えばキャラが1ドット上に移動したとするじゃん。すると、
>キャラを1ドット上に表示+キャラの下にできた1ドットの隙間に背景表示
って処理をしなきゃならないと思うんだけど、
これって実際やってみるとすんげー重いのよ。
なんで昔のファミコンとかで、こんな重い処理ができたのか不思議でしょうがない。
キャラがなんであんなに素早く動くのかな〜。

根本をたどれば、ドット単位で表示ONOFFしてるだけのはずなのに、
スプライトとか魔法みたいなことができるのはおかしい。
おれはこれがいつまでもわからなくて、挫折をした。
0186名前は開発中のものです。2006/12/10(日) 05:15:37ID:kEK2MzKm
昔のファミコンはスプライトの仕組みが違いますがなにか?
0187名前は開発中のものです。2006/12/10(日) 10:09:20ID:xCPbM3oZ
>>185
ユーの言うスプライトは擬似的なものでPC98とかの世界だな。

2D系のゲームやX68kはスプライトを書き込む領域があり、
それらの表示位置を設定することも出来る。
これらを画面更新時に表示している。

毎フレーム指定色で画面を塗りつぶし、
しかるべき順番でポリゴンを描画している。
DirectXにスプライトは無く、DirectX上で動くスプライトは、
このポリゴンにテクスチャーを設定して擬似的に表現している。
一聞効率的な方法じゃ無いように聞こえるが、
グラフィックボードはそのような処理に最適なように設計されてるので問題無い。
ポリゴンに適した設計にする事が最優先で、
スプライト云々は主眼じゃない。





ここまで適当にレスできる俺は天才だと思う。
0188名前は開発中のものです。2006/12/10(日) 10:10:43ID:xCPbM3oZ
3番目の文はDirectXに関するものですだ…(まぁ読んで判るとは思うがw
01891852006/12/10(日) 21:13:19ID:aJXqrfUl
>>187
>これらを画面更新時に表示している。
キャラが動くごとに、背景を全描写してるってことだろうけど、それがとてつもなく重そうなんだよね。。
なんでファミコンで表現できたのか不思議。しかもキャラはたくさんいるし。

ダイレクトX使わずに、VC++のMFCでピクチャ表示機能使って
無理矢理キャラの動作をさせてみたことあるんだけど、やっぱ無理ありますな・・・
0190名前は開発中のものです。2006/12/10(日) 21:40:39ID:gmCAHMuv
> 重そう
寝言は実際DirectXを使ってからほざけ。
0191名前は開発中のものです。2006/12/10(日) 21:43:14ID:Kl/z74Au
>なんでファミコンで表現できたのか不思議。

いや、だから……ハード的にそういう機能を持ってるんだよ。

ついでに言うと、背景を全描写といっても、
ファミコンとかの場合、ドット単位じゃなくて8*8(だっけ?)のチップ単位。
だからチップパターンにそった背景しか描けない。けどメモリも少なくて済むし、データ書き換えも早い。
さらに言うと、背景が変わりでもしない限り、データを書き換える必要もない。
表示座標を変えるだけでスクロールする。
0192名前は開発中のものです。2006/12/17(日) 16:41:27ID:HQUKYlRt
今のパソコンにはスプライトというのはなくて、
グラフィック画面で全部まかなっているというのは、既出の通り。

そんな今のパソコンでは、ダブルバッファリングという技法が必須だよ。

実際には表示しない、裏の描画用画面のことで、
キャラクターたちを、まずその裏画面上に描く。
一通り全部描き終えたら、その裏画面の内容を
全部まとめて、BltやFlipなどで一気に表示画面上に表示する。
0193名前は開発中のものです。2006/12/17(日) 16:58:27ID:gEtDPOSL
ラスタースクロールはどうするんだ。
と思ったが、今のPCの性能じゃそんな事する必要もないかw
0194名前は開発中のものです。2006/12/17(日) 20:30:35ID:pCyciy5N
ラスタースクロールか・・・
背景描画時に、1ピクセルの行ごとに
ずらしながら裏画面に描くのかねぇ・・・?

それで、どれだけの速度を保てるかは
さすがにやったことないな。
0195名前は開発中のものです。2007/12/31(月) 01:08:01ID:DW0nBc61
hgdfhhdf



fhdfhdf




tsdtsd




hcvhcvxcxc




xzgfzxg


0196名前は開発中のものです。2007/12/31(月) 06:05:54ID:nIWs4m/L
晒しあげ
0197名前は開発中のものです。2008/03/05(水) 14:21:54ID:i3A4b+mI
            o
            /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
           /   このスレは無事に  /
           /  終了いたしました    /
          / ありがとうございました  /
          /                /
         /   モララーより      /
         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
  ∧_∧  /                /∧_∧
 ( ・∀・) /                /(・∀・ )
 (    )つ               ⊂(    )
 | | |                   | | |
 (__)_)                  (_(__)
0198名前は開発中のものです。2008/03/05(水) 14:40:00ID:qwYlHq/j
スプライトのライブラリとかあるから、それ使った方が早い。
0199名前は開発中のものです。2008/03/05(水) 15:35:58ID:bokJt+04
   _,,....,,_  _人人人人人人人人人人人人人人人_
-''":::::::::::::`''>   ゆっくりしていってね!!!   <
ヽ::::::::::::::::::::: ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
 |::::::;ノ´ ̄\:::::::::::\_,. -‐ァ     __   _____   ______
 |::::ノ   ヽ、ヽr-r'"´  (.__    ,´ _,, '-´ ̄ ̄`-ゝ 、_ イ、
_,.!イ_  _,.ヘーァ'二ハ二ヽ、へ,_7   'r ´          ヽ、ン、
::::::rー''7コ-‐'"´    ;  ', `ヽ/`7 ,'==─-      -─==', i
r-'ァ'"´/  /! ハ  ハ  !  iヾ_ノ i イ iゝ、イ人レ/_ルヽイ i |
!イ´ ,' | /__,.!/ V 、!__ハ  ,' ,ゝ レリイi (ヒ_]     ヒ_ン ).| .|、i .||
`!  !/レi' (ヒ_]     ヒ_ン レ'i ノ   !Y!""  ,___,   "" 「 !ノ i |
,'  ノ   !'"    ,___,  "' i .レ'    L.',.   ヽ _ン    L」 ノ| .|
 (  ,ハ    ヽ _ン   人!      | ||ヽ、       ,イ| ||イ| /
,.ヘ,)、  )>,、 _____, ,.イ  ハ    レ ル` ー--─ ´ルレ レ´
0200名前は開発中のものです。2008/03/14(金) 10:33:18ID:a+sbD+vf
   _,,....,,_  _人人人人人人人人人人人人人人人_
-''":::::::::::::`''>   ゆっくりしていくね!!!   <
ヽ::::::::::::::::::::: ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
 |::::::;ノ´ ̄\:::::::::::\_,. -‐ァ     __   _____   ______
 |::::ノ   ヽ、ヽr-r'"´  (.__    ,´ _,, '-´ ̄ ̄`-ゝ 、_ イ、
_,.!イ_  _,.ヘーァ'二ハ二ヽ、へ,_7   'r ´          ヽ、ン、
::::::rー''7コ-‐'"´    ;  ', `ヽ/`7 ,'==─-      -─==', i
r-'ァ'"´/  /! ハ  ハ  !  iヾ_ノ i イ iゝ、イ人レ/_ルヽイ i |
!イ´ ,' | /__,.!/ V 、!__ハ  ,' ,ゝ レリイi (ヒ_]     ヒ_ン ).| .|、i .||
`!  !/レi' (ヒ_]     ヒ_ン レ'i ノ   !Y!""  ,___,   "" 「 !ノ i |
,'  ノ   !'"    ,___,  "' i .レ'    L.',.   ヽ _ン    L」 ノ| .|
 (  ,ハ    ヽ _ン   人!      | ||ヽ、       ,イ| ||イ| /
,.ヘ,)、  )>,、 _____, ,.イ  ハ    レ ル` ー--─ ´ルレ レ´
0201名前は開発中のものです。2008/03/18(火) 10:54:23ID:olLbUKca
あげ
0202名前は開発中のものです。2008/03/19(水) 11:55:05ID:DVv4kD76


           

























0203名前は開発中のものです。2008/03/23(日) 05:08:10ID:mWO5t8G1
   _,,....,,_  _人人人人人人人人人人人人人人人_
-''":::::::::::::`''>   ゆっくりしていってね!!!   <
ヽ::::::::::::::::::::: ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
 |::::::;ノ´ ̄\:::::::::::\_,. -‐ァ     __   _____   ______
 |::::ノ   ヽ、ヽr-r'"´  (.__    ,´ _,, '-´ ̄ ̄`-ゝ 、_ イ、
_,.!イ_  _,.ヘーァ'二ハ二ヽ、へ,_7   'r ´          ヽ、ン、
::::::rー''7コ-‐'"´    ;  ', `ヽ/`7 ,'==─-      -─==', i
r-'ァ'"´/  /! ハ  ハ  !  iヾ_ノ i イ iゝ、イ人レ/_ルヽイ i |
!イ´ ,' | /__,.!/ V 、!__ハ  ,' ,ゝ レリイi (ヒ_]     ヒ_ン ).| .|、i .||
`!  !/レi' (ヒ_]     ヒ_ン レ'i ノ   !Y!""  ,___,   "" 「 !ノ i |
,'  ノ   !'"    ,___,  "' i .レ'    L.',.   ヽ _ン    L」 ノ| .|
 (  ,ハ    ヽ _ン   人!      | ||ヽ、       ,イ| ||イ| /
,.ヘ,)、  )>,、 _____, ,.イ  ハ    レ ル` ー--─ ´ルレ レ´
0204名前は開発中のものです。2008/03/27(木) 13:57:01ID:6aFlAzKU
保守
0205名前は開発中のものです。2008/03/27(木) 15:02:50ID:vXrdy63U
      _,,....,,_
-''":::::::::::::`''
ヽ::::::::::::::::::::::::::`::..、
 |::::::;ノ´ ̄\:::::::::::\_,. -‐ァ
 |::::ノ   ヽ、ヽr-r'"´  (.__
_,.!イ_  _,.ヘーァ'二ハ二ヽ、へ,_7
::::::rー''7コ-‐'"´    ;  ', `ヽ/`7
r-'ァ'"´/  /! ハ  ハ  !  iヾ_ノ
!イ´ ,' | /__,.!/ V 、!__ハ  ,' ,ゝ
`!  !/レi' (ヒ_]     ヒ_ン レ'i ノ
,'  ノ   !'"    ,___,  "' i .レ'
 (  ,ハ    ヽ _ン   人!       本当にゆっくりしたい気持ちで…
,.ヘ,)、  )>,、 _____, ,.イ  ハ         胸がいっぱいなら…!
    /l ̄  '-~三~-'  ̄h
.   / |   レ兮y′/ l         どこであれゆっくりできる…!
  〈  く   ∨ l/ ,イ |
   \_,.>、    /,L..]]_           たとえそれが…
. 0ニニニ)而}ニニニニニ),リリニニ)
.   L| |_____|____| |          肉焦がし… 骨焼く…
    l | |._______| |  ,:
 ,  l \ヽ l  |   , '/  ;'            鉄板の上でもっ………!
 :, ____l_|_|_;_|_|___|_|__   ;
  |\゙;三三゙';三三三,;゙三三\ ;'
  |\\三三゙三ジジ三三,''三;'\,;'  ;'
  |、 \\三゙;三三ジジ・'三三三;\ ;
  0ト、\\\;'三三;'三三三;''三三,;'\
    \\\| 炎炎炎炎炎炎炎炎炎 |
      \\| 二I二二I二二I二二I二 |
       \LI二二I二二I二二I二二]]
        0]]            0]]
0206名前は開発中のものです。2008/04/07(月) 12:30:25ID:GXjnIAO6
0207名前は開発中のものです。2008/04/21(月) 20:42:44ID:dRtpsJPd
書き込みtest
0208名前は開発中のものです。2008/08/16(土) 23:56:41ID:TeL18Qem
ちょっと悩んでいるので質問
ロックマンのイメージでお願いします。

1.地面
平らならわかりやすい。
Y軸が任意の値になったらそこが地面。

しかし、凹凸がある。
自機が当たったら、前に進めないし、
弾が当たったら、弾は消えなければいけない。

この地面(凹凸)のデータを
どうやって持てばいいのか悩み中です。
みなさんどうやってますか?
0209名前は開発中のものです。2008/08/17(日) 00:01:34ID:3Mm4zQJB
>>208
接触してもダメージを受けない敵を配置して地面を作るとか。
02102082008/08/17(日) 00:28:31ID:1DXwyodU
>>209
ありがとうございます

地面もオブジェクトですか
・スクロールと同時にオブジェクトを移動
・地面グラフィックはオブジェクトもち
・地面データもオブジェクト出現だけに絞れる

自機に着地オブジェクト情報をもたせて・・・
・着地オブジェがなかったら全オブジェと着地判定
・着地オブジェがあったらそれと判定
 →乗っていたらそのまま
 →離れていたら着地オブジェを解除して、全オブジェと着地判定

こ、こんな感じですか
0211名前は開発中のものです。2008/08/17(日) 01:49:07ID:I7r3iinj
ふつーにマップチップ並べりゃええんでね?
02122082008/08/17(日) 12:20:41ID:1DXwyodU
>>211
キャラがチップ単位で動くような場合はいいのですが、
今回、移動不可チップの場所(座標)を特定する方法がよくわからないのです。
0213名前は開発中のものです。2008/08/17(日) 12:28:02ID:UMrLfjjO
計算をチップ単位にすりゃいいじゃん。
0214名前は開発中のものです。2008/08/17(日) 12:34:23ID:UMrLfjjO
0〜99の番号をつけた100人の子供がいます。
これを10人ずつの班に分けます。
0〜9番を0班、10〜19番を1班というように、9班まで作ります。

さて、X番の子は何班になるでしょう。
0215名前は開発中のものです。2008/08/17(日) 12:49:07ID:d7xV658j
>>214
10分のX班(小数点以下切捨て)
02162082008/08/17(日) 13:01:37ID:1DXwyodU
>>213
!?
ありがとうございます。
「チップ内でどこにいるか」を持てば、いけそうですか。

1.全オブジェ(自機、弾、敵)
・「どこのチップにいるか」情報を持つ
・「チップ内でどこにいるか」情報を持つ
・移動した場合、チップ移動判定をする

チップごとにオブジェリストを持っていて、
当たり判定は、同チップ内のオブジェ同士でだけよい

・・・いや、チップをまたがっている場合があるので、
「どのチップにいるか」は2個持たねば。

ちょっとどちらの方法がいいかテストしてみます。
0217名前は開発中のものです。2008/08/17(日) 22:23:17ID:d7xV658j
ワールド座標とスクリーン座標を別に用意しておいて、
画面に表示するときだけワールド座標をスクリーン座標に変換するとか。
0218名前は開発中のものです。2008/08/18(月) 16:02:07ID:V92q0CRD
PCゲーでオブジェって呼称用いるのに違和感があるなぁ

OBJ用のVRAM領域のあるような環境を想像してしまう
(ゲーム内オブジェクトとはまた意味が違うけど)
0219名前は開発中のものです。2008/08/18(月) 20:59:41ID:ZRBjOITm
マップチップのサイズを例えば16x16固定で、
仮想座標(0,0)からぴっちり敷き詰めるように並べるとする。
マップデータ自体は2次元配列で持てばよい。
チップの番号に対して,あらかじめ当たり判定があるかなど属性を定義しておく。

仮想座標上のあるキャラ(例えば矩形領域で(x1,y1)-(x2,y2)とする)が
どのチップ上にいるかどうかは (x1/16, y1/16)-(x2/16, y2/16) の
マップチップ座標(マップデータ配列)上の矩形領域を調べればよい。

チップ内でも詳細に当たり判定が必要な場合(坂道などを実現する場合?)には
チップ番号から適切な判定ルーチンを呼び出すテーブルなど作る。

キャラ同士の当たり判定はマップチップ当たり判定とは別の処理で行う。

こんな感じ?かなりいいかげんだが。
0220^−^2008/11/07(金) 21:44:34ID:/Qi4r6QU
あge
0221名前は開発中のものです。2009/06/21(日) 21:21:46ID:sjkKH3pT
ho
0222名前は開発中のものです。2009/06/28(日) 15:36:21ID:lrktbDqt
作って
■ このスレッドは過去ログ倉庫に格納されています