2017-06-22 8 views
0

Connect 4のようなゲームを作成しようとしています。ボードモデルにグリッドに合わせた穴を作って、サークルを簡単にドロップできるようにしました。Unity - マウスを追いかけながらグリッドに合わせる

問題グリッドにスナップしながらオブジェクトをマウスに追従させる方法がわかりません。

コード:

using System.Collections; 
using System.Collections.Generic; 
using UnityEngine; 

public class LockToGrid : MonoBehaviour { 
    public float gridSize; 
    // Use this for initialization 
    void Start() { 
    } 

    // Update is called once per frame 
    void Update() { 
     SnapToGrid(gameObject); 
    } 

    void SnapToGrid(GameObject Object) { 
     var currentPos = Object.transform.position; 
     Object.transform.position = new Vector3(Mathf.Round(currentPos.x/gridSize) * gridSize, 
            currentPos.y, 
            currentPos.z); 

    } 
} 
+0

行の上に目に見えないターゲットを追加します。これが1の場合は、目に見えないイメージチェックでマウスがターゲット上にあるかどうかを確認し、チェックピースをターゲットに配置します –

答えて

0

I've done this前。私は自分の数学のクラス(MathHelper)にこれらを持っています。値を別の値の倍数(ゲーム内の各スロットの距離)にスナップします。

したがって、マウスの位置に基づいて値を取得した後、スナップで実行し、その結果をGameObjectの変換位置に適用します。これと同じように:Input.MousePosition 24は自分の使い方からである(直接あなたの座標空間に変換だけでなく、スナップ距離ではない場合

transform.position = MathHelper.snap(Input.MousePosition, 24);

あなたは、それをいじるする必要があるかもしれません、あなたは次のようになります1、5、10、50、または100)である。

関連する問題