[JS](Вопрос 2x) Как сделать FADE/Работа с Текстурой - Форум Игроделов
Вс, 09 Фев 2025, 18:45 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
[JS](Вопрос 2x) Как сделать FADE/Работа с Текстурой
ghostukrДата: Сб, 16 Июн 2012, 13:42 | Сообщение # 1
 
Сообщений: 58
Награды: 0
Репутация: 67
Статус: Offline
Задаю сразу два вопроса ибо уже создал кучу тем)
1.Как можно сделать FadeIn\Out Сцены?(Затемнение при старте)
2.Как можно сделать так,что бы текстура растянулась на весь экран от центра?(Эффект "крови" при Хп <20 )

Я думаю все играли в Crysis/Turok/Fps. И я думаю что вы видели,когда у вас низкий показатель Хп,у вас появляется эффект крови(Два красных полуовала с разных сторон)
Есть такая текстура,

,при растягивание она отлично смотрится,но ведь разрешения не у всех одинаковы:)Смотрел Скрипт Левши(помоему) не помогло:(


Веб-Дизайнер.Умею работать с Sandbox.
Понравилось что то? + в репу:3


Сообщение отредактировал Dekterev - Вс, 17 Июн 2012, 09:00
 
СообщениеЗадаю сразу два вопроса ибо уже создал кучу тем)
1.Как можно сделать FadeIn\Out Сцены?(Затемнение при старте)
2.Как можно сделать так,что бы текстура растянулась на весь экран от центра?(Эффект "крови" при Хп <20 )

Я думаю все играли в Crysis/Turok/Fps. И я думаю что вы видели,когда у вас низкий показатель Хп,у вас появляется эффект крови(Два красных полуовала с разных сторон)
Есть такая текстура,

,при растягивание она отлично смотрится,но ведь разрешения не у всех одинаковы:)Смотрел Скрипт Левши(помоему) не помогло:(

Автор - ghostukr
Дата добавления - 16 Июн 2012 в 13:42
ЛевшаДата: Сб, 16 Июн 2012, 14:01 | Сообщение # 2
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Quote (ghostukr)
1.Как можно сделать FadeIn\Out Сцены?(Затемнение при старте)

GuiТекстуру на весь экран и изменять ей guiTexture.color.a = (раньше было 0...255, щас вроде 0...1).

Quote (ghostukr)
2.Как можно сделать так,что бы текстура растянулась на весь экран от центра? Смотрел Скрипт Левши(помоему) не помогло:(

huh Не может такого быть... Скрипт для компонента GUITexture, работает как надо.


X.cor.R (Prologue)
 
Сообщение
Quote (ghostukr)
1.Как можно сделать FadeIn\Out Сцены?(Затемнение при старте)

GuiТекстуру на весь экран и изменять ей guiTexture.color.a = (раньше было 0...255, щас вроде 0...1).

Quote (ghostukr)
2.Как можно сделать так,что бы текстура растянулась на весь экран от центра? Смотрел Скрипт Левши(помоему) не помогло:(

huh Не может такого быть... Скрипт для компонента GUITexture, работает как надо.

Автор - Левша
Дата добавления - 16 Июн 2012 в 14:01
ghostukrДата: Сб, 16 Июн 2012, 16:14 | Сообщение # 3
 
Сообщений: 58
Награды: 0
Репутация: 67
Статус: Offline
А можешь еще раз рассказать о его настройке?у меня вместо того что бы расширить,он наоборот "сгладил"
Что где писать?


Веб-Дизайнер.Умею работать с Sandbox.
Понравилось что то? + в репу:3
 
СообщениеА можешь еще раз рассказать о его настройке?у меня вместо того что бы расширить,он наоборот "сгладил"
Что где писать?

Автор - ghostukr
Дата добавления - 16 Июн 2012 в 16:14
ЛевшаДата: Сб, 16 Июн 2012, 16:25 | Сообщение # 4
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Quote (ghostukr)
Что где писать?

Там написано все уже... главное изначально указать правильное (реальное) разрешение экрана в редакторе.
Далее скрипт пересчитывает и присваивает нужные размеры и позицию ГУИ в зависимости от текущего разрещения.

Code

scrinBalansWidth = 1452 / scrinWidth;
scrinBalansHeight = 910 / scrinHeight;


Эти цифры (1452 х 910) не из воздуха, это реальное разрешение игрового экрана сцены в редакторе Unity, ты должен прописать свои.
Cкрипт вешаеться на GUITexture обьект.


X.cor.R (Prologue)
 
Сообщение
Quote (ghostukr)
Что где писать?

Там написано все уже... главное изначально указать правильное (реальное) разрешение экрана в редакторе.
Далее скрипт пересчитывает и присваивает нужные размеры и позицию ГУИ в зависимости от текущего разрещения.

Code

scrinBalansWidth = 1452 / scrinWidth;
scrinBalansHeight = 910 / scrinHeight;


Эти цифры (1452 х 910) не из воздуха, это реальное разрешение игрового экрана сцены в редакторе Unity, ты должен прописать свои.
Cкрипт вешаеться на GUITexture обьект.

Автор - Левша
Дата добавления - 16 Июн 2012 в 16:25
ghostukrДата: Сб, 16 Июн 2012, 18:20 | Сообщение # 5
 
Сообщений: 58
Награды: 0
Репутация: 67
Статус: Offline
Ну вот,смотри
При настройке:

При запуске:

Может у меня руки кривые:)

Добавлено (16.06.2012, 18:15)
---------------------------------------------
и про texture.color.a ;
я смог изменить на прозрачную нет,а как сделать так что бы в течении 5 секунд
с значения 1 переходило на 0?


Веб-Дизайнер.Умею работать с Sandbox.
Понравилось что то? + в репу:3


Сообщение отредактировал Dekterev - Вс, 17 Июн 2012, 08:54
 
СообщениеНу вот,смотри
При настройке:

При запуске:

Может у меня руки кривые:)

Добавлено (16.06.2012, 18:15)
---------------------------------------------
и про texture.color.a ;
я смог изменить на прозрачную нет,а как сделать так что бы в течении 5 секунд
с значения 1 переходило на 0?

Автор - ghostukr
Дата добавления - 16 Июн 2012 в 18:20
ЛевшаДата: Сб, 16 Июн 2012, 19:40 | Сообщение # 6
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Quote (ghostukr)
Может у меня руки кривые:)

Абсолютно точно...
Скрины в теме с скриптом видел? Там и разрешения указаны.
Повторю еще раз:
Quote (Левша)
цифры (1452 х 910) не из воздуха, это реальное разрешение игрового экрана сцены в редакторе Unity, ты должен прописать свои.

Ты должен узнать РЕАЛЬНОЕ разрешение! То что ты в свойствах прописываешь, в редакторе не соответствует реальному... там автоматом подстраиваеться окно... измерь в скрипте...

Code

var scrinWidth : int = 0;
var scrinHeight : int = 0;

function Start () {
       scrinWidth = Screen.width;
       scrinHeight = Screen.height;
}


Выдаст реальное, текущее разрешение сцены, которое надо прописать в скрипте.

Quote (ghostukr)
как сделать так что бы в течении 5 секунд
с значения 1 переходило на 0?

Можно использовать Lerp, можно ступенчато в FixedUpdate().


X.cor.R (Prologue)
 
Сообщение
Quote (ghostukr)
Может у меня руки кривые:)

Абсолютно точно...
Скрины в теме с скриптом видел? Там и разрешения указаны.
Повторю еще раз:
Quote (Левша)
цифры (1452 х 910) не из воздуха, это реальное разрешение игрового экрана сцены в редакторе Unity, ты должен прописать свои.

Ты должен узнать РЕАЛЬНОЕ разрешение! То что ты в свойствах прописываешь, в редакторе не соответствует реальному... там автоматом подстраиваеться окно... измерь в скрипте...

Code

var scrinWidth : int = 0;
var scrinHeight : int = 0;

function Start () {
       scrinWidth = Screen.width;
       scrinHeight = Screen.height;
}


