O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Star Engine - Movimento Diagonal

Iniciado por Takkun, 22/02/2014 às 00:26

22/02/2014 às 00:26 Última edição: 23/02/2014 às 18:01 por Takkun
[box class=catbg]
Star Engine - Movimento Diagonal
[/box]
[box class=catbg]Sumário[/box]

[box class=catbg]Introdução[/box]
Este script adiciona o movimento em 8 direções (diagonais) para o herói e para os eventos.

[box class=catbg]Instruções de Uso[/box]
Coloque o acima do Main.

[box class=catbg]Script[/box]
#==============================================================================
# Star Engine - Movimento Diagonal
# por Takkun
#==============================================================================
# Atualizações & Informações:
#  Versão: v1.0 - Criado: 21/02/2014
#
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Este script adiciona ao seu projeto a possibilidade dos eventos e do herói
# andarem na diagonal. (8 Direções)
# 
# Para fazer os eventos andarem em 8 direções deverá haver dentro do evento um
# comentário contendo o seguinte texto: [diagonal]
#==============================================================================
$starengine = [] if $starengine.nil?
$starengine << ["Star Engine - Movimento Diagonal",1.0]
#==============================================================================
# ** Game_Player
#------------------------------------------------------------------------------
#  Esta classe gerencia o jogador. 
# A instância desta classe é referenciada por $game_player.
#==============================================================================
class Game_Player < Game_Character
  def move_by_input
    return unless movable?
    return if $game_map.interpreter.running?
    case Input.dir8
           when 2,4,6,8;   move_straight(Input.dir4)
           when 1
             move_diagonal(4, 2)
             unless moving?
              move_straight(4)
              move_straight(2)
            end
          when 3
            move_diagonal(6, 2)
            unless moving?
              move_straight(6)
              move_straight(2)
            end
          when 7
            move_diagonal(4, 8)
            unless moving?
              move_straight(4)
              move_straight(8)
            end
          when 9
            move_diagonal(6, 8)
            unless moving?
              move_straight(6)
              move_straight(8)
            end
          end
        end
      end
#==============================================================================
# ** Game_Character
#------------------------------------------------------------------------------
#  Esta classe gerencia os personagens. Esta classe é usada como superclasse das
# classes Game_Player, Game_Follower,GameVehicle e Game_Event
#==============================================================================
class Game_Character < Game_CharacterBase
  def move_random
    diagonal = rand(8)
    case diagonal
    when 0
    move_straight(2)
    when 1
    move_straight(4)
    when 2
    move_straight(6)
    when 3
    move_straight(8)
    when 4
    move_diagonal(4, 2)
    when 5
    move_diagonal(6, 2)
    when 6
    move_diagonal(4, 8)
    when 7
    move_diagonal(6, 8)
    end
  end
end

[box class=catbg]Mídia[/box]


[box class=catbg]Considerações Finais[/box]
Qualquer problema perante ao script pode ser tirado aqui. Espero que gostem e façam bom uso do pequeno código parceiros aquele abraço. \õ