2016-03-10 2 views
0

Я пытаюсь переместить сборку в другую часть моего холста на основе, если это для IPhone или ANDROID. У меня есть следующие:Измените положение prefab на основе типа устройства

public Image accessoryImage; 

    public void OnStart() 
    { 
#if UNITY_IPHONE 
    accessoryImage.transform.position = accessoryImage.transform.position + new Vector3(10.0f, -269.0f, 0.0f); 
#endif  
    } 

Я получаю ошибку:

object reference not set to an instance of an object 

ответ

0

accessoryImage, вероятно, не инициализируется. Убедитесь, что в Редакторе указано что-то. Вы можете инициализировать accessoryImage, прежде чем сможете его использовать.

Если вы хотите инициализировать его из кода, который вы могли бы сделать это следующим образом:

public void OnStart() 
{ 
    Image accessoryImage = GameObject.Find("NAMEOFGAMEOBJECT").GetComponent<Image>(); 
    if (accessoryImage == null) 
    { 
    Debug.Log("Image is not assigned"); 
    return; //Exit 
    } 
    accessoryImage.transform.position = accessoryImage.transform.position + new Vector3(10.0f, -269.0f, 0.0f); 
} 

NAMEOFGAMEOBJECT = имя GameObject Image прилагается в редакторе.

Смежные вопросы