Выдаст реальное, текущее разрешение сцены, которое надо прописать в скрипте.

Quote (ghostukr)
как сделать так что бы в течении 5 секунд
с значения 1 переходило на 0?

Можно использовать Lerp, можно ступенчато в FixedUpdate().

Автор - Левша
Дата добавления - 16 Июн 2012 в 19:40
ghostukrДата: Сб, 16 Июн 2012, 20:38 | Сообщение # 7
 
Сообщений: 58
Награды: 0
Репутация: 67
Статус: Offline
Заполнил,те два поля.Результат не меняет.(Взял значение из скрипта который их меряет)
Или нужно заполнить что то еще?


Веб-Дизайнер.Умею работать с Sandbox.
Понравилось что то? + в репу:3
 
СообщениеЗаполнил,те два поля.Результат не меняет.(Взял значение из скрипта который их меряет)
Или нужно заполнить что то еще?

Автор - ghostukr
Дата добавления - 16 Июн 2012 в 20:38
AswoДата: Сб, 16 Июн 2012, 23:29 | Сообщение # 8
КЗОИ
 
Сообщений: 1031
Награды: 18
Репутация: 430
Статус: Offline
Code
using UnityEngine;
using System.Collections;

public class NewBehaviourScript : MonoBehaviour
{
     public Texture texture;

  void OnGUI()
  {
         GUI.DrawTexture(new Rect(0, 0, Screen.width, Screen.height), texture);
  }
}

Так?


end.
 
Сообщение
Code
using UnityEngine;
using System.Collections;

public class NewBehaviourScript : MonoBehaviour
{
     public Texture texture;

  void OnGUI()
  {
         GUI.DrawTexture(new Rect(0, 0, Screen.width, Screen.height), texture);
  }
}

Так?

Автор - Aswo
Дата добавления - 16 Июн 2012 в 23:29
commandobyДата: Вс, 17 Июн 2012, 00:07 | Сообщение # 9
Unity 3D Free
 
Сообщений: 836
Награды: 3
Репутация: 211
Статус: Offline
Можно попробовать и так:
Code
var GUIbox : GUIStyle;

function OnGUI () {
GUI.Box (Rect (0, 0, Screen.width, Screen.height), "", GUIbox);
}
В инспекторе указываем своё изображение в первых 4 вкладках и должно работать, если я правильно понял.

Aswo, забыл указать, что это С# а не JS.


Блог.
 
СообщениеМожно попробовать и так:
Code
var GUIbox : GUIStyle;

function OnGUI () {
GUI.Box (Rect (0, 0, Screen.width, Screen.height), "", GUIbox);
}
В инспекторе указываем своё изображение в первых 4 вкладках и должно работать, если я правильно понял.

Aswo, забыл указать, что это С# а не JS.

Автор - commandoby
Дата добавления - 17 Июн 2012 в 00:07
ghostukrДата: Вс, 17 Июн 2012, 00:56 | Сообщение # 10
 
Сообщений: 58
Награды: 0
Репутация: 67
Статус: Offline
даа!)Спасибо,это работает как надо.
А тогда сразу еще один вопрос,как сделать так,что бы текстура растягивалась по ширине,но не по высоте(Прямоугольник например)


Веб-Дизайнер.Умею работать с Sandbox.
Понравилось что то? + в репу:3
 
Сообщениедаа!)Спасибо,это работает как надо.
А тогда сразу еще один вопрос,как сделать так,что бы текстура растягивалась по ширине,но не по высоте(Прямоугольник например)

Автор - ghostukr
Дата добавления - 17 Июн 2012 в 00:56
commandobyДата: Вс, 17 Июн 2012, 01:13 | Сообщение # 11
Unity 3D Free
 
Сообщений: 836
Награды: 3
Репутация: 211
Статус: Offline
Screen.width - ширина, Screen.height - высота, или наоборот. Попробуй так:
Code
GUI.Box (Rect (0, 0, Screen.width, Screen.width), "", GUIbox);


Блог.
 
