Есть скрипт который должен просто прибавлять очки. Эти два метода работают нормально, я вызываю Coins() с другого скрипта и все работает, но стоит мне разкомментить последнюю строчку, мне выдает ошибку:…
Assets\Scripts\PointsCode.cs(21,3): error CS0120: An object reference is required for the non-static field, method, or property ‘Component.GetComponent()’
В скрипте который должен вызвать PointsCode.Coins() пишем…
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Group : MonoBehaviour
{
float lastFall = 0;
public GameObject pointsCode;
void Start()
{
...
}
2)Создаем префаб с объектом текста (у меня это Canvas/Text) также в самом Text у меня скрипт PointsCode
3)В инспекторе перетаскиваем префаб в появившиеся окошко для объекта в скрипте Group
4)И теперь чтобы скрипт Group вызвал мне функцию Coins() мне надо написать… Могу лишь предположить что что-то вроде этого
pointsCode.PointsCode.Coins();
Я знаю что я выгляжу очень тупым, но мне очень хочется понять всю логику, чтобы совершенствоваться, я очень рассчитываю на вашу помощь
сейчас же скрипт висит на каком-то объекте, вот этот объект и кинуть остальным
Он не хочет “помещаться” в ячейку в скрипте
Просто не воспринимает, а если написать ( public GameObject pointsCode ) то помещается, я понимаю что так не заработает и не понимаю что делать
АААААААААА, Смотрите, так как я новичок и только познаю все прелести GameDev я решил начать с простого, я делаю тетрис. Я сейчас сделал вроде как все правильно, ошибок нет, появилась фигура и вылетела ошибка, я поставил игру на паузу, выделил фигуру и смог перенести в окошко текст со скриптом PointsCode, снял с паузы и все заработало как я и надеялся, но изначально фигур нет, и перенести в public PointsCode pointsCode объект Текст Unity не дает, как сделать префабы фигур с вставленным в них объектом Текст.
Надеюсь я понятно изложил свои мысли
using System;
using UnityEngine;
public class MyScript : MonoBehaviour
{
public void SayHi(string playerName)
{
Debug.Log(String.Format("Hi! I'm {0}. Nice to meet you, {1}.", name, playerName));
}
}
using UnityEngine;
public class MyScript2 : MonoBehaviour
{
public MyScript myScript;
void Start()
{
myScript.SayHi("John");
}
}
Это я понимаю, просто у меня фигурок тетриса изначально нет, они в виде префабов, и пустой объект (спавнер) их на рандом создает, и вот когда они созданы все работает, но их же изначально нет, вот в этом вся загвоздка
using UnityEngine;
public class MyScript2 : MonoBehaviour
{
public MyScript myScript;
void Start()
{
myScript = GameObject.Find("GameObject1").GetComponent<MyScript>();
myScript.SayHi(name);
}
}