私は本当に単一性に新しく、私はカードゲームをしようとしている、そして私は座標の問題に直面する。私はタッチの位置を取得し、画面内の特定の位置にスプライトを移動させようとしています。ここに私の問題を回避するスクリプトは、C#である:どのようにしてユニティ2Dのスプライトの位置が自動的に
using UnityEngine;
using System.Collections;
public class CardMovement : MonoBehaviour {
// Use this for initialization
void Start() {
}
// Update is called once per frame
void Update() {
Rect recta = new Rect (-4.71f,-3.98f,4.52f,6.8f);
Touch To = new Touch();
Camera C = GetComponent<Camera>();
Vector3 p = new Vector3();
p = C.ScreenToWorldPoint (To.position);
if (recta.Contains(p)== true){
transform.Translate(0.79f,-1.13f,0f);
}
}
}
問題は、私はそれがその特定の位置に移動させることはできませんので、一致していない座標のそれを.isということでしょうか?助けてくれてありがとう;)
達成したいことは何ですか?カードをタッチすると、画面の特定のポイントに移動しますか? 新しいUIシステム、スプライト、プレーンを使うことができるので、どのようにこれをやろうとしているのか分かりません。すべてのことが2Dのパースペクティブに機能するので、もう少し明確にすれば本当に役立ちます。私が見る限りでは、3Dビューを使用してカードを翻訳しようとしています。 この[リンク](https://www.youtube.com/watch?v=5cdNMpsIkm4)をご覧になることをお勧めします。開始時に少し騒がしいので、ご注意ください –
オブジェクトの位置を探していますか?最も基本的なのはgameObject.transform.positionです。いいえ? – Andromelus
申し訳ありませんが、私がやりたいことは、スプライトがある領域にユーザーが触れたときにそれを検出し、それに応じて特定の位置に移動することです。 –