DXライブラリ 総合ス ..
262:名前は開発中のものです。
08/12/13 02:20:00 E/1bppJy
>>261
玉の画像は消えるんだけど、当たり判定だけが「次にショットボタンを押すまで」残るんだ。
何がしたいかは、「玉一つにつき一回だけダメージ判定」をしたい。
ショットコード↓
if( Key & PAD_INPUT_A && shotflag == 0){ //ショットボタンが押されたら
PlaySoundMem( p_shot_se , DX_PLAYTYPE_BACK );//ショット音を鳴らす
shotX = PlayerX ;
shotY = PlayerY ; //プレイヤーの現在位置を取得
shotflag = 1 ; //ショットフラグONにする
}
if( shotflag == 1 ){ //ショットフラグONになったら
shotY -= SHOT_SPEED ;
DrawGraph( shotX+10 , shotY , p_shot_img , TRUE ) ;
if(shotY < SHOT_DELAY){
shotflag = 0 ;
}
}
判定コード↓
GetGraphSize( enemy01 , &SizeX , &SizeY ) ; //グラフィックのサイズを取得
hit = SizeX/2 ; //グラフィックの当たり判定(半径)
hitX = shotX - enemy01X;
hitY = shotY - enemy01Y; //三角形の斜辺を除くXYの長さ
hitS = sqrt(hitX*hitX+hitY*hitY); //斜辺
if(enemy01_Life < 0){ //敵死亡してる時
DeleteGraph( enemy01 ) ;
}
else if(hitS < hit ){ //(ヒット時)
PlaySoundMem( hit_test , DX_PLAYTYPE_BACK );
shotflag = 0;
enemy01_Life -=1;
263:名前は開発中のものです。
08/12/13 02:39:09 DJ2YFwb1
>>262
判定のコードがifにかかってない
if( shotflag == 1 ){ //ショットフラグONになったら
shotY -= SHOT_SPEED ;
DrawGraph( shotX+10 , shotY , p_shot_img , TRUE ) ;
if(shotY < SHOT_DELAY){
shotflag = 0 ;
}
判定コード↓
GetGraphSize( enemy01 , &SizeX , &SizeY ) ; //グラフィックのサイズを取得
hit = SizeX/2 ; //グラフィックの当たり判定(半径)
hitX = shotX - enemy01X;
hitY = shotY - enemy01Y; //三角形の斜辺を除くXYの長さ
hitS = sqrt(hitX*hitX+hitY*hitY); //斜辺
if(enemy01_Life < 0){ //敵死亡してる時
DeleteGraph( enemy01 ) ;
}
264:名前は開発中のものです。
08/12/13 02:43:12 DJ2YFwb1
なんか伝わる気がしないから書き方を変えると
if(shotflagが真)
{
//ここに判定のコードも書く
}
265:名前は開発中のものです。
08/12/13 02:56:17 E/1bppJy
えっと、つまり
ショットコード内で
if( shotflag == 1 ){ //ショットフラグONになったら
この部分に判定コード(>>263のGetGraphSize〜DeleteGraph( enemy01 ) ;)
}
を入れないとダメってこと?
266:名前は開発中のものです。
08/12/13 03:06:51 DJ2YFwb1
そう
shotflagって弾があるかないかのフラグでしょ?
今のままだとshotflagが0の時にも判定される
あといろいろ突っ込みどころがあるけど
そういう書き方してると確実にスパゲティソースになる
267:名前は開発中のものです。
08/12/13 11:56:05 E/1bppJy
>>266
マジかw
プログラム初心者で全然分からんから適当に組んでる
既にややこしくなってる
268:名前は開発中のものです。
08/12/13 12:55:29 6PMqtPt6
動けば結構。
実際に作って慣れればいいのだ。
269:名前は開発中のものです。
08/12/13 13:01:52 E/1bppJy
>>263-264
そのとおりにやってみたけど
やっぱり玉一つで「次にショットボタンが押されるまで」の間に複数回攻撃判定が出ちゃう・・・。
270:名前は開発中のものです。
08/12/13 13:08:45 WaQfNGav
>>267
初心者なら仕方なら、一回スパゲティコード書いて捨てる経験もしてみるといいかもね。
それがいやならオブジェクト指向の簡単な本があるからそれ読んでみるといいよ。
オブジェクト指向とゲームは相性がよい部類。
ためしにオブジェクト指向で書き直してみようかと思ったけど、半分ほど書いた時点で
長くなった上に果たしてこれを理解できるのかという疑問がわいてきたので捨てた^w^)
271:名前は開発中のものです。
08/12/13 13:10:15 WaQfNGav
仕方ならってなんだよOTL 仕方ない、ね
272:名前は開発中のものです。
08/12/13 13:19:00 klDdA96T
OOとゲームって相性いいかなぁ。
素人の俺がいうのもなんだけどむしろ相性はよくない方だと思うけど、経験が足りないからかな?
一応ゲーム作りはDXライブラリ使ってもOO(OO風ともいう)を意識して書いてるけど、
C++の便利な機能(クラスや継承程度)を使うくらいでこれぞOOって感じでもないなぁ。
C#でちょっとしたツールなんか作るとOOだなぁって感じるけど。
273:名前は開発中のものです。
08/12/13 13:48:06 WaQfNGav
>>272
ツールを作る件はオブジェクト指向じゃなくて提供されるオブジェクト指向ライブラリが優秀
ってだけだと思う。
>相性はよくない方
どの辺が?ならデータ指向で作る?手続き指向で?俺は絶対いやだけどなー。
パラダイムってのはつまるところコードの整理術なわけで、それを感じないってのは別に
不思議じゃないよ。
さっきでたコード、弾丸と敵との当たり判定がでてきだけど、
int dx = shot->getX() - enemy->getX();
int dy = shot->getY() - enemy->getY();
double distance = sqrt( dx*dx + dy*dy );
if( distance < HIT_SIZE )
{
/*ヒット処理*/
}
って書いてたらお前ちょっと表に出ろだけど、ちゃんとTell, dont ask の原則にのっとって書いたら
if( shot->hitTest( enemy ) )
{
/*ヒット処理*/
}
変更にも強く、なおかつコードはわかりやすくなる。
274:名前は開発中のものです。
08/12/13 17:56:36 E/1bppJy
もー全然できねーよおおおおおおお
いっそコレ仕様にすっか
敵の端っこにショット当てた状態でショットボタンを押さないと一定時間大ダメージ!
画期的と言えば画期的だが生憎ただのバグだ。
275:名前は開発中のものです。
08/12/13 18:54:39 DJ2YFwb1
>>274
今じっくり見たけど
>>262のif( shotflag == 1 )のブロックを>>262の一番最後で閉じるか
else if(hitS < hit )のブロックの中でhitSを条件満たさないように変更する
これで正常になると思うが、違ったらすまそ
276:名前は開発中のものです。
08/12/13 18:56:46 O5bnNqrG
shotflagっていうのは弾の生死状態を管理するフラグなんだから、
弾が生きているときだけ判定をすればいいわけだよね。
>>>264が言う通り当たり判定をするブロックを if ( shotflag == 1 ){}で囲めば出来ると思うんだけどなあ。
弾が死んでても玉の座標は留まって、さらにshotflagが機能していないから(セットが上手く行っていないか判定処理に考慮されていない)
何度も当たっていると思われるんだけど。
てか敵をデタッチするのにDeleteGraph()で画像そのものを削除するって激しすぎないか?w
if ( enemy_alive ) { Task(); } // 敵が生きているときのみ敵に関する処理を行う
とかにした方が良いと思うんだが。
277:名前は開発中のものです。
08/12/13 18:59:29 O5bnNqrG
ごめん、if ( enemy_alive ) → if ( enemy01_Life >= 0 )
278:名前は開発中のものです。
08/12/13 21:59:39 E/1bppJy
>>274だけど、ちょっと検証した
当たり判定は座標で行ってたから
URLリンク(www.uploda.org)
この画像の様に(hit>hitS)になってる時に判定が出て、その判定が次玉を出すときまで残るんだ。
だからこの画像はhitは21でhitSは13.9.....ってなってるので次に玉が出るまで(hitSの数値が変わるまで)凄い勢いでenemy_Lifeが減り続けてる
敵に当たった瞬間にhitSをリセットすればいいのかな?
279:名前は開発中のものです。
08/12/13 22:22:05 O5bnNqrG
もうソースうpしてくれよ
280:名前は開発中のものです。
08/12/13 22:28:29 E/1bppJy
URLリンク(www2.uploda.org)
パスは274
問題のソースはenemy_moveとplayerにあります。
初心者だからすげー読みずらいと思う
281:名前は開発中のものです。
08/12/13 22:30:08 DJ2YFwb1
>>275では解決しなかったか?
282:名前は開発中のものです。
08/12/13 22:32:35 E/1bppJy
>>281
うん、その通りにやってみても何故か結果は変わらずだった
283:名前は開発中のものです。
08/12/13 22:32:46 O5bnNqrG
hitSっていうのは敵と弾との距離でしょ
それは当たり判定をする必要があるとき、
つまり弾と敵が生きているときに毎フレーム計算すればいい
弾の座標を遥か彼方にリセットしたりhitSを直接いじくって
当たり判定が真にならないようにすれば確かに上手く行くだろうけど
本質的には当たり判定をする必要が無いときに判定しているのが問題なんじゃないの?
284:名前は開発中のものです。
08/12/13 22:45:11 E/1bppJy
>>283
毎回計算して判定してるんだけど
ヒットした時に計算が次玉出すときまで止まっちゃう
285:名前は開発中のものです。
08/12/13 22:47:31 O5bnNqrG
>>280
全然修正されてないじゃないかw
「enemy_move.cpp」の
GetGraphSize( enemy01 , &SizeX , &SizeY ) ; //グラフィックのサイズを取得
の前に一行追加して
if ( shotflag == 1 ){
GetGraphSize( enemy01 , &SizeX , &SizeY ) ; //グラフィックのサイズを取得
とする。
次に、その下のほうの
int Color ;
の前に閉じ括弧を追加して
}
int Color ;
とする。
つまり、当たり判定をしている部分を
if ( shotflag == 1 ){
}
で括る。
それとインデントをきっちりしないとネストレベルが分からなくなるよ。
286:名前は開発中のものです。
08/12/13 22:53:39 klDdA96T
>>273
んーていうかC#の件は、ライブラリが優秀で作りやすい=オブジェクト指向って事じゃなくて、
コントロール一つ設置してイベントを呼び出すってだけでオブジェクト指向を感じる。
もっと具体的に言えばイベントハンドラ(やデリゲート)がオブジェクト指向だなぁって。
提示してくれた下のコードも、それだけじゃオブジェクト指向を感じない。
結果的に言わんとしようとしてることはわかるけどね。
ただそれだけじゃただのサブルーチン呼び出し。
言いたいのはそのコードだけを見てオブジェクト指向じゃないって事じゃないし、
自分でゲーム作る時もオブジェクト指向で書きたいわけだけど、
概念的に無理やり感があるのと、非オブジェクト指向でも書けるってので、
GUIアプリと比べて相性がいい方ではないって事。
287:名前は開発中のものです。
08/12/13 23:05:58 E/1bppJy
>>285
おおおおおおお!!!ありがとおおおおお
一つのライフしか減らないwwwwwww
すげー!ショットフラグがONの時にしか判定しないようにするってそういう事だったのかwww
ちなみにプログラムの書き方?はこんな感じでいいのかな?
288:名前は開発中のものです。
08/12/13 23:22:28 HImZ/jwv
どうでもいいけど定数を#defineで書くのとconstで書くのってどっちがいいのけ?
俺は気持ち悪いからconstでやってるわけだが
289:名前は開発中のものです。
08/12/13 23:33:22 Swo2xfir
>288
・歴史的な経緯とかはあるかも
・特に理由が無ければconstでいいんじゃね?
・defineじゃないと出来ないこと、スマートなこともあるから気をつけろ
290:名前は開発中のものです。
08/12/13 23:34:35 Swo2xfir
>287
とりあえず、何でもいいので1つ完成させてからじゃないと
定番の書き方とかは説明しても意味が無いし、おそらく理解できないと思う。
291:名前は開発中のものです。
08/12/13 23:42:11 MCFYNnvA
#defineは計算式入れられるのがいいな
気を付けないと間違った結果が返ってくるハメになるが
292:名前は開発中のものです。
08/12/14 00:49:54 UsQn7VQk
>>287
おめでとう。お世辞にも綺麗なソースとは言えないけど、
モノとして動いているということはとても大事なこと、すごいことだよ。
作り続けていれば段々上手くなって行くはず。
あと>>285の修正をした段階で、今度は敵の消滅タイミングがおかしくなると思う。
敵のライフが-1になった瞬間には敵は消滅せず、その後自機が弾を発射した瞬間に消滅する、っていう風に。
これを修正するには、敵をデタッチ(殺す)処理をしている部分を移動させればいい。
/* ↓elseは消し、必要なら if ( enemy01_Life >= 0 && hitS < hit ) などとする。しなくても出来るが。
または if ( shotflag == 1 ) のところに敵の生死チェックを入れる。即ち if ( enemy01_Life >= 0 && shotflag == 1 ) とする。しなくてもでき(ry */
if(hitS < hit ){ //敵の画像と自機の玉を直角三角形結んだ時の斜辺が当たり判定より小さい時(hit!!)
PlaySoundMem( hit_test , DX_PLAYTYPE_BACK );
shotflag = 0;
enemy01_Life -=1;
if(enemy01_Life < 0){ //敵死亡してる時 /* この3行を */
DeleteGraph( enemy01 ) ; /* ここに */
} /* 移動 */
}
まずはインデント(ソースコードの段落処理)から始めよう。
293:名前は開発中のものです。
08/12/14 01:24:21 2jf1rfQx
そこでPythonとrubyの登場ですね
294:名前は開発中のものです。
08/12/14 07:22:24 HIyGZizO
>>286
さっき提示したコードの価値をただのサブルーチン呼び出しとか
言っちゃってる時点でなんかもう全然わかってない。
あれはShotオブジェクトにEnemyとの当たり判定を”頼んで”いるんだよ。
この違いがわからないんならいつまでたっても素人のまま。
というか
>もっと具体的に言えばイベントハンドラ(やデリゲート)がオブジェクト指向だなぁって。
デリゲートなんか関数型プログラミング言語の概念の拝借だよ。
これがオブジェクト指向!なんてデザインパターンこそがオブジェクト指向!というのと同じくらい笑えるんだが。
>概念的に無理やり感があるのと、非オブジェクト指向でも書けるってので、
>GUIアプリと比べて相性がいい方ではないって事。
どこが無理やりなんだよw
さっきのコード、Enemy,Player,Shotというクラスを抽出できるけど、これのどこが無理やりなんだよ。自然だろうに。
それとGUIアプリだって手続き型で書ける。イベントハンドラやデリゲートはオブジェクト指向の一機能を使って
実装されてるけれど、それ自体はオブジェクト指向じゃない。だからVBでもGUIアプリが組めるわけだ。
ここまで言ってゲームをオブジェクト指向で組むのは向いてないと言うならもうしらね
というかもっと勉強してくださいいやマジで
295:名前は開発中のものです。
08/12/14 09:52:32 1zOFBaLD
C#6年やってるんだけど未だにオブジェクト指向わからねえ。
でもゲームとオブジェクト指向は相性いいと思うよ。
296:名前は開発中のものです。
08/12/14 11:03:33 DFScKmBl
イベントを使ってたところをEventListenerとか使ってobserver剥き出しに変更したら
オブジェクト指向になるのか? 実質的に全く等価なのに?
>>294の言うオブジェクト指向って何なんだ
297:名前は開発中のものです。
08/12/14 11:38:14 NFgVN8d3
オブジェクト指向って単純に、人が走っても車が走っても同じ「走る」だ、ってだけじゃねーの
298:名前は開発中のものです。
08/12/14 12:16:50 h39ltAFv
オブジェクト指向って考え方が出る前からプログラム作って遊んでるが
未だにオブジェクト指向が理解できん。
273で言うならちょっと表へ出ろレベル以下だ。
299:名前は開発中のものです。
08/12/14 17:59:02 17g8Fdx4
>>294は釣りだよな?w
突っ込むところが多すぎるww
「ShotオブジェクトにEnemyとの当たり判定を”頼んで”いる」だけでオブジェクト指向とかww
ところで、ゲームをオブジェクト指向で組むのは向いてないって話題は誰がしてるの?してない気がする。。
300:名前は開発中のものです。
08/12/14 18:01:31 17g8Fdx4
>>297
たぶんオブジェクト指向入門書にはそういう概念的な事が書いてあると思うけど、
オブジェクト指向って本当は概念の事じゃないよ。
もっと具体的なプログラミングの事。
「ShotオブジェクトにEnemyとの当たり判定を”頼んで”」も別にオブジェクト指向じゃないww
301:名前は開発中のものです。
08/12/14 18:44:57 CDnr1Yv3
>>300
そうなん?
レシーバか引数が違えばそれは別物だっていう名前空間の概念がまずあって
そいつを楽に実現するための補助がクラスやテンプレートやインターフェースなんだって認識だったが
具体的なプログラミングの事を言うなら言語がクラスベースかどうかで相当違ってくると思うし
あと>>299最後の行は>>272
302:名前は開発中のものです。
08/12/14 18:58:29 AhiFoxCU
構造体に関数がくっついただけのクラスのインスタンスを生成して
それで動かしたらオブジェクト指向。
そう思っている俺が通りますよ。
303:名前は開発中のものです。
08/12/14 19:02:22 ST598Jfh
何もめてんだよ
>>272は基本的に用語を間違っているがそれに気付いていない
で、親切に答えてくれた>>273と会話がかみ合っていない
>>272はVBライクなコンポーネント貼りつけとプロパティ設定での
プログラミングスタイルとオブジェクト指向を混同している
また、Windowsのイベントドリブン構造を言語仕様と勘違いしてる
-まとめ-
Q.DXライブラリを使うとVBでアプリ作るみたいにコンポーネント貼ってプロパティ設定だけでプログラムできますか?
A.できません
Q.イベントドリブンがオブジェクト指向ですよね?
A.違います
Q.イベントドリブンでゲームプログラムは書けますか?
A.書けます
Q.オブジェクト指向でゲームプログラムは書けますか?
A.書けます
304:名前は開発中のものです。
08/12/14 19:18:54 mrF69eoK
ん〜・・・?
>>272の
>DXライブラリ使ってもOO(OO風ともいう)を意識して書いてるけど
っていうのはDXライブラリ自体がC(非OOPL)で書かれてるけどって意味だろ
>>303こそ勘違いしてるだろ
305:名前は開発中のものです。
08/12/14 19:22:31 17g8Fdx4
厳密に言えばC/C++使ってる時点でピュアなオブジェクト指向は無理だけどな。
メッセージ呼び出しっていう機能はないし、それに似た機能はメソッド呼び出し(=関数呼び出し)でしかないし。
組み込み型もオブジェクトじゃないしいきなりint main(){}で始まるしww
306:名前は開発中のものです。
08/12/14 19:33:16 5menpJL8
幸せって何ですか?
307:名前は開発中のものです。
08/12/14 20:33:18 P8eg6rH1
オブジェクト指向ってそんなに高度な事なの?
それとも人それぞれ考え方が変わるモノなの?
308:名前は開発中のものです。
08/12/14 20:46:29 uHyIUedU
CしかわかんなくてもDirextXゲームプログラムがさっくりできちゃうのがウリの
DXライブラリのスレでオブジェクト指向を熱っぽく語る男の人って……
309:名前は開発中のものです。
08/12/14 21:04:56 SEtb8HBj
____
/ \ /\ キリッ
. / (ー) (ー)\
/ ⌒(__人__)⌒ \ < 厳密に言えばC/C++使ってる時点で
| |r┬-| | ピュアなオブジェクト指向は無理だけどな。
\ `ー'´ /
ノ \
/´ ヽ
| l \
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、.
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
____
/_ノ ヽ、_\
ミ ミ ミ o゚((●)) ((●))゚o ミ ミ ミ
/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\ /⌒)⌒)⌒)
| / / / |r┬-| | (⌒)/ / / // だっておwwwww
| :::::::::::(⌒) | | | / ゝ :::::::::::/
| ノ | | | \ / ) /
ヽ / `ー'´ ヽ / / バ
| | l||l 从人 l||l l||l 从人 l||l バ ン
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、 ン
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
310:名前は開発中のものです。
08/12/14 21:23:33 a4AnO2Cl
DXライブラリで質問が・・・
あ、スレ間違えました!すみません
311:名前は開発中のものです。
08/12/14 21:47:10 17g8Fdx4
>>309
int main()ってオブジェクト指向的になんなの?www
312:名前は開発中のものです。
08/12/14 22:41:43 ST598Jfh
>>304
何がん〜・・・?だ
そんな事だから
>>286
>んーていうかC#の件は、ライブラリが優秀で作りやすい=オブジェクト指向って事じゃなくて、
>コントロール一つ設置してイベントを呼び出すってだけでオブジェクト指向を感じる。
とかマヌケな事を書いてしまうのさ
>>303のまとめでいいんだよ
RADツールと言語の区別もついてない質問に対して、みんなにちゃんと答えてもらってる事をまず理解するべきだな
元々スレ違いだ、感謝こそすれ相手を見下すとか勘違いすぎるんだよww
313:名前は開発中のものです。
08/12/14 23:20:03 17g8Fdx4
なんか常に話がちょいズレの人いるな
314:さらに話がちょいズレの人
08/12/15 00:08:20 JJfbOdAj
>>303には、同意だけど。 OOなんて元の発生が3つぐらいあって、
さらに様々な言語にそれらのOOが混同されながら導入される過程で
どんどんと複雑に入り組んでいってる。
(しかも、良くも悪くも元がProgramming言語における概念だから、
普通の言葉に意味を汲み出す過程で色々とノイズや過不足が起こる。
さらに、OOAだ、OODだなんだので純粋なOOよりも
とりあえず使える道具としてのOOが今のメインストリームだと思うし。)
だから、結果的には、人によってOOの概念も色々な違いがある。
あと、そんな訳だからと言う訳じゃないがCだって、OOPLは可能。
ただし、言語的なサポートが対応してないから、
様々な工夫をする必要があったりする。
また、逆の意見としても>>305のint main()で始まるからオブジェクト指向じゃない。
ってのもどうかと思う。
OSも含めたアプリケーションをProgramとみるならば、
int main()は、ズバリそのアプリの呼び出しメッセージと見做しても誤解ではないしね。
あと、>>301の言ってる事は別にOOじゃないと思うぞ。
それらは単に多態性とかであって、OOとしてあったら好ましいが、
さらに>>300のプログラミングの概念と具体的なプログラミングが別モノっぽいのも違うんじゃない?
基本アセンブリでやるでもない限りは、プログラムは概念に概念を積み上げた産物だし、
それらの概念を如何につかうか?どのように解釈するか?がプログラミングでしょ。
だからこそ、gotoは悪!!やJavaにはポインタはありません!!みたいな話も出てくるわけでww
315:名前は開発中のものです。
08/12/15 00:20:00 xNu63hXk
俺は別にピュアだか厳密だか理想的だかなOOじゃなくても
それなりに作れてメンテできればいいかな
ピュアなのがいい人はその人が納得する言語なりなんなりを使えばいいし
316:名前は開発中のものです。
08/12/15 00:48:36 syJyrDB+
ついこの前DXライブラリでゲームを作り始めた初心者なんですが。
時間のとり方について質問があります
URLリンク(homepage2.nifty.com)
のサイトを見て時間所得して表示までできたのですが、ボタン(たとえばスペースボタン)を押して時間を最初からやり直すのはどうすればいいでしょうか?(キー入力状態の取得はできています)
日本語わかりずらかったらすいませんm(_ _;)m
317:名前は開発中のものです。
08/12/15 00:52:41 r0Y4Aqo3
int ゲーム内ではこっちを使う;
ゲーム内ではこっちを使う = GetNowCount();
if (ボタンが押された) ゲーム内ではこっちを使う = 0;
318:317
08/12/15 00:57:14 r0Y4Aqo3
間違えた。正しくは
int ゲーム内ではこっちを使う;
int 前にリセットした時間;
int now = GetNowCount();
ゲーム内ではこっちを使う = now - 前にリセットした時間;
if (ボタンが押された) { ゲーム内ではこっちを使う = 0; 前にリセットした時間 = now; }
319:名前は開発中のものです。
08/12/15 05:27:51 dny0TB5O
>>148
いや、スレチでもないぞ。ライブラリ作者の古い作品だから
320:名前は開発中のものです。
08/12/15 11:37:12 gYDVxSnY
>>273
if( shot->hitTest( enemy ) )
{
/*ヒット処理*/
}
って書くとたしかに変更に強くわかりやすくなるけどそれがOOだっていうのは尚早だよ。
hitTest()の中身は結局上と同じ事してるんだから。
だからその部分がOOだって言われるとただのリファクタリング手法でしかない。
もしその部分だけでOOだっていえるならGUIアプリだって
TextBox tb = new TextBox;
list.add(tb);
ほら、同じ。
でも両方ともただオブジェクトを渡してるって事実しかないよ。
それを推しておきながらデリゲートだけじゃOOじゃない!っていうのは横暴だなぁ。
ちなみにVBは今はOOPLだよ。
OOは議論が起きるくらい曖昧なところもあるけど、やっぱりカプセル化・継承・ポリモーフィズムの3つは最低限主張すべきだね。
個人的にはわざわざなんでカプセル化なんてあるのか疑問だけどw(隠蔽や最小の原則なんかは構造化言語からずっとあった)
321:名前は開発中のものです。
08/12/15 11:46:55 gYDVxSnY
>>303
煽るわけじゃないけど流れを読んできてなんでいきなりWindowsのイベントドリブンが出てくるのかなって思ったんだけど、
きっと>>305のメッセージ呼び出し機能って言葉からそう思ったのかな?
たしかにイベントドリブンもメッセージっていうけどOOのメッセージっていうのは全く別物だよ。
純粋なOOPL(Smalltalkなど)ではメッセージ機能っていうのがあるんだ。
メソッド呼び出しに似てるけどちょっと違う。
C++ではメンバ関数、Javaではメソッド呼び出しで実現してるけどね。
詳しくは自分で調べてみて。
322:名前は開発中のものです。
08/12/15 13:36:35 Mi5wQEEl
>>321
>>286
>コントロール一つ設置してイベントを呼び出すってだけでオブジェクト指向を感じる。
>もっと具体的に言えばイベントハンドラ(やデリゲート)がオブジェクト指向だなぁって。
いや、Windowsのイベントドリブン構造の事だ
読めばわかる
323:名前は開発中のものです。
08/12/15 17:20:30 k3xYLtfr
オブジェクト指向は僕達の心の中にあります
324:名前は開発中のものです。
08/12/15 18:27:06 VbZykIE5
俺の中でオブジェクトっつったらスプライトの事だ!
325:名前は開発中のものです。
08/12/15 20:55:40 0kk0L8Su
じゃあ俺は、この形。
int WINAPI WinMain(うんたらかんたら〜){
Application App;
App.Run();
return 0;
}
Applicationのインスタンスが生成されてる間はアプリが生きてる。
App破棄と同時にアプリも終了する、この形がいちばん美しいと思う。
326:名前は開発中のものです。
08/12/15 21:40:30 fyQ9eFTJ
>>325
シングルスレッドであれば、確かに良いアイディアだと思う。
327:名前は開発中のものです。
08/12/15 21:43:08 WW1gkqvT
そこまでやる必要あるか?
328:名前は開発中のものです。
08/12/15 23:22:35 A6pVWDv7
>>326
中でタスクマネージャー的なものでCPU毎に負荷分散させているかもしれんぞ?
329:名前は開発中のものです。
08/12/16 00:20:42 fzHt/ZSS
>>325のやりかたにどこかまずいところあるの?
330:名前は開発中のものです。
08/12/16 00:26:55 JBSSxUHl
>>324
用語が適当すぎるよな。
メモリを占拠した実体→「オブジェクト」
コンパイルして出来るファイル→「オブジェクト」
自分自身で処理させる論理機構→「オブジェクト」
名前付けたやつちょっとツラ貸せっていうか
昔、書籍読んだときさっぱり意味わからんかったぜ・・
331:名前は開発中のものです。
08/12/16 00:44:36 o3pFEybH
メモリを占拠した実体ってインスタンスのこと?
332:名前は開発中のものです。
08/12/16 01:58:01 r2TMQqJU
変数じゃないの?変数もオブジェクトだよね
333:名前は開発中のものです。
08/12/16 04:02:55 dNyohwYS
>324はもっと誉められていいと思う
334:名前は開発中のものです。
08/12/16 11:37:43 IA9CyF+N
昔読んだ本には、OOPは
オブエクとは「物」と訳される。曖昧さの象徴である。
頭の中でイメージしなさい。
物と呼ばれる、段ボール箱「みかん箱」がたくさんある。
みかん箱の中身は隠されている、知らなくて良い。
みかん箱を紐で結ぶ事が「プログラム」である。
みかん箱には切替スイッチが付いている、それで位置、色、大きさが変化する。
みかん箱が「オブジェクト」である。
335:名前は開発中のものです。
08/12/16 14:57:03 j+OyGE8J
基本的にOOやマイノリティ言語のウンチクや自分語りはスレ違いだな
336:名前は開発中のものです。
08/12/17 01:37:25 SDA7SaR9
>>334
簡単に言うと
バカでも切り替えスイッチをポチって押せば変化する事が出来る。
けどその変化する「仕組み」を理解する必要は無い。
って事?
オブジェクト指向あんまよく分からないけど、そうなると定数#defineって簡単なオブジェクト指向に入るの?
例えば
#define SPEED 25//数値を変えると速度が変えられます。
ってあったら数字を変えるだけで変化が実装できるし。
なんか違うかw
337:名前は開発中のものです。
08/12/17 02:09:42 adQIUXL6
>>336
それだけだとただのブラックボックス化。
OOの一部ではあるけどCの関数だってブラックボックスでしょ?
338:名前は開発中のものです。
08/12/17 02:33:05 S1ZUobQv
グラフィック表示させる関数いろいろあるじゃない
DrawGraphとかDrawTurnGraphとかDrawExtendGraphとかDrawRotaGraphとかDrawRotaGraph2とかDrawModiGraphとか
あれみんな同じ重さなのかな
あと、やっぱ画像の大きさと重さにも関係あるのかな
あと、同じ四角のグラを表示させるのでもその四角のグラ用意して読み込んで表示させるのと
DrawBoxで表示させるとでは重さは変わらないのかな
339:名前は開発中のものです。
08/12/17 02:38:22 S1ZUobQv
自分でOO使ってゲーム作ろうとすると結局グローバル多用したりパブリック多用しちまうんだよなあ
340:名前は開発中のものです。
08/12/17 02:53:08 dezoAnwU
>>336
>>337
Wikipedia項目リンク
341:名前は開発中のものです。
08/12/17 02:59:26 dezoAnwU
>>338
自分で実際に比べてみればいいんじゃね
342:名前は開発中のものです。
08/12/17 03:20:54 adQIUXL6
>>338
”重さ”ってなんだ?^^;
ソース見てベンチ測って見ればいいじゃん。
343:名前は開発中のものです。
08/12/17 06:22:20 S1ZUobQv
なるほど
その発想はなかったわ
そんなこといままでしたことなかったからな
面倒臭さと相談してやるかどうか考えてみる
344:名前は開発中のものです。
08/12/17 07:31:49 dezoAnwU
>>343
やるならGetNowHiPerformanceCount()を使うのはどうだ?
で、計測した方法と結果をここに書けば聞きっぱなしじゃなく他のやつの参考にもなる
345:名前は開発中のものです。
08/12/17 08:18:15 /BQwBqZh
DXライブラリでスムーズに最大値合成できませんかね?
「画像を減算合成→重ねて加算合成」で実装すると、色深度が16ビットの時汚くなるし、描画コストも倍になるんですが……
346:名前は開発中のものです。
08/12/17 20:28:28 S1ZUobQv
VC6.0でLONGLONG型表示させるには%I64dでよかったかな
347:名前は開発中のものです。
08/12/18 10:36:19 Gli++Azx
sprintfの話?
__int64 を使うならそれだね。
348:名前は開発中のものです。
08/12/22 14:30:15 3lSGgVQC
DXライブラリいいね!
DXライブラリ3Dとは別ものなのかね?
349:名前は開発中のものです。
08/12/22 14:38:38 fWgsLNUU
3Dの方は派生verだな
350:名前は開発中のものです。
08/12/23 10:53:03 0Fgrfb5X
ゲームプログラムってMSXのころBASICでやってた程度だけど
DirectXっつーやつはすごいな
ダブルバッファリングっつーのがあれば
MSXのころ悩んでたことがほとんど悩まなくていいじゃんね。
スクロールすら画像を移動するだけって最強すぎ。
351:名前は開発中のものです。
08/12/23 12:05:58 UbzH2xVf
>>350
ちょっ、MSXの頃だってダブルバッファリングしてたっつうのw
MSXはページ切り替えできたから、最高に楽だったわ
まあ、ハードウェアスクロールがあればもっと良かったが仕方ない
352:名前は開発中のものです。
08/12/23 12:16:16 0Fgrfb5X
>>351
そうか
それはすまんかった
あー。そういえばあったような気がしないでもないな。
でも俺の技術では処理速度が遅くてスプライトを動かす程度しかできなかった
スクロールとかもってのはか。
353:名前は開発中のものです。
08/12/23 15:26:44 9N5u30T9
してたっけ。
もう覚えてないやw
354:名前は開発中のものです。
08/12/23 16:45:08 SQBujvLn
つーか、毎回全画面書き換えに耐えられないからページ切り替えはヘルプ画面とかで
利用してた気がしないでもないが。
355:名前は開発中のものです。
08/12/23 17:12:48 VOrvPW1P
タイトル画面を一瞬で表示するために使ってた。
あとはAVGの絵や3D迷路の表示とか。
アクション系のゲームには使わなかったな。
356:名前は開発中のものです。
08/12/23 17:42:12 1h1OeV87
ページを切り替えないと、
ロゴとかが生成される様子が眺められるんだよな。あれはあれで楽しかった。
357:名前は開発中のものです。
08/12/23 17:47:08 0Fgrfb5X
やっぱりいろいろ工夫する必要あったよね。
でもDXライブラリ使ったらそんなことまったく考えなくてよかったから
カルチャーショックだった。
358:名前は開発中のものです。
08/12/23 19:15:26 5et0/vdD
流石に時代は変わったわ。
ま、MSXBASICのノリでかる〜く作っちゃえ。
359:名前は開発中のものです。
08/12/23 20:09:58 LP/OttsW
なんだこの40代スレ
360:名前は開発中のものです。
08/12/23 22:47:31 fMIdyvOB
How many pages ? ■
361:名前は開発中のものです。
08/12/24 00:56:47 DPn+CnyU
MSXが導入されて、それまでのマシンで頻発してた
「雑誌掲載のソースコードを打ち込んでも自分のマシンだと動かない」っていうのが
少なくなったって印象があったなあ。
まあ、MSX自体のバージョンアップがあって、その栄光も一瞬だったんですけどね!
>359
まだ20代の真ん中くらいだよ!
362:名前は開発中のものです。
08/12/24 01:58:38 fELrH+/v
Windowsが導入されて、
「自分で作ったプログラムが他人のPCでは動かない」っていうのが
少なくなった…………かな?
363:名前は開発中のものです。
08/12/24 05:58:03 IOaM1VJp
昔はスペックのわりにマシンも高価だったし
CPUやビデオをアップグレードするには、PCをまるごと買い換えるのが基本だったり
お殿様商売の時代だったなあ
364:名前は開発中のものです。
08/12/24 06:59:35 S9NW4iC4
>>350
>>351
MSX1なのか2なのか2+なのかターボRなのかどのスクリーンモードなのかで話が違ってくるし
ここはDirectXのスレじゃなくDXライブラリのスレだぜ!
365:名前は開発中のものです。
08/12/24 09:24:20 WpOVuCI5
VECTOR3 hoge;
hoge = mL.GetCameraEyePoint();
としてVECTOR3の中身をとりだしたいのですが
hoge.x
とかいうような形でとりだせないものでしょうか?
366:名前は開発中のものです。
08/12/24 09:43:56 WpOVuCI5
VECTOR3 cc;
cc.x=5;
mL.printf("cc.x=%d", cc.x);
としてもcc.x=0って表示されてしまいます。
367:名前は開発中のものです。
08/12/24 09:51:25 WpOVuCI5
すみません。
mL.printf("cc.x=%f", cc.x);
にしたら表示されました。
368:名前は開発中のものです。
08/12/28 11:21:41 DBaYT0uR
DXライブラリの描画をウィンドウハンドルを渡して
とあるウィンドウ内に表示することはできないでしょうか?
こんな感じで
URLリンク(blogs.wankuma.com)
369:名前は開発中のものです。
09/01/04 19:04:03 X40+Kh+H
更新が止まってるようだけど
DXライブラリ3Dって完成したの?
370:名前は開発中のものです。
09/01/05 13:47:48 hCfaSDI/
失礼ですが質問です。
DXライブラリでプログラムを作って起動し、終了させたのですが、
なぜかウィンドウは消えてもタスクバーに"DxLib"が残ってしまいます。
閉じようと何度も試しましたが消えてくれません(タスクマネージャでもダメ)。
以前同じことが起こった時はパソコンの電源をスイッチから直接切らないといけませんでした。
何か解決策はないでしょうか。
このトラブルが発生した時は自分の失敗で無限ループを脱せず、
ツールバーのデバッグの停止を使って終了させました。
たぶん原因はこれだと思います。
371:名前は開発中のものです。
09/01/05 14:31:31 etDOrpmF
DxLib_End()
を呼ばなかったからに1票
372:名前は開発中のものです。
09/01/05 15:06:35 hCfaSDI/
>>371
一応プログラムには書いてありますが、
その無限ループが発生したループ内では通ってないと思います。
これが原因なのでしょうか。
しかしDxLib_End()を通ると即プログラム終了だと思っていたのですが・・・
373:名前は開発中のものです。
09/01/05 15:15:38 aPIdrXEx
DxLib_End()はライブラリの終了であって、
ちゃんとその後ループから抜けてプログラム自体終了(WinMainからreturn)してるの?
374:名前は開発中のものです。
09/01/05 15:16:28 va+Hleat
>何か解決策はないでしょうか
>たぶん原因はこれだと思います。
>これが原因なのでしょうか。
ソースも晒さず、これだ、あれだと聞き返されても返答が難しいよね
>失礼ですが質問です。
失礼だと思ったので、回答は出来かねます
375:名前は開発中のものです。
09/01/05 16:13:33 hCfaSDI/
>>374
私に誠意が足りませんでした。申し訳ございません。
どう書けばよいのか分からないのですが、
WINMAINの中でreturnさせる直前にDxLib_End()を置いています。
DxLib_End()は一度限りでいいと思っていましたがもしかして違ったいたのでしょうか。
私が尋ねたかったのは、プログラムの起動中、
もしくは無限ループで抜け出せない時にデバッグの停止を行うと、
上述のトラブルが発生するのでしょうか、ということです。
分かりづらくて本当に申し訳ございません。
ソースに関しては、プログラムの内容について尋ねていたつもりではなかったため、
晒さずに漠然とした質問になってしまいました。この点に関しても私に落ち度がありました。
抜粋するのが適当だとは思いますが、ソースを全部晒しておきます。
URLリンク(www6.uploader.jp)
・・・喧嘩腰に見えるorz 敬語って難しいです。
376:名前は開発中のものです。
09/01/05 16:20:42 hCfaSDI/
これではただの丸投げですねorz
int WINAPI WINMAIN( 略 ){
(ここにプロトタイプ宣言した関数) ←ここの中で無限ループが発生している
DxLib_End();
return 0;
}
という風にはしています。
ソースでは一応ですがループを自分で抜けられるようには少し変えています。
377:名前は開発中のものです。
09/01/05 18:20:18 P66gcfVh
ソースのヒドさがなんか好感もてるなw
>(ここにプロトタイプ宣言した関数) ←ここの中で無限ループが発生している
>
>DxLib_End();
それだと、
そのループから処理が抜けない限り、絶対にDxLib_End()には辿り着かない
そんでデバッグツールでの停止ではもちろんDxLib_End()が呼ばれず、それが問題だというのは一応あってるかもしれない
378:名前は開発中のものです。
09/01/05 19:02:24 KsfcQKrh
Flashのムービークリップや、
JavaScriptのsetIntervalのように
毎フレーム実行させるようにセット・解除できるような機能はないでしょうか?
379:名前は開発中のものです。
09/01/05 23:22:56 etDOrpmF
>>376
ソース見るのだるいから見ないが、
ループを抜けられるようにしてあるなら、ループを抜けてみてプロセスが残ってないか確かめればいいじゃないか。
プロセスがしっかり終了してればDxLib_End()が呼ばれてなくてそれが問題だったって分かるんじゃないか?まぁ、これだけじゃそうとも限らないが。
それでもし終了できていたらDxLib_End()を書いたものと書かないものとを比べればちゃんと分かるが。
で、それが分かればおのずと質問に答えられると思うが。
ただ、ProcessMessage()だっけ?で処理してくれるような終了の仕方(ってある?)の場合には、そこらをしっかり書けばちゃんと終了できると思うが。
380:名前は開発中のものです。
09/01/05 23:59:30 V4nq/52k
>>376
while(CheckHitKey(KEY_INPUT_SPACE)==0){
battle();
WaitKey();
}
ScreenFlip();
WaitKey();
DxLib_End();
return 0;
}
これだとProcessMessageで-1引いてもループ抜けられないような気がする。
whileの条件式にProcessMessageの判定加えたらいいんでは。
あと抜けた後のWaitKeyは、強制終了後も参照されてしまうのでやめたほうがいい。
381:名前は開発中のものです。
09/01/06 00:18:40 F/Rau1w+
>毎フレーム実行させるようにセット・解除できるような機能はないでしょうか?
何を毎フレーム実行させたいんだ?
というか質問は一つづつにしろよ
382:名前は開発中のものです。
09/01/06 07:35:09 Oinf+8tR
>>381
情報が足りませんでした。申し訳ありません。
JavaScriptでは、
var set = setInterval(function(){
〜〜処理〜〜
}, 1);
のようにすると、1ミリ秒ごとにfunctionを呼び出すことができます。
また、clearInterval(set);で解除することもできます。
同じように毎フレーム実行させることはできるでしょうか。
whileに全て入れるのが面倒なのです。
383:名前は開発中のものです。
09/01/06 08:50:13 35IX/qYC
>>379,380
アドバイスありがとうございます。
ProcessMessage()を完全に忘れていました。
まだまだ基本がなっていないようなので、しばらくROMって学んでいこうと思います。
384:名前は開発中のものです。
09/01/06 09:59:47 eUx/xd8R
>>382
どうも、聞きたいことがよく分からん。
while文に入れるのが面倒なほどに大量に関数があるのか?
複数の関数を一つの関数の中にまとめて、まとめた関数をwhile文の中においておくってのじゃダメなんか?
それとも、while文に全て入れるのが面倒じゃなくて、
フレーム管理とかプログラムの状態遷移が分からないってことか?
ってか、それはライブラリというより言語の使用じゃないか?
もし仮にDxライブラリで出来たとしても、登録、解除のし忘れとかでバグの原因になりそうに思えるんだが。
385:名前は開発中のものです。
09/01/06 11:50:37 WsDU+BU3
設計の問題であってDXライブラリとは関係ないな
for (int i = 0; i < enemyCount; i++) enemy[i].Update();
こういうようなことを言ってるの?
386:名前は開発中のものです。
09/01/06 15:00:44 Oinf+8tR
>>384
whileに全て入れるのが面倒に感じていましたが、言われてみるとそうですね。
>>385
毎フレーム実行させるという意味でこちらにきましたが、観点がずれていたようです。
while文の中にforループを入れるという発想はありませんでした。試行錯誤してみようと思います。ありがとうございました。
387:名前は開発中のものです。
09/01/06 15:06:41 WsDU+BU3
>>385みたいなのって定石だから
試行錯誤するよりも初心者サイトでも見て素直に真似した方がいいよ
388:名前は開発中のものです。
09/01/06 20:56:28 Nr8kFssc
>>377
少なくともVSの「デバッグの停止」ならDxLib_End()が呼ばれなかろうとなんだろうとちゃんとリソースを解放してくれるはず。
>>370がいつまでも終了しなかったのはexeを直接起動したかリリースビルドだったのでは?
>>380
WaitKey()は別に問題ないよ。
あとScreenFlip()がWhileの外にあったら画面更新されないから中へ。
389:名前は開発中のものです。
09/01/11 09:44:15 fWlpK7Co
DXライブラリを使用つつ、DirectXを直接使用することは出来ないでしょうか?
○○->(うんたらかんたら)
という処理が入っていると、エラーが発生して終了してしまいます。
390:名前は開発中のものです。
09/01/11 11:16:24 yJOODiUh
>389
その例文だと全く意味が伝わらない
391:名前は開発中のものです。
09/01/11 14:03:14 fWlpK7Co
>>390
わかり難くてすいません……
DirectXを直に使いたい所があるので以下のコードを追加し呼び出した所強制終了が発生したので、
やはりDXライブラリを使用しながら直接DirectXを使う事は難しいのでしょうか?
#include <d3d8.h>
void aaa(){
LPDIRECT3DDEVICE8 FogDev;
D3DCOLOR FogCol;
float FogStart;
float FogEnd;
FogCol=0xffffff;
FogStart=100;
FogEnd=300;
//この中をコメントアウトすればエラー無し
//逆に一つでもあるとエラーで落ちてしまう……
//================================================
FogDev->SetRenderState(D3DRS_FOGCOLOR,FogCol);
FogDev->SetRenderState(D3DRS_FOGSTART,*((DWORD*)&FogStart));
FogDev->SetRenderState(D3DRS_FOGEND,*((DWORD*)&FogEnd));
FogDev->SetRenderState(D3DRS_FOGVERTEXMODE,D3DFOG_LINEAR);
FogDev -> SetRenderState(D3DRS_FOGENABLE,true);
//================================================
}
392:名前は開発中のものです。
09/01/11 14:50:36 2fY4/RNq
質問ですが、ウィンドウモードにした時の左上のウィンドウアイコンは変更出来ますか?
393:名前は開発中のものです。
09/01/11 16:25:19 rRSsOCCS
>>391
参照エラーかな?
DXライブラリ側でLPDIRECT3DDEVICE8って持ってなかったっけ?
と無責任な事言ってみる。
DXライブラリのソース確認してみて。
>>392
出来るよん
394:名前は開発中のものです。
09/01/11 18:28:35 fWlpK7Co
>>393
ヘッダファイルを確認した所、LPDIRECT3DDEVICE7に関しての記述はみられましたが、
LPDIRECT3DDEVICE8についての記述はありませんでした。
ライブラリ初期化の前に読んだ所起動すらしなかったので、やっぱりDXライブラリとの競合ですかね……
395:名前は開発中のものです。
09/01/11 20:07:47 fWlpK7Co
どうやら単純にコードが悪かった様です。
スレ汚し失礼しました……
396:名前は開発中のものです。
09/01/16 16:45:35 EID2Tgc4
前うpして感想頂いて、とてもやる気が出たので、
こんな感じの体験版となりました。
URLリンク(tikuwa.net)
DLKey:dx
397:名前は開発中のものです。
09/01/16 23:45:16 c/8VRMs/
頑張ってるじゃん
BGMやSEも自作?
引用があれば著作権等の明記はしっかりしておいた方が良いよ
398:名前は開発中のものです。
09/01/16 23:47:43 iRSkofRl
DXライブラリ3Dのサイトが消えてるな
399:名前は開発中のものです。
09/01/17 00:09:20 zPKek+/O
ほんとだ、今見てみたら消えてるな
400:名前は開発中のものです。
09/01/17 00:17:49 h2yGMjkV
DXライブラリでタイトルバー消すことって出来る?
イメージ的にはこういうものを作りたいんだけど
URLリンク(www.geocities.jp)
URLリンク(www.geocities.jp)
↓
URLリンク(www.geocities.jp)
401:名前は開発中のものです。
09/01/17 00:30:31 r/BmSdjn
>>400
URLリンク(studiokingyo.fc2web.com)
で紹介されてる方法で駄目なら、ちょっと工夫が要る気がする
402:名前は開発中のものです。
09/01/17 01:42:14 A53qKgs6
>>397
自作なので大丈夫かとは思います。
403:名前は開発中のものです。
09/01/17 01:46:05 hNEzfB40
自作なのか……すげぇ。
404:名前は開発中のものです。
09/01/17 01:57:18 A53qKgs6
あ、DXライブラリとPNG読み込み機能の著作権表記してない…これはマズったかも…。
405:名前は開発中のものです。
09/01/17 09:58:07 OLTrE10N
>396
すげえ
どんどん敵が固くなるw
敵がワイドショット撃ってくるあたりから先にいけん
406:名前は開発中のものです。
09/01/17 10:33:37 POC77fOB
>396
相変わらず難し過ぎる……w
ところでなんかボスのライフが下がり切らない内に倒せたんだけど。制限時間?
あとグレイズタイプって何かと思ったらサイヴァリアなのね。
407:名前は開発中のものです。
09/01/17 11:55:31 A53qKgs6
>>403
どれも芋臭い曲ばかりですけどね…。
>>405
殆ど自機狙いなので直前に避けるとやりやすいと思います。
>>406
サイヴァリアの快感を再現してみたかったんです。
ボスはかすりで永遠に稼げるのと、ショット弱体化の対策として、
ワインダーを放ち終えた2分で自滅するようにしてみました。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4261日前に更新/249 KB
担当:undef