トップページgamedev
295コメント113KB

厨房なおいらにプログラム教えるスレ

■ このスレッドは過去ログ倉庫に格納されています
000102/05/28 20:36ID:pts0IQX6
ゲームの改造、製作等のプログラムに興味をもっています。
厨房に分かる程度優しく教えてくれた方にはお礼をイイマス
0080あぼーんNGNG
あぼーん
0081あぼーんNGNG
あぼーん
0082あぼーんNGNG
あぼーん
0083あぼーんNGNG
あぼーん
0084あぼーんNGNG
あぼーん
0085あぼーんNGNG
あぼーん
0086あぼーんNGNG
あぼーん
0087あぼーんNGNG
あぼーん
0088名無しさんは14才04/04/02 17:51ID:1AJKyAtY
このスレもらいま〜す♪
気に入らなかったら言ってね。また引っ越すから。

前にいたスレはこちら。
http://pc5.2ch.net/test/read.cgi/gamedev/1074347252/l50
0089名無しさんは14才04/04/02 17:52ID:1AJKyAtY
作ろうとしているもの。
・5人以上のパーティが作れる2D-RPG。
・WinでもMacでも動く。Java1.4で動かす予定。
・最低スペックはセレロン400MHz。にしたいけど、無理ならG4-700MHzくらい。

今できていること。
・画像の合成とスプライトの表示。
・レイヤ数はメモリの許す限り。

目標
・今年の冬くらいまでにシステム作って、来年の夏休み頃にゲーム完成。

サポートWebサイト
・ありません。ごめん。
・わたしの作業がある程度進んだらシナリオ担当の子が作ってくれるはず。
・今動いてるものはあるけど、素材の版権問題で表に出せないんです。

あいことば
・まったりまったり。
0090名無しさんは14才04/04/02 17:55ID:1AJKyAtY
まったりと、マップ作りを再開します。

なんだかんだで一ヶ月もあいちゃったなあ。
なんかもうだいぶ忘れてるような……。
0091名無しさんは14才04/04/05 12:48ID:bdlvMmxL
サイトにエロゲー置いたよ、
と言われて、そんなのわたしに言わないでよ、とか思いながら見てみると、
脱衣ブロック崩しでした。

でもそのアプレット、Macでは動きがへん。
納得いかないのでちゃんと動くようにバグ取りました。作者さんには言ってないけど。

そんな感じで週末が終わってしまった。……ゲームづくり進んでません。
0092名無しさんは14才04/04/06 16:33ID:tqG4sRiY
2DRPGでも橋の上通ったり下くぐったりはあるわけで、
ただチップを並べるわけにもいかないなあと悩む今日この頃。

ツクールの通行方向設定もいいアイデアなんだけど、
それだけじゃ見た目が変になっちゃうケースもあるんだよねぇ。

うーん。困った。
0093名前は開発中のものです。04/04/08 17:55ID:FOOsZfjV
保守
0094名無しさんは14才04/04/08 20:45ID:EYc/VHke
……ひどい。こっそり使ってたのに。
0095名前は開発中のものです。04/04/08 21:08ID:zYUiyYGS
nanikonosure?
0096名前は開発中のものです。04/04/08 23:12ID:f/FOzfPE
>92
マップを2層にして、下の層はキャラより下になる物、上の層はキャラより上になる物って感じにして、キャラは上の層と下の層の間を歩く。
橋を上の層にしておけば、キャラは橋の下をくぐれるよ。
0097名無しさんは14才04/04/14 15:03ID:1Ri/Hh0o
>96サンありがと♪

実はもう一個悩んでたのがあって、
ツクラーで物好き(?)な人なら試した人あるかもしれないけど、
ドアを開けて中に入ろうとすると、ドア枠の上に乗ってしまうという現象が!
高さと奥行きをいっしょに扱おうとするからややこしいんだと思うんだけど、
別々に扱うのはめんどうで……。
0098名無しさんは14才04/04/14 21:16ID:WVF8F4l8
……結構下がってたと思うんだけど、なんで上がってるんだろ。
0099名無しさんは14才04/07/06 16:21ID:JRkAJNZ1
xcodeでcvsを使う方法がよくわからない……。
CVSROOTはどこに書くのかしら。

1.2は2で1.5は5?
えらい人の考えることはよくわからないですね。
わたしは当分1.4でいきます。
0100ハーピィ2005/08/06(土) 05:18:59ID:rEkfsggh
E・∇・ヨノシ <100ゲット♪♪
0101名前は開発中のものです。2006/05/30(火) 18:07:50ID:1w90onBH
>939
一応横スク。
メタル ヴァり〜知らん 知らん
マリオみたいな感じで。

>940
何もやらんよw
リーダーみたいなもんだわさ。
0102名前は開発中のものです。2006/06/04(日) 00:13:51ID:SVxQmFAG
ステフが〜だった場合

・絵師
他のメンバーは絵に引かれてやってくる人多し、
生産低いOR逃亡で一気に崩壊の危険高い
逆、絵師がみんなをリードしていき完成まで行く可能性が高い。

・PG
他のメンバーを素材をして利用、
企画としては長く続く。
会話は、 材料の指示などでつまらない。
あと、精神的に異常がある人多し、問題多々。

・音や
どうでもいい。
フリーで十分なのが得られるので、
神音ではないかぎり必要性を感じない。
モチベは低いだろう。

・シナリオ
神シナリオでないと集まらない。
シナリオは批判など多いので、タフなやつではないと生き残れない。

・無能
本人のやる気なし。
一番、終わりやすい。
逃亡率100%
0103名前は開発中のものです。2006/06/04(日) 19:09:16ID:SVxQmFAG
0104名前は開発中のものです。2006/07/14(金) 12:27:43ID:zYRCrdZI
age
0105名前は開発中のものです。2007/08/06(月) 00:23:03ID:iEhcOMmo
age
0106名前は開発中のものです。2010/08/29(日) 10:55:58ID:JxxRNzCC
age
0107社内ニート ◆OpY5DDvqSw 2011/01/24(月) 23:12:11ID:Ipp1jCxA
勤務時間中、暇なんでC++ってやつを勉強してゲームを作ってみたい。
プログラムはほぼ初心者。
今、Kagでゲームを作り始めて、TJSをすこしだけ理解した。

言うまでも無いと思うが、俺がゲームを作り上げることが出来るかどうかはお前達しだいだ。
どうか力を貸してほしい。

作りたいゲームは、「ポトリス」「アサルトギア」「ガンバウンド」などに代表されるタイプの
放物線を描く弾を敵に当てるゲーム。
どういうゲームなのか、知らない人は以下のURLの「対戦!ねこ戦車」をプレイしてもらえばすぐに分かる。
ねこ戦車はブラウザゲーなので、すぐに始めることが出来る。
アカウントの作成も必要ないのでぜひ一度おためしあれ。

ttp://mogera.jp/gameplay?gid=gm0000000578
0108社内ニート ◆OpY5DDvqSw 2011/01/24(月) 23:24:23ID:Ipp1jCxA
まずはこれだけのことをこなしたい。


@ウインドウを表示する。
A地形を表示し、その上に戦車を置く。
B地形の凹凸に応じて戦車自体の角度が変わる。
C車体角度とは別に砲台角度を変更できる。車体角度+砲台角度が発射角度になる。
Dスペースキーを押す時間に応じて弾の発射力が変わる。弾は放物線を描いて飛ぶ。
E弾のぶつかった地形が、着弾点を中心に円形にえぐれる。
F一定以上の角度の地形は移動できない。
0109社内ニート ◆OpY5DDvqSw 2011/01/24(月) 23:27:51ID:Ipp1jCxA
その前に、C++をやるためにコンパイラとかいうものが必要らしいが、
いろいろあってよく分からない。
ネット対戦を前提にして、なにを使えばいいか教えてくれ。
0110社内ニート ◆OpY5DDvqSw 2011/01/24(月) 23:34:59ID:Ipp1jCxA
ネット対戦を念頭に置くならこれを使って勉強を始めればいいのか?

.NET Framework SDK
0111名前は開発中のものです。2011/01/26(水) 00:44:33ID:kFO3lhjv
誰か反応してやれよw
0112社内ニート ◆OpY5DDvqSw 2011/01/27(木) 00:43:21ID:KMchEVI+
そう、誰か反応しなさい。
すべてお前等の努力にかかっている。
0113名前は開発中のものです。2011/01/27(木) 01:44:02ID:XFrHSXwq
>>109
http://www.microsoft.com/japan/msdn/vstudio/express/
ここからVisualC++をダウンロードして使え
0114社内ニート ◆OpY5DDvqSw 2011/01/28(金) 05:32:21ID:q5eIDIBU
VisualC++インストールしました!
今日の勤務時間中にC++の入門ページを読んで
画像の表示方法でも調べてみます。
帰宅後、また教えてください。

まずは、地面の表示とキャラクターの表示をしてみようかと思うのですが、
これには、地形とキャラクターの当たり判定と、キャラクターにかかる重力の計算が必要になると思います。
このあたりから教えてもらっていいですか?
一般的なプログラムの勉強の仕方としては、
もっと別のことから段階を踏んでステップアップしていくべきなのかもしれませんが。
0115名前は開発中のものです。2011/01/28(金) 13:54:30ID:vQFViJxG
>>114
キャラクターの下側の座標が地面の座標を超えたら
キャラクターの下側の座標を地面に合わせる。
重力はキャラクターのY座標に速度を常に足していく。
キャラクターが地面についてなかったら
速度に加速度を足していく。
地面についたら速度を0にする。
0116名前は開発中のものです。2011/01/28(金) 16:30:22ID:Wmo75Tax
スタート地点がおかしいw
0117社内ニート ◆OpY5DDvqSw 2011/01/28(金) 21:56:26ID:q5eIDIBU
>>116
スタート地点がおかしい?俺にはわからん。

>>115
そういうこと。
で、具体的にどうすればいいかが分からない。


今日の勤務中にVisualC++の説明をしたホームページで勉強したが、
基礎の部分が長すぎて読みきれなかった。
今週いっぱいくらいかかるだろう。

ところで、地形の素材を作ってみた。
背景と地形の画像は別々に用意している。
ほかに、白黒2色の画像で、地形だけ黒くした画像も、当たり判定つけるときに役に立つんじゃないかと
思って用意した。

ttp://www.dotup.org/uploda/www.dotup.org1388328.jpg
0118社内ニート ◆OpY5DDvqSw 2011/01/28(金) 22:06:03ID:q5eIDIBU
よーし!それではVisual C++を発起動するぜ。
0119社内ニート ◆OpY5DDvqSw 2011/01/28(金) 22:10:15ID:q5eIDIBU
フォームを開いたぜ。
プロジェクト名は 2tank だ。
とりあえずは仮名で。
そのうちかっこいい名前を考えるぜ。
0120社内ニート ◆OpY5DDvqSw 2011/01/28(金) 22:25:53ID:q5eIDIBU
ちなみに、ステージの広さは横がウインドウサイズの3倍、縦が2倍になるんですが、
画像を表示させるのはpictuerboxを使えばいいんですか?
このさい、pictuerboxの使い方も教えてほしいけど、そこは自分で調べます。
pictuerboxってのがどうも、画像を表示させるのに使う道具らしいってのは感で分かりますが、
こういう場合は他の道具で表示させたほうがいいのかもしれないから、やるまえに教えてください。
0121社内ニート ◆OpY5DDvqSw 2011/01/28(金) 22:54:10ID:q5eIDIBU
ピクチャーボックスを二つ使って地形と自機のJPG画像を表示させた。
今日はここまで。
この後当たり判定をつけるにはどうするか教えてもらえるまで待ちます。
01221152011/01/28(金) 23:48:52ID:vQFViJxG
>>121
定期的に処理を呼び出す方法は調べたの?
ゲームは1秒間に30コマくらいは処理を繰り返さないとだよ。
あとpictuerboxって処理が重い気がするな。
まあ俺も初心者だけど知ってる限りアドバイスする。
0123名前は開発中のものです。2011/01/29(土) 00:39:05ID:4JzBtMNC
地形をビットマップにするか折れ線で定義するかによって
実装の難度が変わってくると思うよ

