Kasbak Membre V.I.P.
Messages postés : 1356 Date d'inscription : 05/01/2013 Jauge LPC :
| Sujet: Curseur amélioré Mar 13 Jan 2015 - 6:12 | |
| Voila un script créer par Wecoc qui permet de faire un effet de coulissement lors des changement entre les options,s'applique à tous les windows_selectable,j'ai tester ça rends bien et ça ne semble pas poser de bugs. Détails: cursor_speed. C'est la vitesse du curseur de 1 à 6. La valeur par défaut est 3. 3 - script:
- Code:
-
#============================================================================== # * [XP] Smooth Cursor #==============================================================================
#============================================================================== # * Window_Selectable #==============================================================================
class Window_Selectable < Window_Base attr_accessor :cursor_speed attr_accessor :back_to_top attr_accessor :qw_enabled alias cursor_speed_ini initialize unless $@ def initialize(*args) cursor_speed_ini(*args) @cursor_duration = 0 @cursor_speed = 3 @back_to_top = true @qw_enabled = true end def index=(index) @index = index if self.active and @help_window != nil update_help end update_cursor_rect if @index >= 0 cursor_width = self.width / @column_max - 32 x = @index % @column_max * (cursor_width + 32) y = @index / @column_max * 32 - self.oy self.cursor_rect.set(x, y, cursor_width, 32) end end def update_cursor_rect if @index < 0 self.cursor_rect.empty return end row = @index / @column_max if row < self.top_row self.top_row = row end if row > self.top_row + (self.page_row_max - 1) self.top_row = row - (self.page_row_max - 1) end end def update_cursor_movement if @cursor_duration >= 1 d = @cursor_duration cursor_width = self.width / @column_max - 32 new_x = @index % @column_max * (cursor_width + 32) new_y = @index / @column_max * 32 - self.oy x = (self.cursor_rect.x * (d - 1) + new_x) / d y = (self.cursor_rect.y * (d - 1) + new_y) / d @cursor_duration -= 1 self.cursor_rect.set(x, y, cursor_width, 32) end end def update super update_cursor_movement if self.active and @item_max > 0 and @index >= 0 if Input.repeat?(Input::DOWN) if (@column_max == 1 and Input.trigger?(Input::DOWN)) or @index < @item_max - @column_max $game_system.se_play($data_system.cursor_se) if @back_to_top @index = (@index + @column_max) % @item_max else @index = [@index + @column_max, @item_max - 1].min end @cursor_duration = [7 - @cursor_speed, 1].max end end if Input.repeat?(Input::UP) if (@column_max == 1 and Input.trigger?(Input::UP)) or @index >= @column_max $game_system.se_play($data_system.cursor_se) if @back_to_top @index = (@index - @column_max + @item_max) % @item_max else @index = [@index - @column_max, 0].max end @cursor_duration = [7 - @cursor_speed, 1].max end end if Input.repeat?(Input::RIGHT) if @column_max >= 2 and @index < @item_max - 1 $game_system.se_play($data_system.cursor_se) @index += 1 @cursor_duration = [7 - @cursor_speed, 1].max end end if Input.repeat?(Input::LEFT) if @column_max >= 2 and @index > 0 $game_system.se_play($data_system.cursor_se) @index -= 1 @cursor_duration = [7 - @cursor_speed, 1].max end end if @qw_enabled == true if Input.repeat?(Input::R) if self.top_row + (self.page_row_max - 1) < (self.row_max - 1) $game_system.se_play($data_system.cursor_se) @index = [@index + self.page_item_max, @item_max - 1].min self.top_row += self.page_row_max @cursor_duration = [7 - @cursor_speed, 1].max end end if Input.repeat?(Input::L) if self.top_row > 0 $game_system.se_play($data_system.cursor_se) @index = [@index - self.page_item_max, 0].max self.top_row -= self.page_row_max @cursor_duration = [7 - @cursor_speed, 1].max end end end end if self.active and @help_window != nil update_help end update_cursor_rect end end
#============================================================================== # * Window_MenuStatus #==============================================================================
class Window_MenuStatus < Window_Selectable alias cursor_speed_ms_ini initialize unless $@ def initialize(*args) cursor_speed_ms_ini(*args) @back_to_top = false @qw_enabled = false end def index=(index) @index = index update_cursor_rect if @index >= 0 y = @index * 116 self.cursor_rect.set(0, y, self.width - 32, 96) end end def update_cursor_rect if @index < 0 self.cursor_rect.empty end end def update_cursor_movement if @cursor_duration >= 1 d = @cursor_duration new_y = @index * 116 y = (self.cursor_rect.y * (d - 1) + new_y) / d @cursor_duration -= 1 self.cursor_rect.set(0, y, self.width - 32, 96) end end end
#============================================================================== # * Window_Target #==============================================================================
class Window_Target < Window_Selectable alias cursor_speed_tg_ini initialize unless $@ def initialize(*args) cursor_speed_tg_ini(*args) @back_to_top = true @qw_enabled = false end def update_cursor_rect if @index <= -2 self.cursor_rect.set(0, (@index + 10) * 116, self.width - 32, 96) elsif @index == -1 self.cursor_rect.set(0, 0, self.width - 32, @item_max * 116 - 20) end end def index=(index) @index = index update_cursor_rect if @index >= 0 y = @index * 116 self.cursor_rect.set(0, y, self.width - 32, 96) end end
def update_cursor_movement if @cursor_duration >= 1 d = @cursor_duration new_y = @index * 116 y = (self.cursor_rect.y * (d - 1) + new_y) / d @cursor_duration -= 1 self.cursor_rect.set(0, y, self.width - 32, 96) end end end
#============================================================================== # * Window_Message #==============================================================================
class Window_Message < Window_Selectable alias cursor_speed_ms_ini initialize unless $@ def initialize(*args) cursor_speed_ms_ini(*args) @back_to_top = true @qw_enabled = false end def update_cursor_rect if @index < 0 self.cursor_rect.empty end end def index=(index) @index = index update_cursor_rect if @index >= 0 y = ($game_temp.choice_start + @index) * 32 self.cursor_rect.set(8, y, @cursor_width, 32) end end def update_cursor_movement if @cursor_duration >= 1 d = @cursor_duration new_y = ($game_temp.choice_start + @index) * 32 y = (self.cursor_rect.y * (d - 1) + new_y) / d @cursor_duration -= 1 self.cursor_rect.set(8, y, @cursor_width, 32) end end end
|
|
Magicalichigo Ancienne staffeuse
Messages postés : 4252 Date d'inscription : 02/08/2011 Jauge LPC :
| Sujet: Re: Curseur amélioré Mar 13 Jan 2015 - 10:27 | |
| J'aime beaucoup ce genre de petit changement, je trouve ça vraiment sympa ^^ |
|
Kasbak Membre V.I.P.
Messages postés : 1356 Date d'inscription : 05/01/2013 Jauge LPC :
| Sujet: Re: Curseur amélioré Mar 13 Jan 2015 - 12:56 | |
| Ouai je trouve aussi,c'est comme le contours des textes améliorés ça fait bien dans un projet ça donne moins l'impression des effets et designs classiques de rpg maker. |
|
Zexion Administrateur
Messages postés : 6228 Date d'inscription : 04/01/2012 Jauge LPC :
| Sujet: Re: Curseur amélioré Mar 13 Jan 2015 - 13:29 | |
| Merci pour le partage Kasbak, voici des points. |
|
Contenu sponsorisé
| Sujet: Re: Curseur amélioré | |
| |
|