Cerca nel Forum
Showing results for tags 'Script Cursore'.
Trovato 1 risultato
-
Nome Script: Script Cursore Versione: N/D Autore/i: Selwyn Informazioni: Script che aggiunge un cursore come succede nei giochi di Final Fantasy. Istruzioni: Inserite lo script sopra Main. Aggiungete poi questa immagine nella cartella Pictures del vostro progetto: Script: #============================================================================== # ■Cursor Script #------------------------------------------------------------------------------ #  Script to display a cursor instead of a highlight box # by Selwyn # [email protected] #============================================================================== #============================================================================== # ■Cursor_Sprite #============================================================================== class Sprite_Cursor < Sprite #-------------------------------------------------------------------------- # ◠instances #-------------------------------------------------------------------------- attr_accessor :true_x attr_accessor :true_y #-------------------------------------------------------------------------- # ◠initialize #-------------------------------------------------------------------------- def initialize(x = 0, y = 0) super() self.x = @true_x = x self.y = @true_y = y self.z = 10000 self.bitmap = RPG::Cache.picture("cursor") rescue Bitmap.new(32, 32) end #-------------------------------------------------------------------------- # ◠update #-------------------------------------------------------------------------- def update super if self.y < @true_y n = (@true_y - self.y) / 3 n = 1 if n == 0 self.y += n elsif self.y > @true_y n = (self.y - @true_y) / 3 n = 1 if n == 0 self.y -= n end if self.x < @true_x n = (@true_x - self.<img src='http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/sourirex.gif' class='bbc_emoticon' alt=':doute2' /> / 3 n = 1 if n == 0 self.x += n elsif self.x > @true_x n = (self.x - @true_<img src='http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/sourirex.gif' class='bbc_emoticon' alt='X)' /> / 3 n = 1 if n == 0 self.x -= n end end end #============================================================================== # ■Window_Selectable #============================================================================== class Window_Selectable < Window_Base #-------------------------------------------------------------------------- # ◠instances #-------------------------------------------------------------------------- attr_accessor :cursor alias initialize_cursor initialize alias update_cursor_moves update alias dispose_cursor dispose #-------------------------------------------------------------------------- # ◠initialize #-------------------------------------------------------------------------- def initialize(x, y, width, height) initialize_cursor(x, y, width, height) @cursor = Sprite_Cursor.new(x, y) update_cursor end #-------------------------------------------------------------------------- # ◠x= #-------------------------------------------------------------------------- def x=(<img src='http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/sourirex.gif' class='bbc_emoticon' alt='X)' /> super @cursor.x = x if [email protected]? end #-------------------------------------------------------------------------- # ◠y= #-------------------------------------------------------------------------- def y= super @cursor.y = y if [email protected]? end #-------------------------------------------------------------------------- # ◠visible= #-------------------------------------------------------------------------- def visible=(visible) super if [email protected]? and visible == false @cursor.visible = false end end #-------------------------------------------------------------------------- # ◠dispose #-------------------------------------------------------------------------- def dispose dispose_cursor @cursor.dispose end #-------------------------------------------------------------------------- # ◠update_cursor_rect #-------------------------------------------------------------------------- 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 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 #-------------------------------------------------------------------------- # ◠update_cursor #-------------------------------------------------------------------------- def update_cursor @cursor.true_x = self.cursor_rect.x + self.x - 8 @cursor.true_y = self.cursor_rect.y + self.y + 16 @cursor.update @cursor.visible = (self.visible and self.index >= 0) end #-------------------------------------------------------------------------- # ◠update #-------------------------------------------------------------------------- def update update_cursor_moves update_cursor end end