これを使ってAndroidで簡単なゲームを作り、Spriteを動かすようにできたのですが、精度が悪くてスワイプできないことがあります。今はこんな感じで書いています。解決策があれば教えていただきたいです。宜しくお願いします。カメラの角度は斜めから見下ろす感じでx=35です。
void OnMouseDown()
{
// カメラから見たオブジェクトの現在位置を画面位置座標に変換
screenPoint = Camera.main.WorldToScreenPoint(transform.position);
// 取得したscreenPointの値を変数に格納 float x = Input.mousePosition.x; float y = Input.mousePosition.y; // オブジェクトの座標からマウス位置を引く offset = transform.position - Camera.main.ScreenToWorldPoint(new Vector3(x, y, screenPoint.z)); } void OnMouseDrag() { // ドラッグ時のマウス位置を変数に格納 float x = Input.mousePosition.x; float y = Input.mousePosition.y; // ドラッグ時のマウス位置をシーン上の3D空間の座標に変換する Vector3 currentScreenPoint = new Vector3(x, y, screenPoint.z); // 上記にクリックした場所の差を足すことによって、オブジェクトを移動する座標位置を求める Vector3 currentPosition = Camera.main.ScreenToWorldPoint(currentScreenPoint) + offset; // オブジェクトの位置を変更する transform.position = currentPosition; } // Use this for initializ
回答1件
あなたの回答
tips
プレビュー