- 25 名前:14 mailto:sage [2008/11/14(金) 05:14:58 ID:wWFUvlwz.net]
- 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; //次のエリアへの突入時間加算 } }
|

|