Jak zmienić ekran wyboru? - Horizon - 23-06-13 10:32
Mam dziwny problem w RPG Makerze VX Ace. Okno wyboru wygląda tak:
![[Obrazek: ryp.png]](http://img96.imageshack.us/img96/9485/ryp.png)
Jak zrobić tak, żeby okno wyboru nie odróżniało się tak od wypowiedzi i żeby wybory były pod wypowiedzią, a nie z boku?
RE: Jak zmienić ekran wyboru? - tracersgta - 23-06-13 10:36
A jak piszesz wypowiedź nie masz tam takiej opcji jak ustawienie położenia? W VX tak jest...
RE: Jak zmienić ekran wyboru? - Horizon - 23-06-13 10:38
Mogę zmienić położenie wypowiedzi, ale chcę zmienić położenie okna wyboru oraz jego wygląd.
RE: Jak zmienić ekran wyboru? - tracersgta - 23-06-13 13:12
W takim razie musisz zmienić to w skrypcie okna z odpowiedziami. Ja Ci nie pomogę, gdyż nie znam ani VXAce, ani RGSS3. Może pokombinuj :P
RE: Jak zmienić ekran wyboru? - Ayene - 23-06-13 13:40
Spróbuj tego... wklej nad Main:
Kod:
# ChoiceList z tłem jak okno wiadomości + ChoiceList po lewej stronie
# by Ayene
class Window_ChoiceList < Window_Command
alias win_choice_start start unless $@
def start
create_back_bitmap
create_back_sprite
win_choice_start
end
def back_color1
Color.new(0, 0, 0, 160)
end
def back_color2
Color.new(0, 0, 0, 0)
end
alias win_choice_update_placement update_placement unless $@
def update_placement
win_choice_update_placement
self.x = 0
end
def create_back_bitmap
@back_bitmap = Bitmap.new(width, height)
rect1 = Rect.new(0, 0, width, 12)
rect2 = Rect.new(0, 12, width, height - 24)
rect3 = Rect.new(0, height - 12, width, 12)
@back_bitmap.gradient_fill_rect(rect1, back_color2, back_color1, true)
@back_bitmap.fill_rect(rect2, back_color1)
@back_bitmap.gradient_fill_rect(rect3, back_color1, back_color2, true)
update_background
end
def create_back_sprite
@back_sprite = Sprite.new
@back_sprite.bitmap = @back_bitmap
@back_sprite.visible = false
@back_sprite.z = z - 1
update_back_sprite
end
def update_back_sprite
@background = $game_message.background
@back_sprite.visible = (@background == 1)
@back_sprite.y = y
@back_sprite.opacity = openness
@back_sprite.update
end
def update_background
@background = $game_message.background
self.opacity = @background == 0 ? 255 : 0
end
end
RE: Jak zmienić ekran wyboru? - Horizon - 23-06-13 14:45
Dzięki Ayene. Wszystko działa, tylko okno wyboru nie jest przyciemnione (ciężko odczytać jak tekst nie ma tła). Jak to zrobić?
RE: Jak zmienić ekran wyboru? - Ayene - 23-06-13 16:03
Mhm, to zamień powyższy skrypt na poniższy:
Kod:
# ChoiceList z tłem jak okno wiadomości
class Window_ChoiceList < Window_Command
alias win_choice_start start unless $@
def start
win_choice_start
create_back_bitmap
create_back_sprite
end
def back_color1
Color.new(0, 0, 0, 160)
end
def back_color2
Color.new(0, 0, 0, 0)
end
alias win_choice_update_placement update_placement unless $@
def update_placement
win_choice_update_placement
self.x = 0
end
def create_back_bitmap
@back_bitmap = Bitmap.new(width, height)
rect1 = Rect.new(0, 0, width, 12)
rect2 = Rect.new(0, 12, width, height - 24)
rect3 = Rect.new(0, height - 12, width, 12)
@back_bitmap.gradient_fill_rect(rect1, back_color2, back_color1, true)
@back_bitmap.fill_rect(rect2, back_color1)
@back_bitmap.gradient_fill_rect(rect3, back_color1, back_color2, true)
@background = $game_message.background
self.opacity = @background == 0 ? 255 : 0
end
def create_back_sprite
@back_sprite = Sprite.new
@back_sprite.bitmap = @back_bitmap
@back_sprite.visible = true
@back_sprite.z = z - 1
@back_sprite.visible = (@background == 1)
@back_sprite.y = y
@back_sprite.update
end
def close
super
@back_bitmap.dispose
@back_sprite.dispose
end
end
RE: Jak zmienić ekran wyboru? - Horizon - 23-06-13 16:10
Wszystko działa! Jeszcze raz dzięki Ayene.
Temat do zamknięcia.
|