СообщениеScreen.width - ширина, Screen.height - высота, или наоборот. Попробуй так:
Code
GUI.Box (Rect (0, 0, Screen.width, Screen.width), "", GUIbox);

Автор - commandoby
Дата добавления - 17 Июн 2012 в 01:13
ghostukrДата: Вс, 17 Июн 2012, 13:43 | Сообщение # 12
 
Сообщений: 58
Награды: 0
Репутация: 67
Статус: Offline
commandoby,а такой скрипт адаптировать под JS можно?

Веб-Дизайнер.Умею работать с Sandbox.
Понравилось что то? + в репу:3
 
Сообщениеcommandoby,а такой скрипт адаптировать под JS можно?

Автор - ghostukr
Дата добавления - 17 Июн 2012 в 13:43
AswoДата: Вс, 17 Июн 2012, 14:15 | Сообщение # 13
КЗОИ
 
Сообщений: 1031
Награды: 18
Репутация: 430
Статус: Offline
ghostukr, это и есть js.

end.
 
Сообщениеghostukr, это и есть js.

Автор - Aswo
Дата добавления - 17 Июн 2012 в 14:15
123_XanteR_456Дата: Вс, 17 Июн 2012, 15:37 | Сообщение # 14
Нет аватара
 
Сообщений: 169
Награды: 0
Репутация: 35
Статус: Offline
Левша, хм,а ведь ghostukr не один такой! Я попробовал сделать ради интереса так же,ту же текстуру,скриптом узнал разрешение,в писАл в ScreenBalans W/H и у меня так же текстура не на весь экран!!!!!!!!!!!!!!!!!!!!!!!!!
это что такие за косяки? В чем мы ошибаемся?


Неплохо знаю JavaScript(Unity3D API) =)
 
СообщениеЛевша, хм,а ведь ghostukr не один такой! Я попробовал сделать ради интереса так же,ту же текстуру,скриптом узнал разрешение,в писАл в ScreenBalans W/H и у меня так же текстура не на весь экран!!!!!!!!!!!!!!!!!!!!!!!!!
это что такие за косяки? В чем мы ошибаемся?

Автор - 123_XanteR_456
Дата добавления - 17 Июн 2012 в 15:37
AswoДата: Вс, 17 Июн 2012, 16:14 | Сообщение # 15
КЗОИ
 
Сообщений: 1031
Награды: 18
Репутация: 430
Статус: Offline
123_XanteR_456, в том, что скрипт Левшы, просто фиксирует объект, но не меняет его размера.

end.
 
Сообщение123_XanteR_456, в том, что скрипт Левшы, просто фиксирует объект, но не меняет его размера.

Автор - Aswo
Дата добавления - 17 Июн 2012 в 16:14
ghostukrДата: Вс, 17 Июн 2012, 17:03 | Сообщение # 16
 
Сообщений: 58
Награды: 0
Репутация: 67
Статус: Offline
Другими словами он делает позицию объекта фиксированной на любой размер экрана?

Добавлено (17.06.2012, 17:03)
---------------------------------------------
В таком случае,кто то может мне адаптировать скрипт который дал Aswo под JS?


Веб-Дизайнер.Умею работать с Sandbox.
Понравилось что то? + в репу:3
 
СообщениеДругими словами он делает позицию объекта фиксированной на любой размер экрана?

Добавлено (17.06.2012, 17:03)
---------------------------------------------
В таком случае,кто то может мне адаптировать скрипт который дал Aswo под JS?


Автор - ghostukr
Дата добавления - 17 Июн 2012 в 17:03
commandobyДата: Вс, 17 Июн 2012, 18:09 | Сообщение # 17
Unity 3D Free
 
Сообщений: 836
Награды: 3
Репутация: 211
Статус: Offline
Я си шарп не знаю, но наверно так:
Code
var texture : texture2D;  

function OnGUI() {  
GUI.DrawTexture(Rect(0, 0, Screen.width, Screen.height), texture);  
}


Блог.
 
СообщениеЯ си шарп не знаю, но наверно так:
Code
var texture : texture2D;  

