Unity3D tek script ile tüm objelere etki etme nasıl yapılır?

phan metal

Centipat
Katılım
10 Temmuz 2022
Mesajlar
1.199
Çözümler
5
Yukarıdaki kodu her nesne için tek tek ekleyerek kullanınca işliyor. Yani a nesnesine ekledim onda çalışıyor, b nesnesine ekledim onda çalışıyor, C nesnesine ekledim onda da çalışıyor.

Peki sadece 1 nesneye girsek ve tüm nesnelere bundan etkilense ya da baska bir yol? Böyle bir yollar varsa yardımcı olursanız sevinirim vallahi.

C#:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class script : MonoBehaviour
{
    Vector3 offSet;

     void OnMouseDown()
     {
         offSet = transform.position - mWorldPos();
     }

      void OnMouseDrag()
     {
         transform.position = mWorldPos() + offSet;
     }

     Vector3 mWorldPos()
     {
         var mousePos = Input.mousePosition;
         mousePos.z = -(Camera.main.ScreenToWorldPoint(transform.position).z);
         return Camera.main.ScreenToWorldPoint(mousePos);
     }
}
 
Son düzenleyen: Moderatör:
Tabiki böyle şeyler mümkün. Script vereceğin objelere aynı tagı verin.
Manager bir sınıf oluşturun. İçerisinde taga göre objeleri alın. Bu objelere artık istediğini yapabilirsin. Verdiğin script dosyasını objelere atayabilirsin mesela.
 

Geri
Yukarı