[過去ログ] 【ゲームエンジン】Unityなんでも質問スレpart11 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
513(2): 名前は開発中のものです。 [sage] 2023/09/09(土) 08:28:25.54 ID:3k5BPIDG(1/6) AAS
 >>511511(1): 名前は開発中のものです。 [] 2023/09/09(土) 06:45:24.50 ID:kCAfKsgC(1/7) AAS
 クリック位置のオブジェクトをマウスでドラッグして移動したいのですが、以下のスクリプトだとドラッグ途中にオブジェクトが止まってしまいます。コメントアウトしている部分のtriangleは問題なくドラッグ出来るので、レイによる取得に問題があるようです。レイというのは案外不安定で、毎回同じ結果を返してくれるとは言えないのでしょうか? 
 public class getClickPositionObject : MonoBehaviour 
 { 
     [SerializeField] GameObject triangle; 
     GameObject clickedObject; 
     void Update() 
     { 
         if(Input.GetMouseButton(0)) 
         { 
             //triangle.transform.position = camera.main.screentoworldpoint(input.mouseposition) 
             //    + new vector3(0, 0, 10); 
             getObject().transform.position = Camera.main.ScreenToWorldPoint(Input.mousePosition) 
                 + new Vector3(0, 0, 10); 
         } 
     } 
     GameObject getObject()  
     {  
             //クリックされたゲームオブジェクト 
             clickedObject = null; 
             //レイキャストの始点と終点を決定 ,vector2 
             Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); 
             //ここでレイを飛ばす 
             RaycastHit2D hit = Physics2D.Raycast(ray.origin, ray.direction); 
             if (hit) 
             { 
                 clickedObject = hit.transform.gameObject; 
             } 
             return clickedObject; 
     } 
  
 }  
恐らくこのコードだとオブジェクトがマウス追随するのは 
 オブジェクトのうえにマウスがある時だけなんじゃないかな? 
 マウスの動きは結構早いからこれでは外れてしまう 
 俺ならノーマル状態、追随状態と複数の状態を作り 
 通常はノーマル状態でマウスクリック時に 
 オブジェクトがあった時追随状態に移行して 
 追随状態の時はオブジェクトの上にマウスがあるかどうかは 
 関係なく追随という仕様にする 
 それでマウスクリック解除でノーマル状態に移行 
上下前次1-新書関写板覧索設栞歴
あと 489 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.019s