【3Dゲームエンジン】Unity質問スレッド5at GAMEDEV【3Dゲームエンジン】Unity質問スレッド5 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト108:名前は開発中のものです。 13/07/09 10:29:10.51 ol0evQj0 >>93 単純にコライダをセットしてRayCastで当たり判定 つけたほうがシンプルな気がする 109:名前は開発中のものです。 13/07/09 10:53:59.98 NmJrzQPl >>108 RayCastってポリゴン単位の交差判定じゃね 見かけ上の透過処理で透明に見えてるだけのピクセルとか判断出来ないんじゃね 110:名前は開発中のものです。 13/07/09 11:00:33.54 WHyCBKEt >>93 すまん>>97は忘れてくれ 自前で計算する必要は一切無くて、これらを順番に使うだけでイケると思う Camera.ScreenPointToRay() Physics.Raycast() RaycastHit.textureCoord Texture2D.GetPixelBilinear() 111:名前は開発中のものです。 13/07/09 11:24:12.81 4ZWPcpqB 80です。 白のターンでめくるのがうまく行かないのは自己解決しました。 (>>105さんの書き込みはそのあとでみましたが、まさにその通りでした。) 0.2ずつ変化させていた値をintに入れて比較に使っていたことが原因でした。 一部抜粋 board[r2,c2].transform.eulerAngles.x=180*n; color[r2,c2]=n; //colorはintで宣言していたために、0か1しか入らない //中略 print("color:"+color[r2,c2]+" (turn==0 && color[r2,c2]<=turn):"+(turn==0 && color[r2,c2]<=turn)); //これを出してみてやっと気がつきました。 if((turn==0 && color[r2,c2]<=turn) || (turn==1 && color[r2,c2]>=turn)){ /*なので黒のターンでは小数をintに入れたときの扱いによって偶然うまく行ったが、 白のターンの時には意図しないところでこの条件に引っかかってしまっていたために めくるのが途中で止まってしまった*/ 以下で黒のターンだと白のターンへ行く前に"next turn"と出力されるのに白のターンでは出なかったのは、 コンソールでCollapseを押していたことが原因のようでした。 これで無事互いにめくることができました。 出来上がったものをアップしなおしておきます。 [948.zip] とりあえず互いにめくることができるようになったリバーシ 7.15MB 2013-07-09 reversi.zip まだ互いのコマの数の表示やおける場所があるか判断して自動パスするのは実装していませんが、 一応遊べなくもないものです。 ありがとうございました。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch