Aldeia RPG

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Suporte no desenvolvimento de jogos


    Mouse Diamond

    Valentine
    Valentine
    Administrador
    Administrador

    Medalhas : Mouse Diamond ZgLkiRU
    Mensagens : 5223
    Créditos : 1148

    Mouse Diamond Empty Mouse Diamond

    Mensagem por Valentine Ter Fev 17, 2015 10:11 pm

    Mouse Diamond
    Autor: Valentine
    Versão: 1.5

    Log:
    Spoiler:
    Versão 1.0 - 17/02/2015:
    -Versão 1.0 lançada para o RPG Maker XP.
    Versão 1.5 - 22/04/2021:
    -Sistema disponível para o RPG Maker VX Ace;
    -Não precisa mais adicionar $mouse.update nas scenes;
    -Módulo de configurações adicionado para facilitar a alteração do ícone e opacidade do cursor.

    Script:
    Código:
    #==============================================================================
    # ** Mouse Diamond
    #------------------------------------------------------------------------------
    # Autor: Valentine
    #------------------------------------------------------------------------------
    # Versão: 1.5
    #==============================================================================

    module Mouse_Configs
      # Índice no IconSet.png do ícone do cursor do mouse
      CURSOR_ICON = 147
      
      # Opacidade do cursor (de 0 a 255)
      CURSOR_OPACITY = 255
    end

    #==============================================================================
    # ** Mouse
    #==============================================================================
    module Mouse
      # Esconde o ícone original do cursor
      Win32API.new('user32', 'ShowCursor', 'I', 'I').call(0)
      # Win32 API
      ScreenToClient = Win32API.new('user32', 'ScreenToClient', 'LP', 'I')
      GetCursorPos = Win32API.new('user32', 'GetCursorPos', 'P', 'I')
      GetPrivateProfileStringA = Win32API.new('kernel32', 'GetPrivateProfileStringA', 'PPPPLP', 'L')
      FindWindowA = Win32API.new('user32', 'FindWindowA', 'PP', 'L')
      #--------------------------------------------------------------------------
      # * Inicialização
      #--------------------------------------------------------------------------
      def self.init
        @cursor_sprite = Sprite_Cursor.new
        update
      end
      #--------------------------------------------------------------------------
      # * Obtenção da posição do cursor
      #--------------------------------------------------------------------------
      def self.get_cursor_pos
        pos = [0, 0].pack('ll')
        GetCursorPos.call(pos)
        ScreenToClient.call(HWND, pos)
        pos.unpack('ll')
      end
      #--------------------------------------------------------------------------
      # * Obtenção do identificador
      #--------------------------------------------------------------------------
      def self.find_window
        game_name = "\0" * 256
        GetPrivateProfileStringA.call('Game', 'Title', '', game_name, 255, ".\\Game.ini")
        game_name.delete!("\0")
        FindWindowA.call('RGSS Player', game_name)
      end
      #--------------------------------------------------------------------------
      # * Atualização do frame
      #--------------------------------------------------------------------------
      def self.update
        @x, @y = *get_cursor_pos
        @cursor_sprite.x = @x
        @cursor_sprite.y = @y
      end
      # Mantém a posição do mouse atualizada, inclusive
      #quando pressionar F2
      HWND = self.find_window
    end

    #==============================================================================
    # ** Sprite_Cursor
    #==============================================================================
    class Sprite_Cursor < Sprite
      #--------------------------------------------------------------------------
      # * Inicialização do objeto
      #--------------------------------------------------------------------------
      def initialize
        super
        create_bitmap
      end
      #--------------------------------------------------------------------------
      # * Obtenção da posição do cursor
      #--------------------------------------------------------------------------
      def create_bitmap
        self.bitmap = Bitmap.new(24, 24)
        bitmap = Cache.system('Iconset')
        rect = Rect.new(Mouse_Configs::CURSOR_ICON % 16 * 24, Mouse_Configs::CURSOR_ICON / 16 * 24, 24, 24)
        self.bitmap.blt(0, 0, bitmap, rect)
        self.opacity = Mouse_Configs::CURSOR_OPACITY
        self.z = 999
      end
    end

    #==============================================================================
    # ** Input
    #==============================================================================
    class << Input
      #--------------------------------------------------------------------------
      alias dmouse_update update
      #--------------------------------------------------------------------------
      # * Atualização do frame
      #--------------------------------------------------------------------------
      def update
        dmouse_update
        Mouse.update
      end
    end

    #==============================================================================
    # ** DataManager
    #==============================================================================
    class << DataManager
      #--------------------------------------------------------------------------
      alias dmouse_init init
      #--------------------------------------------------------------------------
      # * Inicialização
      #--------------------------------------------------------------------------
      def init
        # Inicializa o mouse quando iniciar o projeto e
        #toda vez que pressionar F12
        Mouse.init
        dmouse_init
      end
    end

    Créditos:
    Valentine


    Última edição por Valentine em Qui Abr 22, 2021 11:29 am, editado 17 vez(es)


    _________________
    Mouse Diamond AIymW
    Dooolly
    Dooolly
    Colaborador
    Colaborador

    Medalhas : Mouse Diamond Trophy12
    Mensagens : 1227
    Créditos : 152

    Ficha do personagem
    Nível: 1
    Experiência:
    Mouse Diamond Left_bar_bleue0/0Mouse Diamond Empty_bar_bleue  (0/0)
    Vida:
    Mouse Diamond Left_bar_bleue30/30Mouse Diamond Empty_bar_bleue  (30/30)

    Mouse Diamond Empty Re: Mouse Diamond

    Mensagem por Dooolly Ter Fev 17, 2015 10:14 pm

    Tá Feio, Refaça tudo Fuckthashit

    Muito bom Valentine gostosão, Continue estudando quem sabe você faz um melhor Trollface
    Vai ajudar muita gente, vou dar +1 Credito. Continue ajudando quem sabe vc fica importante
    avatar
    Trpino
    Membro Ativo
    Membro Ativo

    Mensagens : 300
    Créditos : 12

    Ficha do personagem
    Nível: 1
    Experiência:
    Mouse Diamond Left_bar_bleue0/0Mouse Diamond Empty_bar_bleue  (0/0)
    Vida:
    Mouse Diamond Left_bar_bleue30/30Mouse Diamond Empty_bar_bleue  (30/30)

    Mouse Diamond Empty Re: Mouse Diamond

    Mensagem por Trpino Ter Fev 17, 2015 10:19 pm

    muito bom valentine como sempre você a trazer novidades para a aldeia e ajudando a comunidade maker 
    +4 créditos


    _________________
                                                                                                                                          
    Jonny
    Jonny
    Aldeia Friend
    Aldeia Friend

    Medalhas : Mouse Diamond Trophy11Mouse Diamond 9P5Gx
    Mensagens : 1936
    Créditos : 327

    Mouse Diamond Empty Re: Mouse Diamond

    Mensagem por Jonny Qui Fev 19, 2015 4:03 pm

    @Trpino escreveu:muito bom valentine como sempre você a trazer novidades para a aldeia e ajudando a comunidade maker 
    +4 créditos

    sim ele e foda, obrigado valentine. pelo novedad Very Happy


    _________________
    Spoiler:

      


    Mouse Diamond KVIdx
    Valentine
    Valentine
    Administrador
    Administrador

    Medalhas : Mouse Diamond ZgLkiRU
    Mensagens : 5223
    Créditos : 1148

    Mouse Diamond Empty Re: Mouse Diamond

    Mensagem por Valentine Sab Jul 02, 2016 11:25 am

    Tópico atualizado.


    _________________
    Mouse Diamond AIymW
    Komuro Takashi
    Komuro Takashi
    Colaborador
    Colaborador

    Mensagens : 1046
    Créditos : 130

    Mouse Diamond Empty Re: Mouse Diamond

    Mensagem por Komuro Takashi Seg Jul 04, 2016 8:04 am

    Obrigado por compartilhar! +1


    _________________
    Mouse Diamond Takashi_komuro_by_minato8-d51g9o4

    Paga um café? Patreon
    Valentine
    Valentine
    Administrador
    Administrador

    Medalhas : Mouse Diamond ZgLkiRU
    Mensagens : 5223
    Créditos : 1148

    Mouse Diamond Empty Re: Mouse Diamond

    Mensagem por Valentine Qui Abr 22, 2021 11:21 am

    Versão 1.5 disponível.

    Log:
    -Sistema disponível para o RPG Maker VX Ace;
    -Não precisa mais adicionar $mouse.update nas scenes;
    -Módulo de configurações adicionado para facilitar a alteração do ícone e opacidade do cursor.


    _________________
    Mouse Diamond AIymW

    Rpg Maker gosta desta mensagem


    Conteúdo patrocinado

    Mouse Diamond Empty Re: Mouse Diamond

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Ter Maio 18, 2021 2:34 am