GUI туман

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

GUI туман

Сообщение dronik911 01 июн 2012, 00:03

у меня есть картинка с туманом, мне надо заставить его циклично(>>>>>>>>) двигаться, причем сделать это надо через GUI. Реально ли и кто может подсказать?
dronik911
UNIт
 
Сообщения: 81
Зарегистрирован: 19 фев 2012, 11:48

Re: GUI туман

Сообщение Good1101 01 июн 2012, 00:23

Реально, если все что нужно это перемещать текстуру с определенной скоростью то изменяйте рект в нужных пределах времени.
Как тут стрелять?
Аватара пользователя
Good1101
Адепт
 
Сообщения: 1100
Зарегистрирован: 17 ноя 2011, 14:07
  • ICQ

Re: GUI туман

Сообщение dronik911 01 июн 2012, 00:25

нужно не просто перемещать, а чтобы она уходя немного за экран начаналась сначала... покругу. куда конкретнее копать?
dronik911
UNIт
 
Сообщения: 81
Зарегистрирован: 19 фев 2012, 11:48

Re: GUI туман

Сообщение Good1101 01 июн 2012, 00:59

можно использовать 2 текстуры, например если первая текстуры зашла за край на 10 пикселей то вторая текстура будет выползать с другого края соответственно тоже на 10 пикселей и так далее. тут на мой взгляд простая математика и все :)
Как тут стрелять?
Аватара пользователя
Good1101
Адепт
 
Сообщения: 1100
Зарегистрирован: 17 ноя 2011, 14:07
  • ICQ

Re: GUI туман

Сообщение dronik911 01 июн 2012, 01:19

видимо я конченый, как привязать рект во времени...
dronik911
UNIт
 
Сообщения: 81
Зарегистрирован: 19 фев 2012, 11:48

Re: GUI туман

Сообщение Good1101 01 июн 2012, 04:06

ну например берем рект и прибавляем к нему каждый определенный отрезок времени несколько пикселей тем самым двигаем текстуру что то вроде это
Синтаксис:
Используется csharp
    Rect rec;
    float rectPositonWidth = 0;
    float timeFlag;
    public float speed = 0.2f;
    void Update()
    {
        if (timeFlag + speed < Time.time)
        {
            rectPositonWidth += 0.5f;
            timeFlag = Time.time;
        }
        rec = new Rect(rectPositonWidth, 0, 100,100);
   {
 

правда не проверял работоспособность, да и значения писал на вскидку нужно тестить и подгонять оптимальные.
но думаю смысл понятен, таким образом можно двигать текстуру, и проверять если она достигла края экрана то сразу запускать вторую таким же макаром, если текстура полностью скрывается из вида то перемещать ее в начало экрана и запускать по новой, получить ширину экрана в пикселях можно через Screen.width;
Как тут стрелять?
Аватара пользователя
Good1101
Адепт
 
Сообщения: 1100
Зарегистрирован: 17 ноя 2011, 14:07
  • ICQ

Re: GUI туман

Сообщение dronik911 01 июн 2012, 09:11

повесил на объект, ошибок нет, но ничего абсолютно не происходит
dronik911
UNIт
 
Сообщения: 81
Зарегистрирован: 19 фев 2012, 11:48

Re: GUI туман

Сообщение dronik911 01 июн 2012, 10:28

пока я додумался вот до такого
Синтаксис:
Используется csharp
public class pos : MonoBehaviour {
float timeFlag;
public float speed = 0.2f;
    void Update() {
        if (timeFlag + speed < Time.time)
        {
                transform.position = new Vector3(0 + Time.time/20, 0, 1);
            timeFlag = Time.time;
        }
 
        print(transform.position.x);
    }
}


что наворотил понимаю процентов на 50)

и как сделать их 2 и чтобы они дойдя до конкретной точки начинали сначала.
dronik911
UNIт
 
Сообщения: 81
Зарегистрирован: 19 фев 2012, 11:48

Re: GUI туман

Сообщение Good1101 01 июн 2012, 17:14

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

public class GUItextyr : MonoBehaviour
{

    Rect rec;
    float rectPositonWidth;
    float timeFlag = 0;
    public float speed = 0.01f;
    public Texture2D tx;
    void Start()
    {
        rectPositonWidth = -Screen.width;
    }
    void Update()
    {
        if (timeFlag + speed < Time.time)
        {
            timeFlag = Time.time;
            rectPositonWidth = rectPositonWidth < Screen.width ? rectPositonWidth +=1 : -Screen.width;

            rec = new Rect(rectPositonWidth, 0, Screen.width, Screen.height);
        }
    }
    void OnGUI()
    {
        GUI.DrawTexture(rec, tx);
    }
}
 

как сделать две текстуры домашнее задание :-B
Как тут стрелять?
Аватара пользователя
Good1101
Адепт
 
Сообщения: 1100
Зарегистрирован: 17 ноя 2011, 14:07
  • ICQ

Re: GUI туман

Сообщение dronik911 01 июн 2012, 18:46

спасибо, все отлично работает, только вот не могу понять как отрегулировать глубину, надо чтобы находилось между 2х гуи а у меня туман поверх всего
dronik911
UNIт
 
Сообщения: 81
Зарегистрирован: 19 фев 2012, 11:48

Re: GUI туман

Сообщение dronik911 02 июн 2012, 12:41

может кто помочь с глубиной? как добавить параметр глубины.
dronik911
UNIт
 
Сообщения: 81
Зарегистрирован: 19 фев 2012, 11:48

Re: GUI туман

Сообщение dronik911 03 июн 2012, 21:20

Ап, может кто подать идею, как добавить Z
dronik911
UNIт
 
Сообщения: 81
Зарегистрирован: 19 фев 2012, 11:48

Re: GUI туман

Сообщение Receptor 03 июн 2012, 22:14

Z го на котором весит GUI элемент меняй. должно сработать
_VK.com
Аватара пользователя
Receptor
Адепт
 
Сообщения: 1706
Зарегистрирован: 22 ноя 2011, 07:09
Откуда: Волгодонск

Re: GUI туман

Сообщение dronik911 03 июн 2012, 23:59

Receptor писал(а):Z го на котором весит GUI элемент меняй. должно сработать

это в первую очередь попробовал
dronik911
UNIт
 
Сообщения: 81
Зарегистрирован: 19 фев 2012, 11:48


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

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

Сейчас этот форум просматривают: Google [Bot], Yandex [Bot] и гости: 29