>>108のEを入れるか入れないかが分かれ目かな
0124社内ニート ◆OpY5DDvqSw 2011/01/29(土) 01:57:18ID:4jAEgNIs
>>122
pictuerboxって重いのか。
それじゃあ、どうやって画像を表示させたらいい?
あと、定期的に処理を呼び出す方法とかも知らないので教えてください。

>>123
E=着弾地点を中心として地形が円形にえぐれる
これは絶対にはずせません。
穴を掘って敵をうめたり、穴の中に隠れたり、敵をフォールアウトさせたりと
細かい戦略がこのゲームの面白いところですので。
地形を折れ線で定義するとか、ビットマップで定義するっていうのはどうやるんですか?
今、私が出来るのは描いた絵を貼り付けることだけです。
調べるヒントになることだけでもいいので教えてください。
01251152011/01/29(土) 02:11:40ID:Heb2U9Yg
>>124
windows用のゲームはだいたいdirectXが使われてるよ。
まあ使い方は結構めんどくさいけどね。
定期的に呼び出すのはスレッドを作ってsleepするか
WM_TIMERを使うといいよ。
ビットマップで地形を表示したいなら
ビットマップのフォーマットを調べて
座標に変換するようにすればいいと思う。
0126社内ニート ◆OpY5DDvqSw 2011/01/29(土) 11:25:08ID:4jAEgNIs
>>125
一度に言われても分からない。
とりあえずビットマップのフォーマトを調べてみます。
0127社内ニート ◆OpY5DDvqSw 2011/01/29(土) 11:29:27ID:4jAEgNIs
あ、そうだ。
pictuerboxを使うと重いって話もあったんで、他の画像の表示方法も教えてください。
01281152011/01/29(土) 11:37:38ID:Heb2U9Yg
>>126
一度に聞いたのはお前じゃんw
ビットマップより先に画像表示が先だと思うよ。
俺は画像表示にdirectX9のスプライト機能使うのがいいと思う。
0129社内ニート ◆OpY5DDvqSw 2011/01/29(土) 11:51:52ID:4jAEgNIs
わかりません
01301152011/01/29(土) 12:16:07ID:Heb2U9Yg
>>129
何が分からないか書かないのかよw
0131名前は開発中のものです。2011/01/29(土) 12:54:49ID:DhIF6aTX
>>127
アクションゲームじゃなくてターン制のゲームだったら
とりあえず描画が重くてもなんとかなるんじゃないかな

>>124
やりたいことを完全に実装したいなら、
まず、ステージの広さ分の仮想画面で地形を定義して、
ウィンドウサイズ部分を切り出して表示する処理が必要だよ
0132社内ニート ◆OpY5DDvqSw 2011/01/29(土) 15:23:40ID:4jAEgNIs
とりあえずdirectx9をダウンロードしました。
説明はまたあとで読みます。
>>131
これまでのこれ系のゲームはターン制だったけど、
それって先行がかなり有利な場合があるんです。
そういう不平等をなくすために、ターン制は半分廃止にします。
なので、リアルタイムの通信が必要で、軽く出来るところがあるなら軽くしときたいです。
で、

>ステージの広さ分の仮想画面で地形を定義して、
>ウィンドウサイズ部分を切り出して表示する処理

この部分、具体的にVisualC++でどうやったらいいかとか、教えてもらえません?
01331152011/01/30(日) 00:25:05ID:oIfYeeKo
>>132
1枚の画像の表示はできたの?
それをただ地形の形になるように並べるだけだよ
0134社内ニート ◆OpY5DDvqSw 2011/01/30(日) 15:28:26ID:EOf3QC/a
>>133
pictuerboxでJpg画像を表示することは普通に出来ました。
地形の形になるよう並べるって言うのはどういうことですか?
まったくわかりません。
0135名前は開発中のものです。2011/01/30(日) 15:50:20ID:doNhUFz6
ビットマップで地形を表そうとしているのだとすると
背景画像と地形とマスク(地面の有無)の3枚の画像があるんだよね?

pictureboxとやらでちゃんと合成できるの?
できるとしたら、処理速度的にどうなの?
0136社内ニート ◆OpY5DDvqSw 2011/01/30(日) 16:20:50ID:EOf3QC/a
>>135
知らない。
やっぱり地形の有無を示すためのマスク画像ってのが必要なんだな。
で、それをどうやったら表示させることが出来る?
01371152011/01/30(日) 17:19:35ID:oIfYeeKo
>>136
jpegでやるんなら透過使えるんだからマスク画像なんて必要ないでしょ。

処理速度がpictureboxだと遅くてアクションだときついって言ってるのに
そこは考えないの?

directXの場合地形を1枚の画像でやろうとすると
ビデオカードが大きいサイズに対応してなかったりするから
512pix以内に地形画像を分割して並べて表示するのがいい
0138社内ニート ◆OpY5DDvqSw 2011/01/30(日) 17:58:42ID:EOf3QC/a
>>137
だから、具体的にやり方を言え能無し。
01391152011/01/30(日) 18:02:43ID:oIfYeeKo
>>138
directX9のスプライト機能使えって言ってるだろ
教えてあげてるのにその態度はなんだよ
01401152011/01/30(日) 18:17:09ID:oIfYeeKo
>>138
お前は馬鹿だからもっと具体的に教えてやらないとダメみたいだな
directX9 スプライトで検索しろ
0141名前は開発中のものです。2011/01/30(日) 18:22:47ID:1iJSsxNE
こんなスレばっかりだな
0142名前は開発中のものです。2011/01/30(日) 20:14:11ID:hpGZU6lP
こんなだから会社でも仕事もらえないんだろうな
人間として生きる価値ないよお前
0143社内ニート ◆OpY5DDvqSw 2011/01/30(日) 20:27:12ID:EOf3QC/a
>>142
新店舗をまかされたはいいが、客が来ないだけだ。
0144社内ニート ◆OpY5DDvqSw 2011/01/30(日) 20:34:53ID:EOf3QC/a
>>139-140
最初からそういいたまえ。
0145名前は開発中のものです。2011/01/31(月) 00:02:20ID:dpE+y+Ks
なんだこいつら

まずは気負わないで出来そうなことから部分的にやると良いと思うよ
平坦な地面を左右に動くだけのプログラムを作るとか

あといきなりDirectX9は敷居が高い気もする
11は簡単らしいけど知らん
0146社内ニート ◆OpY5DDvqSw 2011/01/31(月) 00:40:03ID:XYfTEsg4
>>145
なに、directx9は敷居が高い?
使わなくてもやれるの?
平坦な地面の上をキャラクターが左右に動くだけのプログラム。
それでもいいからやり方教えてくれ。
0147名前は開発中のものです。2011/01/31(月) 00:49:28ID:GHHyFSyz
>>146
つDXライブラリ
画像程度なら簡単に表示できる。
まずはこれをインスコして動かすだけでもやってみ。
01481152011/01/31(月) 01:21:01ID:1vMX8mjp
DXライブラリ使ったことないから分からないな
directX9でもスプライトならサンプルコピペで簡単に画像表示できるはずだよ
0149社内ニート ◆OpY5DDvqSw 2011/01/31(月) 02:26:57ID:XYfTEsg4
>>147
それ、DXライブラリっての聞いたことがある。
ゲームを作りやすいものだって、ニコ動で誰かが言ってた。
仕えるようになるまでの設定もめんどくさそうだけど、詳しく説明してくれてるページがあるんで
ちょっとやってみる。
0150名前は開発中のものです。2011/01/31(月) 11:17:45ID:Sn2Wsqmc
お前には無理だ
0151社内ニート ◆OpY5DDvqSw 2011/01/31(月) 23:56:32ID:XYfTEsg4
あるホームページで、以下の様な説明がありました。


> まず適当なグラフィックファイルを以下のフォルダにコピー等で入れてください。
>
>    VisualC++6.0 又は VisualStudio.net の場合
>       サンプルプログラム用フォルダ( DxSample ) の中の『VC』というフォルダ。


VisualC++2010Expressの場合、どこのフォルダに画像を入れればいいですか?
01521152011/02/01(火) 00:10:29ID:7s78HQyQ
>>151
作られたexeファイルのあるフォルダに入れて実行すればいいんじゃない?

あとDXライブラリ使うならやり方しらないからアドバイス出来ないな
俺はPCでのゲーム作りはdirectX9のコピペから初めた。
まあコピペだからdirectXの本質はあまり理解してないが
とりあえず形あるゲームは作れた。
0153社内ニート ◆OpY5DDvqSw 2011/02/01(火) 00:37:51ID:rB9l6gPH
DXライブラリうめぇwww
これなら俺にもなんとかなるんじゃねw
>>151にあるような『VC』とかいうフォルダ探すのをあきらめて
ためしにプロジェクトフォルダに入れてみたら出来た。
でも画像サイズがでかすぎる。
調節しないと。
ってか、説明ページを読みながらやったら、
ウィンドウじゃなくて全画面表示されるようになったし。
次はウィンドウを表示させよう。
0154社内ニート ◆OpY5DDvqSw 2011/02/01(火) 00:38:59ID:rB9l6gPH
>>152
せっかくだけど、DXライブラリでやるわ。
わるいね。
協力ありがとう。
01551152011/02/01(火) 00:41:18ID:7s78HQyQ
ちゃんとお礼を言えたのか
とりあえず傍観しようかな
0156社内ニート ◆OpY5DDvqSw 2011/02/01(火) 00:48:18ID:rB9l6gPH
>>155
お前の書き込みは一切役に立ってねぇんだよ。
いてもいなくても同じだからとっととうせろwww
とか言ったら荒れるからな。
俺大人すぎwww
0157社内ニート ◆OpY5DDvqSw 2011/02/01(火) 01:47:16ID:rB9l6gPH
というのは冗談です。

水平な地形を表示して、
自機を表示して、
自機が左右に動くようにしました。

自機が残像みたいになるので、
1ループするごとに画像が消えるようにしました。
そうしたら地形も消えました。

地形画像と自機を別のレイヤーに表示させることって出来ませんか?
レイヤーってのがないんでしょうか。
0158社内ニート ◆OpY5DDvqSw 2011/02/01(火) 02:28:37ID:rB9l6gPH
>>145の、水平な地面を移動させるのと、地面と画面の端の当たり判定はできた。
0159社内ニート ◆OpY5DDvqSw 2011/02/01(火) 02:31:32ID:rB9l6gPH
次は、ぎざぎざの絵との当たり判定をつけることだな。

しかし、関係ないが腕が痛い。腱鞘炎?
力が入らん。
0160社内ニート ◆OpY5DDvqSw 2011/02/01(火) 03:01:59ID:rB9l6gPH
ttp://218.219.242.231/~kuroneko/imgboard1/img-box/img20110201025729.jpg

右のような画像との当たり判定をつけるにはどうすればいいの。
DXライブラリで使用するべき関数とか教えて。
0161名前は開発中のものです。2011/02/01(火) 10:05:09ID:XHAImUt7
>>160
透明な小さい四角をギザギザと同じような形に並べといて
その四角と当たり判定つける
01621152011/02/01(火) 12:56:55ID:7s78HQyQ
>>160
int grandY[地面の幅]; //地面のY座標
getGrandY(grandY); //地面のY座標取得
//当たり判定:charactorXは地面の左端からの座標 charactorYはキャラの下側の座標
if(charactorY>grandY[charactorX])charactorY=grandY[charactorX];


