RPG Fusion
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.



 
AccueilPortailRechercherDernières imagesS'enregistrerConnexion
Le Deal du moment : -17%
Casque de réalité virtuelle Meta Quest 2 ...
Voir le deal
249.99 €

 

 Combat vue de dos

Aller en bas 
AuteurMessage
Invité
Invité
Anonymous



Combat vue de dos Empty
MessageSujet: Combat vue de dos   Combat vue de dos EmptyDim 10 Fév 2008, 20:28

Combat vue de dos
-----------------------------

Auteur : パラ犬


Screen:Combat vue de dos Back_fight


Code:
#==============================================================================
# ++ サイドビューバトル(歩行グラフィック版) ver. 1.14 ++
#  Script by パラ犬
#  http://para.j-mx.com/
#------------------------------------------------------------------------------
# バトルフィールドに歩行グラフィックを表示します。
#==============================================================================

module SDVA
 
 X_LINE = 140      # 横位置のバトラー表示座標
 Y_LINE = 300        # 縦位置のバトラー表示座標
 X_SPACE = 120        # 横位置のバトラー同士の間隔
 Y_SPACE = 0        # 縦位置のバトラー同士の間隔
 X_POSITION = 0    # 隊列[前衛・中衛・後衛]の横間隔
 Y_POSITION = 10      # 隊列[前衛・中衛・後衛]の縦間隔
 
 ATTACK_MOVE = true  # 攻撃時に前へ踏み出すか( true / false )
 SKILL_MOVE = true  # スキル使用時に前へ踏み出すか( true / false )
 ITEM_MOVE = false  # アイテム使用時に前へ踏み出すか( true / false )
 MOVE_STEP = 1      # 移動歩数
 MOVE_PIXEL = 10    # 一歩あたりのピクセル数
 
 PARTY_POS = 3      # キャラクターの向き( 0:下 / 1:左 / 2:右 / 3:上 )

 WINDOWPOS_CHANGE = true  # コマンドウインドウをバトラーの横に表示するか( true / false )

 end
 
#==============================================================================
# ■ Game_Actor
#==============================================================================

class Game_Actor < Game_Battler
 #--------------------------------------------------------------------------
 # ● バトル画面 X 座標の取得
 #--------------------------------------------------------------------------
 def screen_x
  if self.index != nil
    # 隊列を取得
    pos = $data_classes[self.class_id].position
    x_pos = pos * SDVA::X_POSITION
    scr_x = self.index * SDVA::X_SPACE + SDVA::X_LINE + x_pos
    # 移動アクションのとき
    if self.current_action.move_action == true
      # 横に移動
      scr_x += @shift_x
    end
    return scr_x
  else
    return 0
  end
 end
 #--------------------------------------------------------------------------
 # ● バトル画面 Y 座標の取得
 #--------------------------------------------------------------------------
 def screen_y
  if self.index != nil
    # 隊列を取得
    pos = $data_classes[self.class_id].position
    y_pos = pos * SDVA::Y_POSITION
    scr_y = self.index * SDVA::Y_SPACE + SDVA::Y_LINE + y_pos
    # 移動アクションのとき
    if self.current_action.move_action == true
      # 縦に移動
      scr_y += @shift_y
    end
    return scr_y
  else
    return 0
  end
 end
 #--------------------------------------------------------------------------
 # ● バトル画面 Z 座標の取得
 #--------------------------------------------------------------------------
 def screen_z
  if self.index != nil
    return self.index
  else
    return 0
  end
 end
end

#==============================================================================
# ■ Game_Battler (分割定義 1)
#==============================================================================

