Реализация смены текстуры при нажатии на куб

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

Реализация смены текстуры при нажатии на куб

Сообщение iXerox 10 дек 2011, 22:17

Я использую скрипт:
Синтаксис:
Используется javascript
var iS = 0;
var Texture1 : Texture;
var Texture2 : Texture;
var Texture3 : Texture;

function Update()
{
                if(iS==0)
                {
                renderer.material.mainTexture = Texture1;
                }
}

function OnMouseUp()
{
                if(iS==0)
                {
                                renderer.material.mainTexture = Texture2;
                                iS = 1;
                }
                else if(iS==1)
                {
                                renderer.material.mainTexture = Texture3;              
                                iS = 2;
                }
                else if(iS==2)
                {

                                iS = 0;
                }
}
 

Он меняет текстуру, когда я жму куб к которому присоединен данный скрипт. Теперь вопрос: Как сделать, чтобы текстура на кубе "В" менялась на при нажатии на куб "А".
iXerox
UNец
 
Сообщения: 46
Зарегистрирован: 03 сен 2011, 18:41

Re: Реализация смены текстуры при нажатии на куб

Сообщение Левш@ 11 дек 2011, 01:31

Это твой код после оптимизации.
Синтаксис:
Используется javascript
var texture : Texture[];
private var is = 0;
function OnMouseUp ()  {
            renderer.material.mainTexture = texture[is];
            is += 1;
}

А найти в скрипте нужный обьект и его материал для изменение значений можно так:
Синтаксис:
Используется javascript
objMat = GameObject.Find("Имя обьекта").renderer.material.mainTexture;

Из чего следует:
Синтаксис:
Используется javascript
var texture : Texture[];
private var is = 0;
function OnMouseUp ()  {
            GameObject.Find("Имя обьекта").renderer.material.mainTexture = texture[is];
            is += 1;
}

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

Re: Реализация смены текстуры при нажатии на куб

Сообщение iXerox 11 дек 2011, 15:17

Спасибо, а я все текстуры вручную прописывал...
Еще вопрос:
Есть скрипт:
Синтаксис:
Используется javascript

var step = 0;
var ScoreID0 = 0;
var ScoreID1 = 0;
var ScoreGUIP1 : GUIText;
var ScoreID = 0;
var Texture0 : Texture;
var Texture1 : Texture;
var Texture2 : Texture;
var ScoreID2 = 0;
var cube : GameObject;

function Start ()
{  
  step = 0;
   cube.renderer.material.mainTexture = Texture0;
    yield new WaitForSeconds (3);
  step = 1;
   cube.renderer.material.mainTexture = Texture1;
    yield new WaitForSeconds (3);
  step = 2;
   cube.renderer.material.mainTexture = Texture2;
    yield new WaitForSeconds (3);
   
}

function OnMouseUp()
{
   if(step == 0)
   {
       ScoreID0 = ScoreID + 1;
   ScoreGUIP1.text = "" + ScoreID0;

   }
   else if(step == 1)
   {
       ScoreID1 = ScoreID0 + 1;
   ScoreGUIP1.text = "" + ScoreID1;

   }
   else if(step == 2)
   {
       ScoreID2 = ScoreID1 + 1;
   ScoreGUIP1.text = "" + ScoreID2;     
   }
}
 


Это вариация от старого кода. Теперь суть.
Данный скрипт меняет счет(Score) в зависимости от текстуры. Скрипт прикрепил к кубу. Текстура меняется на другом кубе. Есть я делаю:
Текстура сменилась=>Жму куб; Текстура сменилась=>Жму куб и т.д. то все нормально, но если я:
Текстура сменилась =>Жму куб; Текстура сменилась=> Жду, ничего не делаю; Текстура сменилась=>Жму куб.
После последнего, значение Score обнуляется и к нему прибавляется . То есть получается 0+1=1.
Вопрос как этого избежать. Я сделал так т.к. хотел, чтобы во время одной текстуры нельзя было много раз нажать на куб и увеличить счет несколько раз.

Помогите пожалуйста как решить данную проблему. Может быть вообще надо использовать другой способ, если да, то какой?
Заранее спасибо.
iXerox
UNец
 
Сообщения: 46
Зарегистрирован: 03 сен 2011, 18:41

Re: Реализация смены текстуры при нажатии на куб

Сообщение iXerox 11 дек 2011, 21:28

Все, мне уже помогли на другом форуме.
iXerox
UNец
 
Сообщения: 46
Зарегистрирован: 03 сен 2011, 18:41


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

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

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