[過去ログ] UnityC#勉強してMMO作たいけどどうする!?4(^^ (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
281(1): 名前は開発中のものです。 [sage] 2018/01/31(水) 17:59:38.45 ID:lwHgI11I(1/8) AAS
>>280280(1): ボッキングの弟子 ◆rZPPjYuxmQ [sage] 2018/01/31(水) 16:50:35.39 ID:4VwlB9Gi(3/5) AAS
Mathf.Clamp調べてみました、範囲内の数値を返してくれるのですね
すごくありがたい関数です
ただ一つ問題というか、疑問なんですが、まず範囲内かどうか知るためには
画面の大きさを知らないとならないんです
で昔ならScreen.Widthとかで画面の大きさ取得したりしたのですが
Unityの場合というか今回実は範囲の判定を transform.position.x でしています
これは画面上をマス目?に区切っているみたいでそのマス情報みたいなのですけど
で、ゲーム上では中央が原点0になり、左がマイナス、右がプラスの数値になります
作成している画面上だと−6、+6が範囲ギリギリでしたので
例えば、次のような感じにしたのですが
if (transform.position.x > 6)
{
Vector3 newPos = new Vector3(6, transform.position.y, transform.position.z);
transform.position = (newPos);
}
実はこれUnity上でプレイすると問題ないのだけどexe作成した場合、ゲーム開始で画面解像度選択できるのです
そこで大きい画面を選ぶと、画面の端まで行かないで制限値になってしまいました><
実行時に画面のマス目?情報というか、そいうの取得しないとですよねぇ
うーんどんな関数あるのかにらめっこ中です><
なんだ本職の方なのですね
助言するのも恐れ多いけど、それなら見えない壁を作るのが手っ取り早いのではなかろうか
具体的には空のゲームオブジェクトにコライダーだけ付けるとか…ね
293: ボッキングの弟子 ◆rZPPjYuxmQ [sage] 2018/01/31(水) 20:52:23.79 ID:4VwlB9Gi(4/5) AAS
>>288師匠待ってました
全然バカにしてるとかじゃないのでどっしり構えててください
>>281
レスありがとうございます
実はコライダーが良く分かってなくて衝突判定しないでどうにか出来ないかと
多分UnityのようなToolはそういうのあるのかなと思って調べてる最中です
>>282ご教示あったリンク先拝見しました
はやりビューポートとの関連ですね、ただ記事中に
「ゲームの画面サイズが600x450でなければうまく動作しません。」と書いてありましたので
うーんと唸って考え中です
ちなみにチュートリアルにあるSpaceShooterというのも、結局Boundaryクラスで
プロパティとして最大値を保持していて、そことの判定をしていたので、もしかしたら
動的にとれる関数は無いのかななんて…
Unityはゲームに特化しているハズなのに、まぁそれは3Dなのでしょうが
2Dの機能として画面外の判定が無いはずがないと思うのでも少し根気よく知れべて見ます
GamemakerStudioには確かあったのでこっちでもきっとある事を祈って実装を考えます
Unityの肝はMonobehaviorとtransformかなって勝手に思ってるので
そこら辺極める感じでやってみたいです
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.030s