скопировать значение переменной c#
|
|
ggman | Дата: Пятница, 10 Января 2014, 21:50 | Сообщение # 1 |
постоянный участник
Сейчас нет на сайте
| В общем, нужно мне было при наведении мыши, не зная какой сейчас цвет материала, поменять его на зеленый, а потом вернуть обратно. Пробовал скопировать цвет просто через "=" в левую переменную Collor. а потом присвоить: renderer.material.color = Color.green;
Но, система копирования здесь кривая. В результате все цвета стали зелеными.
Как нормально скопировать цвет?
|
|
| |
Левша | Дата: Пятница, 10 Января 2014, 22:05 | Сообщение # 2 |
почти ветеран
Сейчас нет на сайте
| Цитата ggman ( ) Но, система копирования здесь кривая. О_о Может в руках дело ? Цвет - это параметр материала, и если на всех обьектах один и тот же материал - то ясный пень, цвет поменяется на всех обьектах с этим материалом.
X.cor.R (Prologue)
Сообщение отредактировал Левша - Пятница, 10 Января 2014, 22:07 |
|
| |
nwsx | Дата: Пятница, 10 Января 2014, 22:53 | Сообщение # 3 |
постоянный участник
Сейчас нет на сайте
| Ну ваще-то, при обращении к renderer.material, материал должен клонироваться. Наверное, ошибка не в этой строчке.
Westboro Dungeon Journey на Google Play
Сообщение отредактировал nwsx - Пятница, 10 Января 2014, 23:42 |
|
| |
seaman | Дата: Пятница, 10 Января 2014, 23:06 | Сообщение # 4 |
старожил
Сейчас нет на сайте
| Цитата материал должен клонироваться. Кому он должен?
|
|
| |
robertono | Дата: Пятница, 10 Января 2014, 23:19 | Сообщение # 5 |
Чокнутый Кот
Сейчас нет на сайте
| Вы запоминаете материал? В данном случает будет проще запомнить цвет. Color oldColor = object.renderer.material.color
|
|
| |
nwsx | Дата: Пятница, 10 Января 2014, 23:39 | Сообщение # 6 |
постоянный участник
Сейчас нет на сайте
| Цитата seaman ( ) материал должен клонироваться.
Кому он должен http://docs.unity3d.com/Documentation/ScriptReference/Renderer-material.html
Westboro Dungeon Journey на Google Play
|
|
| |
Левша | Дата: Пятница, 10 Января 2014, 23:54 | Сообщение # 7 |
почти ветеран
Сейчас нет на сайте
| Интересно... может в последних версиях введено ? Тогда резонный вопрос, почему у топик стартера: Цитата ggman ( ) В результате все цвета стали зелеными.
X.cor.R (Prologue)
Сообщение отредактировал Левша - Пятница, 10 Января 2014, 23:55 |
|
| |
nwsx | Дата: Суббота, 11 Января 2014, 00:13 | Сообщение # 8 |
постоянный участник
Сейчас нет на сайте
| Потому что у него руки из жопы. Не, не в последних - год назад уже было.
Westboro Dungeon Journey на Google Play
Сообщение отредактировал nwsx - Суббота, 11 Января 2014, 00:14 |
|
| |
ggman | Дата: Суббота, 11 Января 2014, 02:20 | Сообщение # 9 |
постоянный участник
Сейчас нет на сайте
| Давайте без оскорблений и не очень умных шуток. Привожу код который использую: Код Color tmp;
void OnMouseEnter() { tmp = renderer.material.color; renderer.material.color = Color.green; }
void OnMouseExit () { renderer.material.color = tmp; } Результат его выплнения: tmp тоже содержит зеленый цвет. Как это исправить?
Сообщение отредактировал ggman - Суббота, 11 Января 2014, 02:59 |
|
| |
error111 | Дата: Суббота, 11 Января 2014, 04:50 | Сообщение # 10 |
заслуженный участник
Сейчас нет на сайте
| Цитата ggman ( ) Привожу код который использую:
tmp запоминай в Start(), а не в маусЕнтере.
[Shmup/RPG] Fantasy Shmup!
Сообщение отредактировал error111 - Суббота, 11 Января 2014, 04:51 |
|
| |
set16 | Дата: Суббота, 11 Января 2014, 07:26 | Сообщение # 11 |
постоянный участник
Сейчас нет на сайте
| Если у вас на матерьяле лежит текстура может подойти
Код void OnMouseEnter() { renderer.material.color = Color.green; }
void OnMouseExit () { renderer.material.color = Color.white; }
Только меред этим выбрать у матерьала самый белый с цветом 1,1,1,1
=>The darkness of distant lands [3D]<=
|
|
| |
ggman | Дата: Суббота, 11 Января 2014, 20:30 | Сообщение # 12 |
постоянный участник
Сейчас нет на сайте
| error111 Не подходит. Цвет постоянно изменяется и какой он будет в момент наведения мыши не известно.
|
|
| |
divol13 | Дата: Суббота, 11 Января 2014, 20:46 | Сообщение # 13 |
участник
Сейчас нет на сайте
| в юнити не силен, но очевидно же tmp = renderer.material.color; то есть ты меняешь цвет и там(renderer.material.color) и там(tmp). надо просто создать цвет, заполнить его цветом материала, ну а дальше сам догадаешься...
|
|
| |
allods | Дата: Воскресенье, 12 Января 2014, 18:04 | Сообщение # 14 |
почти ветеран
Сейчас нет на сайте
| tmp=this.renderer.material.GetColor("_Color"); this.renderer.material.SetColor("_Color",Color.green);
Вот так попробуйДобавлено (12.01.2014, 18:04) ---------------------------------------------
Цитата ggman ( ) Код
Color tmp;
void OnMouseEnter() { tmp = renderer.material.color; renderer.material.color = Color.green; }
void OnMouseExit () { renderer.material.color = tmp; }
Результат его выплнения: tmp тоже содержит зеленый цвет. Как это исправить?
Если ты се ровно заполняешь tmp начальным цветом то почему его просто в старт не засунуть
|
|
| |