Показать сообщение отдельно
Старый 13.01.2017, 09:49   #12
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: GUI. Картинка в button. Масштабирование.

Не портите дефолтный скин. Есть простой способ скопировать стиль:

GUIStyle _myButtonStyle;
// использовать свойство только в функции OnGUI
GUIStyle myButtonStyle
{
     
get
     
{
         if(
_myButtonStyle == null)
         {
                 
_myButtonStyle = new  GUIStyle(GUI.skin.button);
                 
_myButtonStyle.normal.background null;
                 
_myButtonStyle.active.background null;
                 
_myButtonStyle.hover.background null;   
         }

         return 
_myButtonStyle;
     }
}

void OnGUI()
{

   
GUI.DrawTexture(new Rect(x,y,w,h),MyTexture);
   if(
GUI.Button(new Rect(xywh),""myButtonStyle)==true){
       ...  
// если кнопку нажали
   
}

Либо можно вот так:
void OnGUI()
{

   
GUI.DrawTexture(new Rect(x,y,w,h),MyTexture);
   if(
GUI.Button(new Rect(xywh),""GUIStyle.none)==true){
       ...  
// если кнопку нажали
   
}

или так

void OnGUI()
{

   
GUI.DrawTexture(new Rect(x,y,w,h),MyTexture);
   if(
GUI.Button(new Rect(xywh),""GUI.skin.label)==true){
       ...  
// если кнопку нажали
   
}

Хотя в этих случаях текст будет не по центру (но у тебя его и нету же ).


Сообщение от RegIon Посмотреть сообщение
К чему такие выпендрежи? UI не вариант?
Для быстрых тулз это самый оптимальный вариант, а для интерфейса редактора - единственный.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием