Ogłoszenie 

Uwaga! To forum jest w trybie offline.
Wszelką pomoc uzyskasz pod adresem
forum.ultimateam.pl


Administracja Forum


Poprzedni temat «» Następny temat
Przesunięty przez: Ayene
Pią 26 Lut, 2010 14:15
Okno w Ruby
Autor Wiadomość
Sabikku 




Nagrody:
UF i UFT2 Winner

Ranga RM:
4 gry

Pomógł: 73 razy
Dołączył: 04 Kwi 2010
Posty: 428
Wysłany: Nie 17 Lip, 2011 00:17
Oj, wskazałem tylko (imo) lepsze rozwiązanie, nie musisz wiedzieć wszystkiego i na pewno nikogo nie rozczarowałaś - dobrze ci idzie ;-) . Powodzenia.
 
 
 
Avara 





Pomogła: 32 razy
Dołączyła: 15 Gru 2010
Posty: 331
Skąd: Łódź
Wysłany: Nie 17 Lip, 2011 00:25
Oto ostateczna wersja próbnego okienka gdzie wszystko działa bez zarzutu. Można okienko ze zmienną wyłączyć przed powrotem do gry i ładnie się samo odświeża :)
Spoiler:

Kod:
class Scene_Map
   
  alias o_main main
  def main
    komenda_1 = "Zrób coś 1."
    komenda_2 = "Zrób coś 2."
    komenda_3 = "Zrób coś 3."
    @okienko_wyboru = Window_Command.new(192, [komenda_1, komenda_2, komenda_3])
    @okienko_wyboru.x = 50
    @okienko_wyboru.y = 100
    @okienko_wyboru.back_opacity = 150
    @okienko_wyboru.active = false
    @okienko_wyboru.visible = false
    o_main     
  end 
 
 
  alias o_terminate terminate
  def terminate
    @okienko_wyboru.dispose
    o_terminate
  end
 
 
  alias o_update update
  def update
    @okienko_wyboru.update
    if Input.trigger?(Input::C) and @okienko_wyboru.active
      case @okienko_wyboru.index
      when 0:
        @okienko = Window_okno.new
        $game_switches[1] = true       
      when 1:
        $game_variables[5] = 3
        $game_variables[6] = 7
        @okienko.refresh
      when 2:
        $game_variables[5] = $game_variables[6]
        @okienko.refresh
      end
    end
    if Input.trigger?(Input::F5)
      if @okienko_wyboru.active == false
        @okienko_wyboru.visible = true
        @okienko_wyboru.active = true
        $game_temp.background_bitmap.dispose
        $game_temp.background_bitmap = Graphics.snap_to_bitmap
        $game_temp.background_bitmap.blur
        @menuback_sprite = Sprite.new
        @menuback_sprite.bitmap = $game_temp.background_bitmap
        @menuback_sprite.color.set(16, 16, 16, 128)
      else
        @okienko_wyboru.visible = false
        @okienko_wyboru.active = false
        $scene = Scene_Map.new
      end     
    end
    if Input.trigger?(Input::F6)
      if @okienko.visible == true
        @okienko.visible = false
      end
    end
    if not @okienko_wyboru.active
      o_update
    end
  end 
end

Jak na pierwszy dzień to chyba nieźle mi poszło :)
________________________


Drakensang - przeglądarkowa gra RPG online
Spoiler:

 
 
 
Avara 





Pomogła: 32 razy
Dołączyła: 15 Gru 2010
Posty: 331
Skąd: Łódź
Wysłany: Nie 17 Lip, 2011 13:32
Piszę nowy post, bo inaczej nikt nie zauważy mojego pytania:

Jak w prosty sposób można zrobić tak, by samo zaznaczenie opcji dawało jakiś efekt bez potwierdzania enterem?
________________________


Drakensang - przeglądarkowa gra RPG online
Spoiler:

 
 
 
Sabikku 




Nagrody:
UF i UFT2 Winner

Ranga RM:
4 gry

Pomógł: 73 razy
Dołączył: 04 Kwi 2010
Posty: 428
Wysłany: Nie 17 Lip, 2011 13:47
Nie napisałaś, czy efekt ma się wykonywać raz (przy zmianie opcji klawiszem kierunku), czy wielokrotnie (tak długo, jak wybrana jest dana opcja). Wielokrotnie jest łatwo, np. wrzuć pod def update to co poniżej:
Kod:

if @okienko_wyboru.index == 0
  # Co ma się dziać, jeśli zaznaczona jest pierwsza opcja.
elsif @okienko_wyboru.index == 1
  # Co ma się dziać, jeśli zaznaczona jest druga opcja.
elsif @okienko_wyboru.index == 2
  # Co ma się dziać, jeśli zaznaczona jest trzecia opcja.
end
 
 
 
Avara 





Pomogła: 32 razy
Dołączyła: 15 Gru 2010
Posty: 331
Skąd: Łódź
Wysłany: Nie 17 Lip, 2011 20:01
Bardzo Ci dziękuję. O to mi właśnie chodziło. :-) Jeszcze raz thx ;-)
________________________


Drakensang - przeglądarkowa gra RPG online
Spoiler:

 
 
 
Avara 





Pomogła: 32 razy
Dołączyła: 15 Gru 2010
Posty: 331
Skąd: Łódź
Wysłany: Nie 31 Lip, 2011 11:58
Szukałam sposobu, aby w oknie można było wyświetlić tekst w kolorze wybranym z windowskin, ale nie znalazłam, go nigdzie na forum, ani w necie. Udało mi się jednak samej dojść do tego, jak to zrobić (szukając w podstawowych skryptach maker'a vx).

W klasie naszego okna dodajemy definicję:
Kod:
def text_color(n)
    x = 64 + (n % 8) * 8
    y = 96 + (n / 8) * 8
    return windowskin.get_pixel(x, y)
  end

a w definicji reflesh:
Kod:
self.contents.font.color = text_color(15)

Zamiast 15 może być dowolna liczba od 0 do 31 (tyle ile jest kolorów w windowskin).
Każda linijka wstawiona po tym kodzie będzie miała wybrany przez nas kolor. Jeśli chcemy mieć z powrotem kolor podstawowy, to po wybranych przez nas linijkach tekstu wklejamy
Kod:
self.contents.font.color = text_color(0)


Mam nadzieję, że wszystko jest zrozumiałe i że może się to komuś przyda :-)

Kod wzięty z Window_Base ;-)
________________________


Drakensang - przeglądarkowa gra RPG online
Spoiler:

 
 
 
Avara 





Pomogła: 32 razy
Dołączyła: 15 Gru 2010
Posty: 331
Skąd: Łódź
Wysłany: Wto 12 Cze, 2012 11:13
W jaki sposób zwęzić zaznaczenie w danym Window_Selectable? Mam w tym oknie mniejszą czcionkę i chciałabym zwęzić zaznaczenie.
________________________


Drakensang - przeglądarkowa gra RPG online
Spoiler:

 
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Sro 13 Cze, 2012 07:44
W RMVX za szerokość zaznaczenia w Window_Selectable odpowiada definicja 'item_rect(index)'. Wystarczy w niej edytować linijkę:
Kod:
rect.width = (contents.width + @spacing) / @column_max - @spacing

Można albo wpisać konkretną wartość, albo pobawić się działaniami.
________________________


 
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group | Template Klam by Ayene