Создание GUItexture

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Создание GUItexture

Сообщение Volandpro 20 окт 2012, 00:00

У меня есть стандартный 3d person controller. Мне нужно создать ГУИтекстуру
Синтаксис:
Используется csharp
GUITexture text;
Network.InitializeServer(2,25000);
text=GetComponent<GUITexture>();
text.color=Color.red;
text.texture=Resources.Load("Icon",typeof(Texture2D)) as Texture2D;
text.transform.localScale=Vector3.zero;

Но текстуры нету. Вычитал на форуме, что нужно создать GameObject, на него повесить компонент ГУИТекстура, оттуда считывать его и тогда все будет хорошо. Проблема в том, что мне нельзя создавать GameObject и использовать только тот объект, на котором висит скрипт(3d person controller). Если я пробую добавить ГУИТекстуру к 3персон контроллеру, то куда-то пропадает встроенная моделька сантехника,а текстура все равно не отображается.
Аватара пользователя
Volandpro
UNITрон
 
Сообщения: 242
Зарегистрирован: 19 авг 2012, 17:07

Re: Создание GUItexture

Сообщение Левш@ 20 окт 2012, 10:03

Вы что нибудь поняли ? Я не особо... :-?
_X.cor.R (Prologue)
Аватара пользователя
Левш@
Адепт
 
Сообщения: 4073
Зарегистрирован: 14 окт 2009, 16:34
Откуда: IBERIA
Skype: bars_levsha
  • Сайт

Re: Создание GUItexture

Сообщение Kayler 20 окт 2012, 10:10

Левш@ писал(а):Вы что нибудь поняли ? Я не особо... :-?

я думал я один такой...
поэтому не ответил, а ждал ответа
Аватара пользователя
Kayler
Адепт
 
Сообщения: 1038
Зарегистрирован: 25 авг 2010, 23:49
Откуда: Чувашия

Re: Создание GUItexture

Сообщение Volandpro 20 окт 2012, 11:29

Ладно, тогда вопрос поставим по другому- как создать ГУИТекстуру через скрипт?)
Аватара пользователя
Volandpro
UNITрон
 
Сообщения: 242
Зарегистрирован: 19 авг 2012, 17:07

Re: Создание GUItexture

Сообщение DanielDem 20 окт 2012, 11:42

GUITexture - это компонент. Создать сам компонент нельзя, он может быть только создан только путем добавления к существующему игровому объекту (GameObject).
В твоем случае найди игровой объект 3d person controller или создай пустой игровой объект и добавь компонент GUITexture
Пример:
Синтаксис:
Используется csharp
GameObject gui_texture_obj = new  GameObject("имя");
GUITexture gui_texture = gui_texture_obj.AddComponent<GUITexture>();
gui_texture.color=Color.red;
 
Да прибудет с Вами сила...
Аватара пользователя
DanielDem
UNITрон
 
Сообщения: 174
Зарегистрирован: 07 янв 2010, 13:27
Откуда: Россия
  • ICQ

Re: Создание GUItexture

Сообщение Volandpro 20 окт 2012, 14:20

Я пишу
Синтаксис:
Используется csharp
public class MapIcon : MonoBehaviour {
        Vector3 plPosition;
        public GUITexture text;
void Start () {
Network.InitializeServer(2,25000);
text=this.gameObject.AddComponent<GUITexture>();
text.color=Color.red;
text.texture=Resources.Load("Icon",typeof(Texture2D)) as Texture2D;
}
         
         // Update is called once per frame
void Update () {
plPosition=transform.position;
text.pixelInset=new Rect(plPosition.x/2000f*150f-3f,(plPosition.z/2000f*150f-Screen.height+3f)*(-1),7f,7f);
}

}

Но текстурка не отображается
Аватара пользователя
Volandpro
UNITрон
 
Сообщения: 242
Зарегистрирован: 19 авг 2012, 17:07

Re: Создание GUItexture

Сообщение Левш@ 20 окт 2012, 18:50

Создать сам компонент нельзя

Компонент нельзя, но есть готовые ГО GUITexture...
Инстансить из префаба в конце концов, я тут вообще проблемы никакой не вижу... :-?
_X.cor.R (Prologue)
Аватара пользователя
Левш@
Адепт
 
Сообщения: 4073
Зарегистрирован: 14 окт 2009, 16:34
Откуда: IBERIA
Skype: bars_levsha
  • Сайт

Re: Создание GUItexture

Сообщение Volandpro 20 окт 2012, 21:57

Уменя клиент-серверное приложение, 3персон контроллер создается через Network, поэтому я хочу именно через его компонент делать ГУИТекстуру. Если создавать отдельно объект для ГУИТекстуры, то придется делать его через нетворк, а я не хочу перегружать сеть
Аватара пользователя
Volandpro
UNITрон
 
Сообщения: 242
Зарегистрирован: 19 авг 2012, 17:07

Re: Создание GUItexture

Сообщение Volandpro 20 окт 2012, 22:59

хм придумал вообще вот так
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class MapIcon : MonoBehaviour {
        Vector3 plPosition;
        public Texture text;
        void Start () {
         }
         void OnGUI()
             {
                 plPosition=transform.position;
                 GUI.DrawTexture(new Rect(plPosition.x/2000f*150f-3f,(plPosition.z/2000f*150f-Screen.height+3f)*(-1),7,7),text);
             }
       
}
 

один вопрос - эту текстурку будут видеть все или только клиент, если учесть, что скрипт висит на объекте, который видят все?
Аватара пользователя
Volandpro
UNITрон
 
Сообщения: 242
Зарегистрирован: 19 авг 2012, 17:07


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14