• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dodawanie skryptu do gameobject w unity

0 głosów
1,259 wizyt
pytanie zadane 31 października 2016 w C# przez gab123 Mądrala (5,230 p.)

Witam, próbuje utworzyć pocisk, gdy zostanie kliknięta spacja.

I chcę dodać do niego skrypt ale pojawia mi się błąd ; "Assets/scripts/playerController.cs(39,38): error CS1502: The best overloaded method match for `UnityEngine.GameObject.AddComponent(System.Type)' has some invalid arguments"

Próbowałam już to zrobić na wiele sposobów ale za każdym razem coś nie szło.

if (Input.GetKeyUp ("space")) {

			GameObject enemie = GameObject.Find("enemy");

			var Script = enemie.GetComponent<pociskController> ();
			GameObject pociskPlayer = new GameObject("pociskPlayer");//setwidth, height etc.
			pociskPlayer.GetComponent<Transform>().localScale = new Vector3(1,(float)0.1,(float)0.2);
			pociskPlayer.AddComponent (Script);
			pociskPlayer.GetComponent<Transform> ().position = transform.position + new Vector3 (1, 0, 0);


		}

Co mam zrobić by po prostu dodać ten skrypt

1 odpowiedź

0 głosów
odpowiedź 31 października 2016 przez niezalogowany
wybrane 31 października 2016 przez gab123
 
Najlepsza

Przede wszystkim do tworzenia bardziej złożonych obiektów warto użyć metody Instantiate:

public GameObject bulletPrefab;

...

public void SpawnBullet()
{
    Bullet bullet = (Bullet)Instantiate(bulletPrefab, position, Quaternion.identity);
}

Przez ten zapis i zastosowanie prefaba załatwiłbyś sobie cały ten twój kod i ręczne dodawanie skryptu.

Jednakże jeżeli chcesz dodać skrypt do świeżo stworzonego obiektu, to musisz zrobić coś takiego:

GameObject  gameobject = new GameObject("MyGameObject");
gameobject.AddComponent<MyScript>();

Co ważne MyScript musi dziedziczyć po MonoBehaviour

komentarz 31 października 2016 przez gab123 Mądrala (5,230 p.)
Dziękuje, zrobiłam to za pomocą Instantiate i teraz wszystko działa.

Podobne pytania

0 głosów
0 odpowiedzi 376 wizyt
0 głosów
1 odpowiedź 690 wizyt
pytanie zadane 1 stycznia 2016 w C# przez niezalogowany
0 głosów
0 odpowiedzi 309 wizyt
pytanie zadane 12 marca 2022 w C# przez Nearr Obywatel (1,890 p.)

93,772 zapytań

142,730 odpowiedzi

323,382 komentarzy

63,368 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...