マウス、キー操作のスクリプトメモです。
マウス操作
マウスクリック
update内で検知することができます。
void Update () {
if (Input.GetMouseButtonDown(0))
Debug.Log("左クリック");
if (Input.GetMouseButtonDown(1))
Debug.Log("右クリック");
if (Input.GetMouseButtonDown(2))
Debug.Log("ホイールボタンクリック");
}}
クリックオブジェクトの取得
if (Input.GetMouseButtonDown(0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit2D hit2d = Physics2D.Raycast*1
{
_currentPos = Input.mousePosition;
Vector3 _diffDistance = _currentPos - _previousPos;
_diffDistance *= 1.0f;
this.transform.GetComponent<RectTransform>().position -= new Vector3(-_diffDistance.x, -_diffDistance.y);
_previousPos = Input.mousePosition;
}
}
}
public void drugStart()
{
_isDrog = true;
}
public void drugEnd()
{
_isDrog = false;
}
EventTriggerコンポーネントで、BeginDrag、EndDragイベントを発行しておきます。
void OnMouseDrag()
{
//マウスの座標を取得
Vector3 thisPosition = Input.mousePosition;
//スクリーン座標からワールド座標へ変換し、positionをあわせる
Vector3 worldPosition = Camera.main.ScreenToWorldPoint(thisPosition);
worldPosition.z = 0f;this.transform.position = worldPosition;
}
キー
キー操作
void Update()
{
if (Input.GetKeyDown(KeyCode.A))
{
Debug.Log("Aキー");
}
}
*1:Vector2)ray.origin, (Vector2)ray.direction);
if (hit2d)
{
o = hit2d.transform.gameObject;
Debug.Log(o.name);
}
}
}
マウスエンター、マウスリーブ
public void Event() {
Debug.Log("マウスエンター");
}public void EventOut() {
Debug.Log("マウスリーブ");
}
マウスドラッグ
UIのImage画像を動かす場合、スクリプトは
private Vector3 _previousPos = Vector3.zero;
private Vector3 _currentPos = Vector3.zero;
private bool _isDrog = false;
void Update()
{
if (_isDrog == true)
{
if (Input.GetMouseButton(0