function OnGUI() {  
GUI.DrawTexture(Rect(0, 0, Screen.width, Screen.height), texture);  
}

Автор - commandoby
Дата добавления - 17 Июн 2012 в 18:09
ЛевшаДата: Вс, 17 Июн 2012, 18:39 | Сообщение # 18
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Quote (Aswo)
скрипт Левшы, просто фиксирует объект, но не меняет его размера.

Народ, вы что издеваетесь ? huh Как это у меня работает а у вас нет ??? biggrin
Достаточно просто на код посмотреть, как он может не менять размеры ?

Code

function Balans () {
      guiTexture.pixelInset.x = posX / scrinBalansWidth;
      guiTexture.pixelInset.y = posY / scrinBalansHeight;
      guiTexture.pixelInset.width = shirina / scrinBalansWidth;
      guiTexture.pixelInset.height = vysota / scrinBalansHeight;
    }


Епти в 4 проектах уже применил, разрешение подстраиваеться на лету.
Смотрите сами тут: http://gamecreatingcommunity.ru/forum/148-4080-110169-16-1322776507 Перейдите в полноекранный режим, а потом обратно и наблюдайте за гуи интерфейса и меню.
И тут смотрите: http://gamecreatingcommunity.ru/forum/148-2131-54439-16-1289998966 Этот самый код работает, только переделан на реалтайм, то что в теме устанавливает только 1 раз при старте игры.


X.cor.R (Prologue)
 
Сообщение
Quote (Aswo)
скрипт Левшы, просто фиксирует объект, но не меняет его размера.

Народ, вы что издеваетесь ? huh Как это у меня работает а у вас нет ??? biggrin
Достаточно просто на код посмотреть, как он может не менять размеры ?

Code

function Balans () {
      guiTexture.pixelInset.x = posX / scrinBalansWidth;
      guiTexture.pixelInset.y = posY / scrinBalansHeight;
      guiTexture.pixelInset.width = shirina / scrinBalansWidth;
      guiTexture.pixelInset.height = vysota / scrinBalansHeight;
    }


Епти в 4 проектах уже применил, разрешение подстраиваеться на лету.
Смотрите сами тут: http://gamecreatingcommunity.ru/forum/148-4080-110169-16-1322776507 Перейдите в полноекранный режим, а потом обратно и наблюдайте за гуи интерфейса и меню.
И тут смотрите: http://gamecreatingcommunity.ru/forum/148-2131-54439-16-1289998966 Этот самый код работает, только переделан на реалтайм, то что в теме устанавливает только 1 раз при старте игры.

Автор - Левша
Дата добавления - 17 Июн 2012 в 18:39
AswoДата: Вс, 17 Июн 2012, 19:34 | Сообщение # 19
КЗОИ
 
Сообщений: 1031
Награды: 18
Репутация: 430
Статус: Offline
Левша, я проверить не могу, у меня из-за него Unity завершает работу. В голове скомпилировать пока не получается, так как потеплело после подготовки к математике. Да и применяется он к объекту на сцене, а выше картинка создает при старте. Мне кажется, что так удобнее, потому что ничего не мешает работать в редакторе.

Добавлено (17.06.2012, 19:34)
---------------------------------------------
Там задание координат разное.


end.
 
СообщениеЛевша, я проверить не могу, у меня из-за него Unity завершает работу. В голове скомпилировать пока не получается, так как потеплело после подготовки к математике. Да и применяется он к объекту на сцене, а выше картинка создает при старте. Мне кажется, что так удобнее, потому что ничего не мешает работать в редакторе.

Добавлено (17.06.2012, 19:34)
---------------------------------------------
Там задание координат разное.


Автор - Aswo
Дата добавления - 17 Июн 2012 в 19:34
ЛевшаДата: Вс, 17 Июн 2012, 20:28 | Сообщение # 20
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Aswo, я мало что понял из твоего последнего поста... извини.

X.cor.R (Prologue)
 
СообщениеAswo, я мало что понял из твоего последнего поста... извини.

Автор - Левша
Дата добавления - 17 Июн 2012 в 20:28
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2025