class Game_Battler
 #--------------------------------------------------------------------------
 # ● 公開インスタンス変数
 #--------------------------------------------------------------------------
 attr_reader  :pattern        # 歩行パターン
 attr_reader  :trans_x        # X方向の移動距離
 attr_reader  :moving        # 移動中フラグ
 #--------------------------------------------------------------------------
 # ● オブジェクト初期化
 #--------------------------------------------------------------------------
 alias initialize_sdva initialize
 def initialize
  initialize_sdva
  move_reset
 end
 #--------------------------------------------------------------------------
 # ○ 移動カウント
 #--------------------------------------------------------------------------
 def move
  @moving = 1
    if @step < SDVA::MOVE_STEP
      # 歩数を満たすまで移動
      @pattern = (@pattern + 1) % 4
      @step += 1
      move_step
    else
      # 移動終了
      @pattern = 1
      @moving = 2
    end
 end
 #--------------------------------------------------------------------------
 # ○ 移動処理
 #--------------------------------------------------------------------------
 def move_step
 # パーティの向きによって移動座標を変える
 case SDVA::PARTY_POS
  when 0
    @shift_y = @step * SDVA::MOVE_PIXEL
  when 1
    @shift_x = -(@step * SDVA::MOVE_PIXEL)
  when 2
    @shift_x = @step * SDVA::MOVE_PIXEL
  when 3
    @shift_y = -(@step * SDVA::MOVE_PIXEL)
  end     
 end
 #--------------------------------------------------------------------------
 # ○ 移動のリセット
 #--------------------------------------------------------------------------
 def move_reset
  @moving = 0
  @pattern = 0
  @step = 0
  @shift_x = 0
  @shift_y = 0
 end
end

#==============================================================================
# ■ Game_BattleAction
#==============================================================================

class Game_BattleAction
 #--------------------------------------------------------------------------
 # ● 公開インスタンス変数
 #--------------------------------------------------------------------------
 attr_accessor :move_action            # 移動するアクションか
 #--------------------------------------------------------------------------
 # ● クリア
 #--------------------------------------------------------------------------
 alias clear_sdva clear
 def clear
  clear_sdva
  @move_action = false
 end
end

#==============================================================================
# ■ Sprite_Battler
#==============================================================================

class Sprite_Battler < RPG::Sprite
 #--------------------------------------------------------------------------
 # ● フレーム更新
 #--------------------------------------------------------------------------
 alias update_sdva update
 def update
  # バトラーがアクターに含まれるとき
  if @battler.is_a?(Game_Actor)
    # ファイル名か色相が現在のものと異なる場合
    # 行動中の場合
    if @battler.battler_name != @battler_name or
        @battler.battler_hue != @battler_hue or
        @battler.current_action.basic == 0 or
        @battler.current_action.kind != 3
      # ビットマップを取得、設定
      @character_name = @battler.character_name
      @character_hue = @battler.character_hue
      # 歩行グラフィックを描画
      self.bitmap = RPG::Cache.character(@character_name, @character_hue)
      cw = self.bitmap.width / 4
      ch = self.bitmap.height / 4
      @width = cw
      @height = ch
      if @battler.current_action.move_action == true
        # 歩かせる
        @battler.move
      else
        @battler.move_reset
      end
      # 転送元の矩形を設定
      sx = @battler.pattern * cw
      sy = SDVA::PARTY_POS * ch
      self.src_rect.set(sx, sy, cw, ch)
      self.ox = @width / 2
      self.oy = @height
      # 隠れ状態なら不透明度を 0 にする
      if @battler.hidden
        self.opacity = 0
      end
    end
  end
  update_sdva
 end
end

Script Non fini, mais je peut posté


Dernière édition par le Dim 10 Fév 2008, 21:58, édité 1 fois
Revenir en haut Aller en bas
deadcell
Trouvère Follet
Trouvère Follet
deadcell


Masculin
Nombre de messages : 625
Age : 35
Niveau Rpg Maker : Excellent Niveau
Jeux Préférés : Final Fantasy, Resident evil...
Date d'inscription : 21/03/2007

Combat vue de dos Empty
MessageSujet: Re: Combat vue de dos   Combat vue de dos EmptyDim 10 Fév 2008, 21:22

Merci pour ce script, il est assez drôle je dois dire^^. Mais, un epu "faible" pardonne l'expression, mais jouer avec des Characters comme Battlers, c'est pas non plus le top, mais je veux bien te donner 1PA
Revenir en haut Aller en bas
 
Combat vue de dos
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Script de combat CTB(combat en tour de battement) de FF X ^^
» Combat vue de dos
» Combat FinalFantesy 1
» Combat a la moghunter

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Fusion :: BANQUE DU CODE :: Antre des Scripts :: Combat-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser