[過去ログ]
Windowsゲームプログラミング 質問スレ (973レス)
Windowsゲームプログラミング 質問スレ http://mevius.5ch.net/test/read.cgi/gamedev/1225974525/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
23: 14 [sage] 2008/11/14(金) 05:07:34 ID:wWFUvlwz >>22 ありがとうございます しかし読んでみたはいいのですがそれをどう組み込んでいいかがやっぱり思いつきませんでした なのでがんばって自己流で判定組んでみたら 「○○.exe の 0x0056e0b6 でハンドルされていない例外が発生しました: 0xC0000094: Integer division by zero」 とか出されてしまいました、一体これはどういうことなんでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1225974525/23
24: 14 [sage] 2008/11/14(金) 05:14:12 ID:wWFUvlwz ソース int ShellAX, ShellAY, ShellXT, ShellYT; //xが次のエリアに到達するまでの時間 if(ShellVX==0){ //分母が0防止 ShellXT=0; }else{ if(ShellVX>0){ //右に変化中 ShellXT=(35-(ShellBX%35))/ShellVX; }else{ //左に変化中 ShellXT=(-1)*(ShellBX%35)/ShellVX; } } //yが次のエリアに到達するまでの時間 if(ShellVY==0){ //分母が0防止 ShellYT=0; }else{ if(ShellVY>0){ //下に変化中 ShellYT=(20-(ShellBY%20))/ShellVY; }else{ //上に変化中 ShellYT=(-1)*(ShellBY%35)/ShellVY; } } ShellAX=ShellBX/35; ShellAY=ShellBY/20; http://mevius.5ch.net/test/read.cgi/gamedev/1225974525/24
25: 14 [sage] 2008/11/14(金) 05:14:58 ID:wWFUvlwz while(ShellX>LeftEdge&&ShellX<LeftEdge+350&&ShellY>0&&ShellY<20*BlockY){ //ブロックが存在しうる範囲かどうか if(ShellXT<ShellYT){ //Xのエリアが先に変化 if(ShellVX>0){ //右方向に突入 if(BlockFlag[ShellAX+1][ShellAY]){ //突入した先にブロックが存在 BlockFlag[ShellAX+1][ShellAY]=0; ShellVX*=(-1); ShellX=35*(ShellAY+1); //エリア突入時の境界線へ移動 ShellY=ShellBY+(ShellVY/ShellVX)*(35*(ShellAY+1)-ShellBY); //エリア突入時にyが進んだ分だけ増加 break; }else{ //突入してもなかったよ ShellAX++; //判定を次のエリアへ移行 ShellXT+=35/ShellVX; //次のエリアへの突入時間加算 } }else{ //左方向に突入 if(BlockFlag[ShellAX-1][ShellAY]){ //突入した先にブロックが存在 BlockFlag[ShellAX-1][ShellAY]=0; ShellVX*=(-1); ShellX=35*ShellAX; //エリア突入時の境界線へ移動 ShellY=ShellBY+(ShellVY/ShellVX)*(35*ShellAX-ShellBX); //エリア突入時にyが進んだ分だけ増加 break; }else{ //突入してもなかったよ ShellAX--; //判定を次のエリアへ移行 ShellXT=35/ShellVX; //次のエリアへの突入時間加算 } } http://mevius.5ch.net/test/read.cgi/gamedev/1225974525/25
26: 14 [sage] 2008/11/14(金) 05:15:41 ID:wWFUvlwz }else{ //Yのエリアが先に変化 if(ShellVY>0){ //下方向に突入 if(BlockFlag[ShellAX][ShellAY+1]){ //突入した先にブロックが存在 BlockFlag[ShellAX][ShellAY+1]=0; ShellVY*=(-1); ShellY=20*(ShellAY+1); //エリア突入時の境界線へ移動 ShellX=ShellBX+(ShellVX/ShellVY)*(20*(ShellAY+1)-ShellBY); //エリア突入時にxが進んだ分だけ増加 break; }else{ //突入してもなかったよ ShellAY--; //判定を次のエリアへ移行 ShellYT+=20/ShellVY; //次のエリアへの突入時間加算 } }else{ //上方向に突入 if(BlockFlag[ShellAX][ShellAY-1]){ //突入した先にブロックが存在 BlockFlag[ShellAX][ShellAY-1]=0; ShellVY*=(-1); ShellY=20*ShellAY; //エリア突入時の境界線へ移動 ShellX=ShellBX+(ShellVX/ShellVY)*(20*ShellAY-ShellBY); //エリア突入時にxが進んだ分だけ増加 break; }else{ //突入してもなかったよ ShellAY++; ShellYT+=20/ShellVY; } } } //抜け出し要素判定 if(ShellAX==ShellX/35||ShellAY==ShellY/20){ //判定エリアが既にボールが来たことになっている場所とおなじなら break; } } http://mevius.5ch.net/test/read.cgi/gamedev/1225974525/26
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.029s