Últimos temas
» [MV] ¿Cómo mover un sprite?
por Frägarach Hoy a las 2:19 am

» Como cambio esto?...
por Shy_Cream Hoy a las 2:09 am

» El Dia Z - Demo
por EdwarPlay Ayer a las 8:08 pm

» Pokemon Destiny
por Greninja555 Ayer a las 5:46 pm

» Animación Habilidad de Enemigos RPGMAKER VX ACE
por Metatron Ayer a las 3:16 am

» [VX] Cambio de Resolución
por luistop12 Vie Sep 13, 2019 6:51 am

» ¿Como Mover al jugador mientras hay una conversación?
por Zachy Vie Sep 13, 2019 2:05 am

» ¿Como hacer un menú/Galería de imágenes? (RPG VxAce)
por ZororoWhite Jue Sep 12, 2019 7:57 pm

» Inherited Sins [Juego Completo] [Definitive Edition]
por Nina Jue Sep 12, 2019 7:47 pm

» Zaza no konpasu (La Brújula de Zaza) [VXACE]
por Pocari Sáb Sep 07, 2019 12:28 pm

» Ayuda con el ABS
por DarkarPro0102 Sáb Sep 07, 2019 8:32 am

» Pop! Horror City Complementos
por EdwarPlay Jue Sep 05, 2019 10:59 pm


[VX] Cursor Sprite + Smooth Movement

Ir abajo

[VX] Cursor Sprite + Smooth Movement Empty [VX] Cursor Sprite + Smooth Movement

Mensaje por KRiZaLiD el Jue Mar 28, 2019 8:23 pm

Este script lo tengo hace mucho tiempo y no recuerdo de dónde lo obtuve. Pero al parecer no está en Rmakercom, así que lo comparto con ustedes.

¿Para qué sirve este script?
Este script creará un nuevo sprite al cursor y agregará un movimiento suave al cursor, por lo que hará que su juego se vea mejor.

Nombre del ScriptCursor Sprite + Smooth Movement
Autor: strcat