void getGrandY(int *grandY)
{
地面のY座標取得の方法
案@(難易度大、スマートさ大)
地面の画像ファイル(jpg?)を解析して座標を求める。
案A(難易度中、スマートさ中)
地形が記憶された白黒のビットマップを用意して、そこから座標を求める。
案B(難易度小、スマートさ小)
手で入力
}
0163社内ニート ◆OpY5DDvqSw 2011/02/01(火) 20:01:32ID:rB9l6gPH
>>161
縦×横 1x1ピクセル の画像を並べるというような手作業はムリ。
もっとおおざっぱでもいいんじゃないかって思うかもしれないけど、
ミリ単位の地形の凹凸が戦略に影響するゲームだから、それはちょっと困る。

>>162
肝心の部分が分からないんですが

案@ 画像ファイルを解析して座標を求める
って具体的に何をするんですか?

案A
こういう方法を今日思いつきました。同じことですか?

今日の勤務中に、 GetPixel という関数を発見しました。
指定点の色を取得できるらしい。
これを利用して、自機の下の座標が白なら当たってる。
黒なら当たってない。
というふうにやれば複雑な地形でも当たり判定をつけることが出来ると思ったんですが、
レイヤ表示させることができないとこの方法は無理です。
白黒の地形画像の上に本物の地形画像を重ねるわけですから。
逆に言えば、レイヤ表示ができればなんとかなると思うんで、どうにかできる人がいたらどうにかしてください。

B
>>161と同じ方法ですか?
そういう書き方されても分かりません。
0164社内ニート ◆OpY5DDvqSw 2011/02/01(火) 20:15:27ID:rB9l6gPH
レイヤ表示の仕方はお前らがどうにかしてくれるだろうから、
白黒画像の地形に当たり判定をつける作業に入る。
01651152011/02/01(火) 20:55:51ID:7s78HQyQ
>>164
@のやり方
http://ex.osaka-kyoiku.ac.jp/~j099608/test/text11.html
ここを参考にして考えよう。
ただし俺も分からんから頑張れ。
まあこの方法が完成したら白黒画像作る必要がなくなる。

Aのやり方
http://www.kk.iij4u.or.jp/~kondo/bmp/
ここを参考にして考えよう。
@より簡単だけど結構むずかしいと思うよ。

Bのやり方
grandY[0]=1px目の地面のY座標
grandY[1]=2px目の地面のY座標
.....
地面の幅の分だけこれを繰り返して入力しろ。

1番簡単だからおすすめはBだよ
0166社内ニート ◆OpY5DDvqSw 2011/02/01(火) 21:02:22ID:rB9l6gPH
>>165
ほんとに分かってんの?
01671152011/02/01(火) 21:04:29ID:7s78HQyQ
>>163
getPixcel調べたらGDIの関数みたいだね。
GDI使ったことないから使えるか分からん。
01681152011/02/01(火) 21:06:30ID:7s78HQyQ
>>166
@は俺にも分からんって言ってるじゃん
Bがお前が1番できる確率が高い方法
0169社内ニート ◆OpY5DDvqSw 2011/02/01(火) 21:13:29ID:rB9l6gPH
Bは>>161と同じ理由で却下。
ネコ戦車であそびおわったからそろそろ作業開始するわ。
0170社内ニート ◆OpY5DDvqSw 2011/02/01(火) 22:39:05ID:rB9l6gPH
 //色コードを取得 
 int Cr ;
 Cr = GetPixel( tankX , tankY ) ;


GetPixelで取得した 色コード ってのがどういうもんなのかよくわからん。
#FFFFFF とかってやつかと思ったんだけど、良く分からん。

なので、取得した色コードがどんな物なのか、表示させてみたい。
どんなふうに書けばいい?

それか、白の色コードをいきなり教えてくれてもいい。
0171名前は開発中のものです。2011/02/01(火) 22:50:51ID:OfaZ5sGu
>>162
上4行の方法だと水平な洞穴は作れないのと違う?

>>163
白黒画像を地形画像のαチャネル扱いしておけばレイヤー合成できるよ。

っていうか、着弾するごとに地形が変化するようにしたければ
仮想画面の取り扱いは必須だと思うよ。

>>170
COLORREFで検索するといいよ。
01721152011/02/01(火) 23:10:20ID:7s78HQyQ
>>171
>>108に洞穴作るなんて情報書いて無いじゃん
0173社内ニート ◆OpY5DDvqSw 2011/02/01(火) 23:24:11ID:rB9l6gPH
>>171
ありがとうございます。
さっそくCOLORREFで調べてみます。

今現在、白黒画像をαチャンネルとして用意して、
背景が見えるようにしてるんですが、
getpicxelでαチャンネル画像の色コードを取得することは出来ないので・・・
まあ、これについては後でかんがえます。
0174社内ニート ◆OpY5DDvqSw 2011/02/02(水) 01:29:59ID:QU1cQpLp
>>171
ありがとうございました。
DXライブラリ総合スレをみたり、いろいろ試して、
なんとか地形の上を動くようになりました。

方法は、
自機の下の座標の色を取得して、
黒(地形以外の場所)なら自機の位地を下げる。
白なら(地形の中にめりこんだら)自機の位地を上げる。
というものです。
一応地形の上を動いてはいますが、まったく納得がいかないので
しばらくは地形の当たり判定をうまくする方法と画像をレイヤ化する方法を探します。

それと、ここに居てもあまり有用な情報が得られ無いので
今後はDXライブラリ総合で名無しとして質問しながら製作を進めます。
進展があれば報告くらいにはきます。

ttp://218.219.242.231/~kuroneko/imgboard1/img-box/img20110202012444.jpg
01751152011/02/02(水) 08:15:48ID:XeB+1toB
せっかく俺が教えてゲーム完成させようと思ってたのに詰まらん奴
0176社内ニート ◆OpY5DDvqSw 2011/02/02(水) 20:03:29ID:QU1cQpLp
>>175
いや、まじでちゃんと教えてくれよ。
教えてくれるならここでやる意味もあるってもんだけどよ・・・。


ところで、今日の16時30分ころにひらめいた。
仕事中だったのでメモ帳に書いて自宅にメールを送って、今実行。
こういうふうにやった。

なお、
機体の下の地形の当たり判定を調べる座標のことは 接地判定点 と呼ぶことにします。
用意した画像は @背景 A地形 B地形とそれ以外の部分の白黒画像 Cタンク

-----------------------------------------------------------------
・描画先を裏画面にする

以下ループ
・B白黒地形を読み込む
・接地判定点の色を得る。
・画像を消す
・@背景、A地形画像を読み込む。
・接地判定点の色が黒ならタンクの座標Yを下にすこし移動させる。
・Cタンクを表示する。


ttp://218.219.242.231/~kuroneko/imgboard1/img-box/img20110202200118.jpg
0177名前は開発中のものです。2011/02/03(木) 02:38:59ID:twk/nf1h
これが人にモノを聞く奴の態度かよ
クズ過ぎワロタ
0178社内ニート ◆OpY5DDvqSw 2011/02/03(木) 08:46:28ID:/1zp6P08
じゃあ、態度を改めるのでちゃんと教えてください。

接地している地形に応じて機体の角度を細かく変更させたい場合はどうすればいいですか。
01791152011/02/03(木) 10:57:46ID:UjEDRWhX
>>178
atanで地面の傾きの角度を求めてそれを機体の角度に反映させる。
0180名前は開発中のものです。2011/02/03(木) 15:01:09ID:vhC2F1F2
設置点を2点にする。
■ このスレッドは過去ログ倉庫に格納されています