Unity- dodawanie przycisków. 5418 3

O temacie

Autor Cragann

Zaczęty 23.04.2013 roku

Wyświetleń 5418

Odpowiedzi 3

Cragann

Cragann

Użytkownicy
posty766
Propsy604
Profesjabrak
  • Użytkownicy
Muszę stworzyć grę w kilka dni, ogarniam w miarę podstawy Unity, jednak problemem dla mnie jest dodanie przycisków, takie na które klikne myszką i coś się tam zrobi ;d , z resztą sobie poradzę, tylko czy teraz mi ktoś pomoże?
Nagrodze propsami.
 

Damian94

Damian94

Użytkownicy
posty648
Propsy538
ProfesjaGrafik 3D
  • Użytkownicy
chodzi Ci np, o takie przyciski jak w main menu? Na tubie jest tut od Twinbrothers czy cos takiego, jest tam cały proces tworzenia gry. Chyba tam robili coś takiego.
 
http://damiankijowski.blogspot.com/

http://drawcrowd.com/damian94

3dgraphicpl@gmail.com

https://www.youtube.com/watch?v=UCzyE8EWJhy

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

Unity- dodawanie przycisków.
#2 2013-04-23, 13:48(Ostatnia zmiana: 2013-04-23, 14:00)
http://docs.unity3d.com/Documentation/ScriptReference/GUI.Button.html
Jesteś Wyjątkowo Mało Zaradny.

Co do sposobu używania wbudowanego systemu GUI Unity - warto zauważyć że jego elementy nie są istniejącymi ciągle w pamięci obiektami (w ogóle nie można uzyskać odniesienia do nich, nie ma się też bezpośredniego dostępu do ich klas), zamiast tego co klatkę są tworzone na nowo, zarazem zwracając informację o tym czy są kliknięte.
   void OnGUI()
    {
        if (GUI.Button(new Rect(0, 0, 100, 30), "Nie potrafię sam zajrzeć do dokumentacji"))
            Debug.Log("Pajac");
       
    }
Na swoje potrzeby zrobiłem na ten system nakładkę dodającą "obiektowość" do elementów interface'u bo tak mi wygodniej się pisze, nie wiem dlaczego w Unity zdecydowano się pierwotnie na takie, a nie inne rozwiązanie. Z nią wygląda to mniej więcej tak:
void Start ()
{
Button przycisk = new Button("napis", 100, 30);
przycisk.position = Vector2(0, 0);
przycisk.OnMouseDown = przycisk_OnMouseDown;
}

void przycisk_OnMouseDown()
{
Debug.Log("klik");
}
Czyli krótko mówiąc całe to przerysowywanie co klatkę jest przeniesione "na zaplecze".

Cragann

Cragann

Użytkownicy
posty766
Propsy604
Profesjabrak
  • Użytkownicy
Dzięki, narazie nie zamykajcie, bo może sobie nie poradze :lol2:
 


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry