FullScreen
Autor
Wiadomość
Melvin
Preferowany:
Ranga RM:
Pomógł: 35 razy Dołączył: 23 Paź 2009 Posty: 1063
Wysłany: Nie 17 Kwi, 2011 22:25
FullScreen
Automatic Full Screen v1.0
Skrypt wyświetla okno z wyborem pełnego ekranu, zanim przejdzie do titla(menu głównego).
Autor
Blizzard
Modyfikacje by Melvin
Screenshot
Demo
Brak
Skrypt
Spoiler:
Kod: #==========================================================================
# Automatic Full Screen v1.0
#==========================================================================
# Autor: Blizzard
# Modyfikacje by Melvin - www.ultimateam.pl
#==========================================================================
module Melvin
# Windowskin:
$WSFSSCR = "001-Blue01"
# Przezroczystość(0-255):
OP = 255
#=================================================
# Tekst na ekranie:
TEXT = "Ustawić pełny ekkran?"
# Tekst przycisku "Tak":
YES = "Tak"
# Tekst przycisku "Nie":
NO = "Nie"
end
#==========================================================================
class Scene_Title
alias main_fullscreen? main
def main
if true
unless $game_started
Graphics.freeze
$data_system = load_data('Data/System.rxdata')
$game_system = Game_System.new
@window = Window_FullScreen.new(320, [Melvin::YES ,Melvin::NO])
@window.x = 320 - @window.width / 2
@window.y = 240 - @window.height / 2
@window.opacity = 0
@picBG = Window_picBG.new
@picBG.x = 0
@picBG.y = 0
@picBG.opacity = 255
Graphics.transition(10)
loop do
Graphics.update
Input.update
@window.update
@picBG.update
update_window
break if $game_started
end
Graphics.freeze
@window.dispose
@picBG.dispose
@window = nil
Graphics.transition(10)
Graphics.freeze
end
else
$game_started = true
end
main_fullscreen?
end
def update_window
if Input.trigger?(Input::C)
if @window.index == 0
$game_system.se_play($data_system.decision_se)
keybd = Win32API.new 'user32.dll', 'keybd_event', ['i', 'i', 'l', 'l'], 'v'
keybd.call 0xA4, 0, 0, 0
keybd.call 13, 0, 0, 0
keybd.call 13, 0, 2, 0
keybd.call 0xA4, 0, 2, 0
else
$game_system.se_play($data_system.cancel_se)
end
$game_started = true
elsif Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$game_started = true
end
end
end
class Window_FullScreen < Window_Selectable
def initialize(width, commands)
super(0, 0, width, commands.size * 32 + 64)
@item_max = commands.size
@commands = commands
self.contents = Bitmap.new(width - 32, @item_max * 32 + 32)
if $fontface != nil
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
elsif $defaultfonttype != nil
self.contents.font.name = $defaultfonttype
self.contents.font.size = $defaultfontsize
end
refresh
self.index = 0
end
def refresh
self.contents.clear
qu = Melvin::TEXT
self.contents.draw_text(0, 0, width - 32, 32, qu, 1)
for i in 0...@item_max
draw_item(i, normal_color)
end
end
def draw_item(index, color)
rect = Rect.new(4, 32+32 * index, self.contents.width - 8, 32)
rect2 = Rect.new(4+1, 32+32 * index+1, self.contents.width - 8, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
self.contents.font.color = color
self.contents.draw_text(rect, @commands[index], 1)
end
def update_cursor_rect
if @index < 0
self.cursor_rect.empty
return
end
row = @index / @column_max
self.top_row = row if row < self.top_row
if row > self.top_row + (self.page_row_max - 1)
self.top_row = row - (self.page_row_max - 1)
end
cursor_width = 64
x = (self.contents.width - cursor_width) / 2
y = @index / @column_max * 32 - self.oy
self.cursor_rect.set(x, y + 32, cursor_width, 32)
end
end
class Window_picBG < Window_Base
def initialize(x = 640, y = 480, width = 640, height = 480)
super(x, y, width, height)
self.contents = Bitmap.new(width - 32, height - 32)
self.back_opacity = Melvin::OP
refresh
end
def refresh
self.contents.clear
self.windowskin = RPG::Cache.windowskin($WSFSSCR)
end
end
Instrukcja
Wklej na "Main"
________________________ MelvinClass:
shiwt
Preferowany:
Pomógł: 13 razy Dołączył: 02 Lip 2010 Posty: 131 Skąd: z Polski
Melvin
Preferowany:
Ranga RM:
Pomógł: 35 razy Dołączył: 23 Paź 2009 Posty: 1063
Wysłany: Pon 18 Kwi, 2011 17:22
Dodałem możliwość zmiany windowskina(z oknem na końcu) i konfigurację.
Mogę jeszcze dorzucić możliwość ustawienia obrazka na tle..
________________________ MelvinClass:
shiwt
Preferowany:
Pomógł: 13 razy Dołączył: 02 Lip 2010 Posty: 131 Skąd: z Polski
anemone
Preferowany:
Dołączył: 20 Mar 2011 Posty: 55 Skąd: Z brzuszka mamusi.
Wysłany: Czw 21 Kwi, 2011 15:25
Mam dla was troszke krutszy skrypt ;)
Kod: $showm = Win32API.new 'user32', 'keybd_event', %w(l l l l), ''
$showm.call(18,0,0,0)
$showm.call(13,0,0,0)
$showm.call(13,0,2,0)
$showm.call(18,0,2,0)
lecz sądze, że ten tylko na eng. działa ( nie jestem pewny! )
;)
Melvin
Preferowany:
Ranga RM:
Pomógł: 35 razy Dołączył: 23 Paź 2009 Posty: 1063
Wysłany: Czw 21 Kwi, 2011 15:50
anemone napisał/a: Mam dla was troszke krutszy skrypt ;)
http://www.sjp.pl/krutszy
Ten skrypt co podałeś od razu włącza pełny ekran, a ten ode mnie(właściwie od Blizza) pokazuje okno z wyborem - "Czy chcesz włączyć pełny ekran".
________________________ MelvinClass:
anemone
Preferowany:
Dołączył: 20 Mar 2011 Posty: 55 Skąd: Z brzuszka mamusi.
Wysłany: Czw 21 Kwi, 2011 16:09
-.- wybacz za błąd, ale się śpieszyłem -.-
Danbo
Preferowany:
Pomógł: 1 raz Dołączył: 26 Paź 2011 Posty: 16 Skąd: Wrocław
Wysłany: Pią 25 Lis, 2011 20:06
Ja mam problem z tym skryptem. Kiedy włączam gre pojawia się "Czy chceszx grać na dużym ekranie" ale gdy wybiore którą kolwiek opcje to pojawia się duży ekran z tym samym pytanie, klikne na cokolwiek i znów mały ekran itd. Co robić?
________________________ Już niedłguo.
Melvin
Preferowany:
Ranga RM:
Pomógł: 35 razy Dołączył: 23 Paź 2009 Posty: 1063
Wysłany: Pią 25 Lis, 2011 21:21
Nie rozumiem. Masz polską wersję RM'a?
________________________ MelvinClass:
Danbo
Preferowany:
Pomógł: 1 raz Dołączył: 26 Paź 2011 Posty: 16 Skąd: Wrocław
Wysłany: Pią 25 Lis, 2011 21:53
Tak mam PL'a. Spróbuje znów wytłumaczyć. Włączam gre i pokazuje mi się jaki ekran wybrać. Kilkne na nie/tak pokazuje się duży ekran z pytaniem takim samym pytaniem. Znów klikne nie/tak i ekran znów zmienia się w mały i to samo pytanie. Jak teraz nie rozumiecie wyśle SS'a.
Feniks
Preferowany:
Ranga RM:
Pomógł: 62 razy Dołączył: 04 Wrz 2010 Posty: 511
Wysłany: Pią 25 Lis, 2011 22:01
Więc masz swój powód. PL ma takie błędy z skryptami.
________________________
karolloss
Preferowany:
Pomógł: 1 raz Dołączył: 21 Paź 2011 Posty: 4
Wysłany: Sob 26 Lis, 2011 12:55
feniks to nie jest problem mam 2 wersie pl i na każdym mi działa
Melvin
Preferowany:
Ranga RM:
Pomógł: 35 razy Dołączył: 23 Paź 2009 Posty: 1063
Wysłany: Sob 26 Lis, 2011 13:51
Zobacz czy Ci działa w czystym projekcie.
Jeśli tak, to może coś się gryzie z innymi skryptami, chociaż to mało prawdopodobne.
________________________ MelvinClass:
Danbo
Preferowany:
Pomógł: 1 raz Dołączył: 26 Paź 2011 Posty: 16 Skąd: Wrocław
Wysłany: Sob 26 Lis, 2011 14:22
W czystym projekcie też nie działa. Chyba jednak zrezygnuje z pełnego ekranu.
________________________ Już niedłguo.
Melvin
Preferowany:
Ranga RM:
Pomógł: 35 razy Dołączył: 23 Paź 2009 Posty: 1063
Wysłany: Sob 26 Lis, 2011 14:31
Nie ma prawa nie działać. Coś robisz źle
________________________ MelvinClass: