厨房なおいらにプログラム教えるスレ
■ このスレッドは過去ログ倉庫に格納されています
00011
02/05/28 20:36ID:pts0IQX6厨房に分かる程度優しく教えてくれた方にはお礼をイイマス
0116名前は開発中のものです。
2011/01/28(金) 16:30:22ID:Wmo75Tax0117社内ニート ◆OpY5DDvqSw
2011/01/28(金) 21:56:26ID:q5eIDIBUスタート地点がおかしい?俺にはわからん。
>>115
そういうこと。
で、具体的にどうすればいいかが分からない。
今日の勤務中にVisualC++の説明をしたホームページで勉強したが、
基礎の部分が長すぎて読みきれなかった。
今週いっぱいくらいかかるだろう。
ところで、地形の素材を作ってみた。
背景と地形の画像は別々に用意している。
ほかに、白黒2色の画像で、地形だけ黒くした画像も、当たり判定つけるときに役に立つんじゃないかと
思って用意した。
ttp://www.dotup.org/uploda/www.dotup.org1388328.jpg
0118社内ニート ◆OpY5DDvqSw
2011/01/28(金) 22:06:03ID:q5eIDIBU0119社内ニート ◆OpY5DDvqSw
2011/01/28(金) 22:10:15ID:q5eIDIBUプロジェクト名は 2tank だ。
とりあえずは仮名で。
そのうちかっこいい名前を考えるぜ。
0120社内ニート ◆OpY5DDvqSw
2011/01/28(金) 22:25:53ID:q5eIDIBU画像を表示させるのはpictuerboxを使えばいいんですか?
このさい、pictuerboxの使い方も教えてほしいけど、そこは自分で調べます。
pictuerboxってのがどうも、画像を表示させるのに使う道具らしいってのは感で分かりますが、
こういう場合は他の道具で表示させたほうがいいのかもしれないから、やるまえに教えてください。
0121社内ニート ◆OpY5DDvqSw
2011/01/28(金) 22:54:10ID:q5eIDIBU今日はここまで。
この後当たり判定をつけるにはどうするか教えてもらえるまで待ちます。
0122115
2011/01/28(金) 23:48:52ID:vQFViJxG定期的に処理を呼び出す方法は調べたの?
ゲームは1秒間に30コマくらいは処理を繰り返さないとだよ。
あとpictuerboxって処理が重い気がするな。
まあ俺も初心者だけど知ってる限りアドバイスする。
0123名前は開発中のものです。
2011/01/29(土) 00:39:05ID:4JzBtMNC実装の難度が変わってくると思うよ
>>108のEを入れるか入れないかが分かれ目かな
0124社内ニート ◆OpY5DDvqSw
2011/01/29(土) 01:57:18ID:4jAEgNIspictuerboxって重いのか。
それじゃあ、どうやって画像を表示させたらいい?
あと、定期的に処理を呼び出す方法とかも知らないので教えてください。
>>123
E=着弾地点を中心として地形が円形にえぐれる
これは絶対にはずせません。
穴を掘って敵をうめたり、穴の中に隠れたり、敵をフォールアウトさせたりと
細かい戦略がこのゲームの面白いところですので。
地形を折れ線で定義するとか、ビットマップで定義するっていうのはどうやるんですか?
今、私が出来るのは描いた絵を貼り付けることだけです。
調べるヒントになることだけでもいいので教えてください。
0125115
2011/01/29(土) 02:11:40ID:Heb2U9Ygwindows用のゲームはだいたいdirectXが使われてるよ。
まあ使い方は結構めんどくさいけどね。
定期的に呼び出すのはスレッドを作ってsleepするか
WM_TIMERを使うといいよ。
ビットマップで地形を表示したいなら
ビットマップのフォーマットを調べて
座標に変換するようにすればいいと思う。
0126社内ニート ◆OpY5DDvqSw
2011/01/29(土) 11:25:08ID:4jAEgNIs一度に言われても分からない。
とりあえずビットマップのフォーマトを調べてみます。
0127社内ニート ◆OpY5DDvqSw
2011/01/29(土) 11:29:27ID:4jAEgNIspictuerboxを使うと重いって話もあったんで、他の画像の表示方法も教えてください。
0128115
2011/01/29(土) 11:37:38ID:Heb2U9Yg一度に聞いたのはお前じゃんw
ビットマップより先に画像表示が先だと思うよ。
俺は画像表示にdirectX9のスプライト機能使うのがいいと思う。
0129社内ニート ◆OpY5DDvqSw
2011/01/29(土) 11:51:52ID:4jAEgNIs0131名前は開発中のものです。
2011/01/29(土) 12:54:49ID:DhIF6aTXアクションゲームじゃなくてターン制のゲームだったら
とりあえず描画が重くてもなんとかなるんじゃないかな
>>124
やりたいことを完全に実装したいなら、
まず、ステージの広さ分の仮想画面で地形を定義して、
ウィンドウサイズ部分を切り出して表示する処理が必要だよ
0132社内ニート ◆OpY5DDvqSw
2011/01/29(土) 15:23:40ID:4jAEgNIs説明はまたあとで読みます。
>>131
これまでのこれ系のゲームはターン制だったけど、
それって先行がかなり有利な場合があるんです。
そういう不平等をなくすために、ターン制は半分廃止にします。
なので、リアルタイムの通信が必要で、軽く出来るところがあるなら軽くしときたいです。
で、
>ステージの広さ分の仮想画面で地形を定義して、
>ウィンドウサイズ部分を切り出して表示する処理
この部分、具体的にVisualC++でどうやったらいいかとか、教えてもらえません?
0134社内ニート ◆OpY5DDvqSw
2011/01/30(日) 15:28:26ID:EOf3QC/apictuerboxでJpg画像を表示することは普通に出来ました。
地形の形になるよう並べるって言うのはどういうことですか?
まったくわかりません。
0135名前は開発中のものです。
2011/01/30(日) 15:50:20ID:doNhUFz6背景画像と地形とマスク(地面の有無)の3枚の画像があるんだよね?
pictureboxとやらでちゃんと合成できるの?
できるとしたら、処理速度的にどうなの?
0136社内ニート ◆OpY5DDvqSw
2011/01/30(日) 16:20:50ID:EOf3QC/a知らない。
やっぱり地形の有無を示すためのマスク画像ってのが必要なんだな。
で、それをどうやったら表示させることが出来る?
0137115
2011/01/30(日) 17:19:35ID:oIfYeeKojpegでやるんなら透過使えるんだからマスク画像なんて必要ないでしょ。
処理速度がpictureboxだと遅くてアクションだときついって言ってるのに
そこは考えないの?
directXの場合地形を1枚の画像でやろうとすると
ビデオカードが大きいサイズに対応してなかったりするから
512pix以内に地形画像を分割して並べて表示するのがいい
0138社内ニート ◆OpY5DDvqSw
2011/01/30(日) 17:58:42ID:EOf3QC/aだから、具体的にやり方を言え能無し。
0141名前は開発中のものです。
2011/01/30(日) 18:22:47ID:1iJSsxNE0142名前は開発中のものです。
2011/01/30(日) 20:14:11ID:hpGZU6lP人間として生きる価値ないよお前
0143社内ニート ◆OpY5DDvqSw
2011/01/30(日) 20:27:12ID:EOf3QC/a新店舗をまかされたはいいが、客が来ないだけだ。
0144社内ニート ◆OpY5DDvqSw
2011/01/30(日) 20:34:53ID:EOf3QC/a最初からそういいたまえ。
0145名前は開発中のものです。
2011/01/31(月) 00:02:20ID:dpE+y+Ksまずは気負わないで出来そうなことから部分的にやると良いと思うよ
平坦な地面を左右に動くだけのプログラムを作るとか
あといきなりDirectX9は敷居が高い気もする
11は簡単らしいけど知らん
0146社内ニート ◆OpY5DDvqSw
2011/01/31(月) 00:40:03ID:XYfTEsg4なに、directx9は敷居が高い?
使わなくてもやれるの?
平坦な地面の上をキャラクターが左右に動くだけのプログラム。
それでもいいからやり方教えてくれ。
0147名前は開発中のものです。
2011/01/31(月) 00:49:28ID:GHHyFSyzつDXライブラリ
画像程度なら簡単に表示できる。
まずはこれをインスコして動かすだけでもやってみ。
0148115
2011/01/31(月) 01:21:01ID:1vMX8mjpdirectX9でもスプライトならサンプルコピペで簡単に画像表示できるはずだよ
0149社内ニート ◆OpY5DDvqSw
2011/01/31(月) 02:26:57ID:XYfTEsg4それ、DXライブラリっての聞いたことがある。
ゲームを作りやすいものだって、ニコ動で誰かが言ってた。
仕えるようになるまでの設定もめんどくさそうだけど、詳しく説明してくれてるページがあるんで
ちょっとやってみる。
0150名前は開発中のものです。
2011/01/31(月) 11:17:45ID:Sn2Wsqmc0151社内ニート ◆OpY5DDvqSw
2011/01/31(月) 23:56:32ID:XYfTEsg4> まず適当なグラフィックファイルを以下のフォルダにコピー等で入れてください。
>
> VisualC++6.0 又は VisualStudio.net の場合
> サンプルプログラム用フォルダ( DxSample ) の中の『VC』というフォルダ。
VisualC++2010Expressの場合、どこのフォルダに画像を入れればいいですか?
0152115
2011/02/01(火) 00:10:29ID:7s78HQyQ作られたexeファイルのあるフォルダに入れて実行すればいいんじゃない?
あとDXライブラリ使うならやり方しらないからアドバイス出来ないな
俺はPCでのゲーム作りはdirectX9のコピペから初めた。
まあコピペだからdirectXの本質はあまり理解してないが
とりあえず形あるゲームは作れた。
0153社内ニート ◆OpY5DDvqSw
2011/02/01(火) 00:37:51ID:rB9l6gPHこれなら俺にもなんとかなるんじゃねw
>>151にあるような『VC』とかいうフォルダ探すのをあきらめて
ためしにプロジェクトフォルダに入れてみたら出来た。
でも画像サイズがでかすぎる。
調節しないと。
ってか、説明ページを読みながらやったら、
ウィンドウじゃなくて全画面表示されるようになったし。
次はウィンドウを表示させよう。
0154社内ニート ◆OpY5DDvqSw
2011/02/01(火) 00:38:59ID:rB9l6gPHせっかくだけど、DXライブラリでやるわ。
わるいね。
協力ありがとう。
0155115
2011/02/01(火) 00:41:18ID:7s78HQyQとりあえず傍観しようかな
0156社内ニート ◆OpY5DDvqSw
2011/02/01(火) 00:48:18ID:rB9l6gPHお前の書き込みは一切役に立ってねぇんだよ。
いてもいなくても同じだからとっととうせろwww
とか言ったら荒れるからな。
俺大人すぎwww
0157社内ニート ◆OpY5DDvqSw
2011/02/01(火) 01:47:16ID:rB9l6gPH水平な地形を表示して、
自機を表示して、
自機が左右に動くようにしました。
自機が残像みたいになるので、
1ループするごとに画像が消えるようにしました。
そうしたら地形も消えました。
地形画像と自機を別のレイヤーに表示させることって出来ませんか?
レイヤーってのがないんでしょうか。
0158社内ニート ◆OpY5DDvqSw
2011/02/01(火) 02:28:37ID:rB9l6gPH0159社内ニート ◆OpY5DDvqSw
2011/02/01(火) 02:31:32ID:rB9l6gPHしかし、関係ないが腕が痛い。腱鞘炎?
力が入らん。
0160社内ニート ◆OpY5DDvqSw
2011/02/01(火) 03:01:59ID:rB9l6gPH右のような画像との当たり判定をつけるにはどうすればいいの。
DXライブラリで使用するべき関数とか教えて。
0161名前は開発中のものです。
2011/02/01(火) 10:05:09ID:XHAImUt7透明な小さい四角をギザギザと同じような形に並べといて
その四角と当たり判定つける
0162115
2011/02/01(火) 12:56:55ID:7s78HQyQint 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縦×横 1x1ピクセル の画像を並べるというような手作業はムリ。
もっとおおざっぱでもいいんじゃないかって思うかもしれないけど、
ミリ単位の地形の凹凸が戦略に影響するゲームだから、それはちょっと困る。
>>162
肝心の部分が分からないんですが
案@ 画像ファイルを解析して座標を求める
って具体的に何をするんですか?
案A
こういう方法を今日思いつきました。同じことですか?
今日の勤務中に、 GetPixel という関数を発見しました。
指定点の色を取得できるらしい。
これを利用して、自機の下の座標が白なら当たってる。
黒なら当たってない。
というふうにやれば複雑な地形でも当たり判定をつけることが出来ると思ったんですが、
レイヤ表示させることができないとこの方法は無理です。
白黒の地形画像の上に本物の地形画像を重ねるわけですから。
逆に言えば、レイヤ表示ができればなんとかなると思うんで、どうにかできる人がいたらどうにかしてください。
B
>>161と同じ方法ですか?
そういう書き方されても分かりません。
0164社内ニート ◆OpY5DDvqSw
2011/02/01(火) 20:15:27ID:rB9l6gPH白黒画像の地形に当たり判定をつける作業に入る。
0165115
2011/02/01(火) 20:55:51ID:7s78HQyQ@のやり方
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ほんとに分かってんの?
0169社内ニート ◆OpY5DDvqSw
2011/02/01(火) 21:13:29ID:rB9l6gPHネコ戦車であそびおわったからそろそろ作業開始するわ。
0170社内ニート ◆OpY5DDvqSw
2011/02/01(火) 22:39:05ID:rB9l6gPHint Cr ;
Cr = GetPixel( tankX , tankY ) ;
GetPixelで取得した 色コード ってのがどういうもんなのかよくわからん。
#FFFFFF とかってやつかと思ったんだけど、良く分からん。
なので、取得した色コードがどんな物なのか、表示させてみたい。
どんなふうに書けばいい?
それか、白の色コードをいきなり教えてくれてもいい。
0171名前は開発中のものです。
2011/02/01(火) 22:50:51ID:OfaZ5sGu上4行の方法だと水平な洞穴は作れないのと違う?
>>163
白黒画像を地形画像のαチャネル扱いしておけばレイヤー合成できるよ。
っていうか、着弾するごとに地形が変化するようにしたければ
仮想画面の取り扱いは必須だと思うよ。
>>170
COLORREFで検索するといいよ。
0173社内ニート ◆OpY5DDvqSw
2011/02/01(火) 23:24:11ID:rB9l6gPHありがとうございます。
さっそくCOLORREFで調べてみます。
今現在、白黒画像をαチャンネルとして用意して、
背景が見えるようにしてるんですが、
getpicxelでαチャンネル画像の色コードを取得することは出来ないので・・・
まあ、これについては後でかんがえます。
0174社内ニート ◆OpY5DDvqSw
2011/02/02(水) 01:29:59ID:QU1cQpLpありがとうございました。
DXライブラリ総合スレをみたり、いろいろ試して、
なんとか地形の上を動くようになりました。
方法は、
自機の下の座標の色を取得して、
黒(地形以外の場所)なら自機の位地を下げる。
白なら(地形の中にめりこんだら)自機の位地を上げる。
というものです。
一応地形の上を動いてはいますが、まったく納得がいかないので
しばらくは地形の当たり判定をうまくする方法と画像をレイヤ化する方法を探します。
それと、ここに居てもあまり有用な情報が得られ無いので
今後はDXライブラリ総合で名無しとして質問しながら製作を進めます。
進展があれば報告くらいにはきます。
ttp://218.219.242.231/~kuroneko/imgboard1/img-box/img20110202012444.jpg
0175115
2011/02/02(水) 08:15:48ID:XeB+1toB0176社内ニート ◆OpY5DDvqSw
2011/02/02(水) 20:03:29ID:QU1cQpLpいや、まじでちゃんと教えてくれよ。
教えてくれるならここでやる意味もあるってもんだけどよ・・・。
ところで、今日の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接地している地形に応じて機体の角度を細かく変更させたい場合はどうすればいいですか。
0180名前は開発中のものです。
2011/02/03(木) 15:01:09ID:vhC2F1F20181社内ニート ◆OpY5DDvqSw
2011/02/03(木) 19:23:19ID:/1zp6P08ところで恵方ってどっちだ。
>>179
atanの存在を教えてくれてありがとう。
でも、角度を求めるには2つの点が必要だけど、
それをどうやって求めるかってところでなやんでる。
>>180
おれもそれを考えた。
でも、getpixelって重いらしいから、多様しちゃだめだって書いてたので気になる。
しかも、実はこれが3つ目の接地点。
いつの間に2つ目の点を作ったかっていうと、
接地点が黒の場合、機体の位地はどんどん下がって、白に1ドットめり込んだ状態でとまる。
その後、横に移動して、山みたいな地形にぶつかると、中にもぐりこんでしまうので、
今度は接地店が白の場合、機体の位置をどんどん上げていくようにする。
そうすると、接地店が白と黒の間でいったり来たりする結果になるので、
接地点を縦に2つ並べて、上の点が黒で下の点が白なら機体の上下を中止するっていうふうにした。
これで、タンク1つにつき3つのgetpixel。
4:4の対戦なら12のgetpixel。
……
まあ、かんがえても仕方ないから、接地点とタンクを増やしてやってみる。
これでだめなら、当たり判定のしかたを根本的に改める必要がある。
0182社内ニート ◆OpY5DDvqSw
2011/02/03(木) 19:52:37ID:/1zp6P08Getpixel より GetPixelSoftImage のほうがいけてるぜぇ〜。
との助言をいただいたので、そっちに変更しました。
GetPixelSoftImage って、 赤 緑 青 透過度 の4つを得ることが出来ますが、
これらのうち、一つだけを得ることってできるんでしょうか。
1つだけなら処理も軽くなる気がするんですが。
0183社内ニート ◆OpY5DDvqSw
2011/02/03(木) 19:58:52ID:/1zp6P08atanを使うには、一番最初に
#include "math.h"
って書けばいい?
必須ヘッダとか書いてたけど、良く分からん。
0184社内ニート ◆OpY5DDvqSw
2011/02/03(木) 20:00:57ID:/1zp6P08while
{ }
の中に、さらにwhileって入れていい?
0185115
2011/02/03(木) 20:27:36ID:UjEDRWhXGetPixelSoftImageの重さが気になるなら
配列用意してロード時に読み込んじゃえばいい
>>183
#include <math.h>
標準ライブラリだからこう書く
>>184
自分でややこしくならないなら入れてもいい
0186社内ニート ◆OpY5DDvqSw
2011/02/03(木) 20:38:59ID:/1zp6P08じゃあ、エラーが起こってる理由は別だな。
配列って、
000000000000000
000011111100000
001100000011000
001100000011000
000011111100000
000000000000000
みたいな感じで構造体ってのを並べてマップ表示するやつだろ?
構造体の縦×横が1ドットのものを全部並べるとしんどいからだめだって
>>161の時に言ったじゃん。
0187社内ニート ◆OpY5DDvqSw
2011/02/03(木) 23:15:39ID:/1zp6P08接地点を縦に2つ増やし、
タンクを8つに増やした。
Getpixelは全部で16個。
5ミリ秒ごとに16のGetpixelをやったけど特に問題なかった。
地形との接触角度を求めるために1タンクごとにGetpixelを3つにするのは問題なさそうだぁ!
というか、やりながら思いついたんだけど、
各タンクの角度を1台のPCにやらせる必要はない。
それぞれのプレーヤーのPCに自分のタンクの角度を計算させ、
計算後の機体角度と位地座標を他のプレーヤーに渡せばいい。
0188115
2011/02/04(金) 00:15:14ID:zvmJIej4http://www.kk.iij4u.or.jp/~kondo/bmp/
ここを見て作れって言っても全然理解できてないみたいだったから
しょうないから俺が白黒画像読み込み関数を作ってやった。
俺も情報系じゃない大学生だけどC言語の基本をちゃんと勉強すれば
このくらい作れるんだよ。
http://www.nigauri.sakura.ne.jp/src/up17895.zip.html
0189名前は開発中のものです。
2011/02/04(金) 00:15:33ID:kBxB8dJD0190115
2011/02/04(金) 00:21:25ID:zvmJIej4ミスってた
fp=fopen(fileName,"r");
をfp=fopen(fileName,"rb");に直して使ってくれ。
0191社内ニート ◆OpY5DDvqSw
2011/02/04(金) 00:59:07ID:3/Y06AUgポトリス系のゲームはやったことある?
プログラムできるんなら君に任せて、
俺が画像や音の素材作りをして、共同制作しませんか?
>>188
それを使えばだいぶ軽くなりそうだな。
実際使ってみてどうなるか分からないけどわざわざありがとう。
0192社内ニート ◆OpY5DDvqSw
2011/02/04(金) 01:05:30ID:3/Y06AUggetImagePixel(x,y)
0193社内ニート ◆OpY5DDvqSw
2011/02/04(金) 01:10:44ID:3/Y06AUg>>188でいただいた物の中身を見たら、
getImagePixel(x,y)
って言う物があったんですが、これって
getpixelみたいに重くないんですか?
弾が当たったら、その部分が大きく円形にえぐれるんで、
着弾するごとにそのマップデータを書き換える必要があるんですが、
白黒画像に塗りつぶした円を描画
↓
getimagepixelを利用して配列を作る
ってやってたら死ねると思うんですが、
1と0で出来た配列に、直接円形に変化させることもできますか?
できたらかなり助かりますが。
0194社内ニート ◆OpY5DDvqSw
2011/02/04(金) 01:51:38ID:3/Y06AUg/ |
/ |
/ | x
/ |
/ |
/θ |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
y
この角度、θを求めるためには
θ = atan2 ( y , x ) ;
って書けばいけるかと思ったんですが、だめでした。
どう修正すればいいですか?
0195名前は開発中のものです。
2011/02/04(金) 03:33:52ID:IKXR4Y/u今のマシンじゃちょっとやそっとじゃ重くならないし。
速度が気になるんなら関数をラップして、
完成して余裕ができたら速い処理に置き換えるよう工夫するとかしたほうがいい。
0196社内ニート ◆OpY5DDvqSw
2011/02/04(金) 03:43:43ID:3/Y06AUg初心者に分かるように言えYo!ファッキュー!
でも、重いかどうか考えずに作ったほうがいいってのはそうだな。
人間の感覚で重いと思っても、コンピューターにとってはそれほどでもなかったりするし。
思い切って、getpixelいっぱい使っても平気だった。
どんどん作っていったほうがいい。
それで動かなかったらそのとき考えよう。
で、>>194は?
0197社内ニート ◆OpY5DDvqSw
2011/02/04(金) 03:46:24ID:3/Y06AUg「PC壊れちゃったんでしばらく作業できません」
ってことがよくあるが、ほんとにあるんだな。
俺は風呂が壊れた。
水風呂だ。
0198名前は開発中のものです。
2011/02/04(金) 03:49:52ID:cMbvhy2thttp://excel.ara3.net/func/atan2.htm
0199名前は開発中のものです。
2011/02/04(金) 05:11:15ID:IKXR4Y/u斜辺と接辺の内積を取る。単位はcosθ。
ラジアンとかで取得したかったら、内積値に逆三角関数で求められる。
0200社内ニート ◆OpY5DDvqSw
2011/02/04(金) 08:49:52ID:3/Y06AUg事故解決しました。
XとYに(double)つけたらよかった
0201115
2011/02/04(金) 15:21:47ID:zvmJIej4getImagePixelはメモリから直接読みだしてるんだからgetpixeより全然軽いはず。
http://www.nigauri.sakura.ne.jp/src/up17897.zip.html
↑は円と四角形を描画するプログラムも入れた奴
テストをあまり行ってないからバグがあったら教えてくれ
0202社内ニート ◆OpY5DDvqSw
2011/02/04(金) 19:52:36ID:3/Y06AUgこれで描く塗りつぶし円は、ビットマップ画像に描画して、その後再び
getImagePixelでビットマップを0と1の配列にするんですか?
0203115
2011/02/04(金) 20:33:30ID:zvmJIej4言ってることが良く分からんが
このプログラムはloadImageでファイルから配列bufに画像を読み込む。
fillRect、drawCircle、fillCircleでbuf内に入ってる画像に書き込む。
getImagePixelでbuf内の画像の色を取得出来る。
お前はgetPixelで白黒画像を読み込んでるみたいだからgetImagePixelに
置きかえれるはず。
0204社内ニート ◆OpY5DDvqSw
2011/02/04(金) 20:57:47ID:3/Y06AUg着弾して地形がえぐれるたびにgetimagepixelを桁違いに多用することになるから。
fillCircleでbuf内に入ってる画像に書き込んでからgetImagePixelで画像の色を取得
というのが、無駄が多すぎる気がする。
ただ、ゲーム開始時のステージデータ読み込みにはすごく有効だと思う。
あとは、着弾点をどうやって変形させるかさえなんとかなればいける。
というか、あらかじめgetpixelを使って配列を作っておけばいいね。
0205115
2011/02/04(金) 21:04:55ID:zvmJIej4fillCircleは地形を変化させる時に使えばいいだけで
getImagePixelは1回loadImageで白黒画像を読み込んじゃえば使えるよ。
0207社内ニート ◆OpY5DDvqSw
2011/02/04(金) 21:13:55ID:3/Y06AUgfillCircleを使った後にgetimagePixelを使わないと、
配列はfillCircleを使った前と後で変わらないんじゃない?って話なんだけど。
0209社内ニート ◆OpY5DDvqSw
2011/02/04(金) 21:21:22ID:3/Y06AUg0211115
2011/02/04(金) 21:30:10ID:zvmJIej40212名前は開発中のものです。
2011/02/05(土) 01:18:30ID:fuYn973Khttp://amadela.web.fc2.com/tank/
マシンスペックによっては、ちょっと重いかも。
0213社内ニート ◆OpY5DDvqSw
2011/02/05(土) 08:16:34ID:LqlwHybZ>>211
getImagePixelは
配列から値を読み取る
じゃなくて、画像から値を読み取る
じゃないの?
0214社内ニート ◆OpY5DDvqSw
2011/02/05(土) 08:21:18ID:LqlwHybZgetImagePixelで読み取り、
putImagePixelで0と1の配列に書き出す。
↓
0と1の配列が出来上がる。
↓
地形を変形させたいので、
fillCirkleでBMP画像に円を描く
↓
BMP画像は変形したが、この状態ではまだ0と1の配列はさっきと同じ状況。
↓
getImagePixelで読み取り、
putImagePixelで0と1の配列に書き出す。
↓
変形後の0と1の配列が出来上がる。
じゃないの?
0215社内ニート ◆OpY5DDvqSw
2011/02/05(土) 08:27:12ID:LqlwHybZすばらしい!
まさに基本はこれです。
地形との当たり判定はどうやってますか?
機体の角度はどうやって測定してますか?
急斜面を上れないようにするのは機体の角度で制限ですか?
■ このスレッドは過去ログ倉庫に格納されています