Código:
    #==============================================================================
    # Cursor Sprite + Smooth Movement Script
    #==============================================================================
    # Author  : strcat
    # Version : 1.2
    # Date    : 29 / 01 / 2008
    #------------------------------------------------------------------------------
    # This script will create a new cursor sprite,and add a smooth movement to
    # the cursor,thus making your game look better
    #------------------------------------------------------------------------------
    #==============================================================================
    # ** STRRGSS2
    #==============================================================================
    module STRRGSS2
      # Cursor graphic file name
      WCURSOR_FN = "Window_cursor"
      # position of the cursor(x, y)
      WCURSOR_X = 0
      WCURSOR_Y = 0
    end
    class Sprite_WindowCursor < Sprite
      WAIT = 8    # numbers of frame for cursor update delay.
      CW  = 24  # cursor width
      CH  = 24  # cursor height
    end
    #==============================================================================
    # ** Window_Selectable
    #==============================================================================
    class Window_Selectable < Window_Base
      #--------------------------------------------------------------------------
      #  * Update Cursor
      #--------------------------------------------------------------------------
      def update_se_cursor
        cr = self.cursor_rect
        r = Rect.new(0, 0, 0, 0)
        y = (self.cursor_rect.height - 24) / 2
        v = nil
        v = self.viewport if self.viewport != nil
        @strcursor.viewport = v
        @strcursor.x = self.x + 16 + cr.x - 24 + STRRGSS2::WCURSOR_X
        @strcursor.y = self.y + 16 + cr.y + y  + STRRGSS2::WCURSOR_Y
        @strcursor.z = self.z + 16
        @strcursor.opacity += 64
        @strcursor.opacity = self.opacity if @strcursor.opacity > self.opacity
        @strcursor.visible = ((cr != r) and self.openness == 255)
        @strcursor.visible = false unless self.visible
        @strcursor.blink = (not self.active)
        @strcursor.update
      end
      def update_cursor_str(r,rect)
        self.cursor_rect = r
        rect = Rect.new(0, 0, 0, 0) if @index < 0
        mx = self.cursor_rect.x - rect.x
        if mx >= -1 and mx <= 1
          self.cursor_rect.x = rect.x
        elsif mx != 0
          x = self.cursor_rect.x - (mx/2.0)
          self.cursor_rect.x = x
        end
        my = self.cursor_rect.y - rect.y
        if my >= -1 and my <= 1
          self.cursor_rect.y = rect.y
        elsif my != 0
          y = self.cursor_rect.y - (my/2.0)
          self.cursor_rect.y = y
        end
        self.cursor_rect.width = rect.width
        self.cursor_rect.height = rect.height
      end
      def visible=(v)
        super
        @strcursor.visible = v
      end
      def active=(v)
        super
        @strcursor.visible = false
      end
      def dispose
        @strcursor.dispose
        super
      end
      #--------------------------------------------------------------------------
      # * Object Initialization
      #--------------------------------------------------------------------------
      alias initialize_str05m initialize
      def initialize(x, y, width, height, spacing = 32)
        initialize_str05m(x, y, width, height, spacing)
        file = STRRGSS2::WCURSOR_FN
        v = nil
        v = self.viewport if self.viewport != nil
        @strcursor = Sprite_WindowCursor.new(file, v)
        @f_set = false
      end
      alias update_str05m update
      def update
        update_se_cursor unless @opening
        update_str05m
      end
      alias update_cursor_str05m update_cursor
      def update_cursor
        r = self.cursor_rect.clone unless @f_set
        update_cursor_str05m
        update_cursor_str(r, self.cursor_rect.clone) unless @f_set
        @f_set = false
      end
      #--------------------------------------------------------------------------
      # * Get Index
      #--------------------------------------------------------------------------
      def index=(index)
        @f_set = true
        @index = index
        update_cursor
        call_update_help
      end
    end
    #==============================================================================
    # ** Sprite_WindowCursor
    #==============================================================================
    class Sprite_WindowCursor < Sprite
      #--------------------------------------------------------------------------
      # * Public Instance Variables
      #--------------------------------------------------------------------------
      attr_accessor :blink
      #--------------------------------------------------------------------------
      # * Object Initialization
      #--------------------------------------------------------------------------
      def initialize(name,viewport)
        super(viewport)
        self.bitmap = Cache.system(name)
        self.src_rect.set(0, 0, CW, CH)
        self.opacity = 0
        @xx = -8
        @wait = WAIT
        @count = 0
        @blink = false
      end
      #--------------------------------------------------------------------------
      # * Dispose
      #--------------------------------------------------------------------------
      def dispose
        super
      end
      #--------------------------------------------------------------------------
      # * Frame Update
      #--------------------------------------------------------------------------
      def update
        super
        @xx += 1 if @xx != 0
        self.x += @xx
        @count += 1
        self.visible = false if @blink and (@count % 4) == 0
        @wait -= 1
        return if @wait > 0
        @wait = WAIT
        self.src_rect.x += CW
        self.src_rect.x = 0 if (self.bitmap.width <= self.src_rect.x)
      end
    end


Se necesita una imagen para que el script funcione, debe estar alojada en la carpeta "Graphics/System", debe llamarse "Window_cursor.png" y es la siguiente:
[VX] Cursor Sprite + Smooth Movement UWe4giZ

Saludos, no olviden los créditos a strcat.
KRiZ

_________________
Mi Proyecto:
[VX] Cursor Sprite + Smooth Movement VqJJJp

[VX] Cursor Sprite + Smooth Movement AnrEWG[VX] Cursor Sprite + Smooth Movement UqGVnKv

KRiZaLiD apoya:
[VX] Cursor Sprite + Smooth Movement 3gqmui[VX] Cursor Sprite + Smooth Movement GJ7qjn[VX] Cursor Sprite + Smooth Movement ZhwnH1[VX] Cursor Sprite + Smooth Movement NT6Pp7[VX] Cursor Sprite + Smooth Movement WXmSrO[VX] Cursor Sprite + Smooth Movement CKEALv
KRiZaLiD
KRiZaLiD
Moderador
Moderador

Masculino
Chile
RPG Maker : Vx
Mensajes : 856
Monedas : 4331
Reputación : 110
Edad : 34
Localización : Florida (pueblo fantasma), Chile

Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.