17-07-2019, Saat: 02:27
Dostlar selamlar. Bir Roll A Ball oyunu yapıyorum. Düz yolda bir top ilerliyor. Bu topu sağa ve sola velocity uygulamadan transform.position ile kaydırıyorum. Sorunum ise topu kaydırmak için ekrana her dokunduğumda, dokunduğum noktaya topu ışınlaması. Dokunduğum noktayı referans alıp kaydırdığım yöne doğru bir vektör çizip o vektörün uzunluğunda topun hareket etmesini istiyorum. Ama bahsettiğim algoritmayı kuramadım. Kodlarım aşağıda var. Mouse ve touch controller olmak üzere iki kez yazdım kontrol eder misiniz?
Touch touch;
private void Update()
{
if ( Input.touchCount > 0)
{
if (Input.touchCount>0)
{
touch = Input.GetTouch(0);
}
if (touch.phase==TouchPhase.Moved)
{
Vector3 screenPos = Input.mousePosition;
screenPos.z = 10;
Vector3 worldPos = Camera.main.ScreenToWorldPoint(screenPos);
Vector3 newPos = transform.position;
newPos.x = worldPos.x;
transform.position = newPos;
}
}
if (Input.GetMouseButton(0))
{
Vector3 screenPos = Input.mousePosition;
screenPos.z = 10;
Vector3 worldPos = Camera.main.ScreenToWorldPoint(screenPos);
Vector3 newPos = transform.position;
newPos.x = worldPos.x;
transform.position = newPos;
}
}
}
Touch touch;
private void Update()
{
if ( Input.touchCount > 0)
{
if (Input.touchCount>0)
{
touch = Input.GetTouch(0);
}
if (touch.phase==TouchPhase.Moved)
{
Vector3 screenPos = Input.mousePosition;
screenPos.z = 10;
Vector3 worldPos = Camera.main.ScreenToWorldPoint(screenPos);
Vector3 newPos = transform.position;
newPos.x = worldPos.x;
transform.position = newPos;
}
}
if (Input.GetMouseButton(0))
{
Vector3 screenPos = Input.mousePosition;
screenPos.z = 10;
Vector3 worldPos = Camera.main.ScreenToWorldPoint(screenPos);
Vector3 newPos = transform.position;
newPos.x = worldPos.x;
transform.position = newPos;
}
}
}