Vous n'êtes pas connecté. Connectez-vous ou enregistrez-vous

Combat en vue de dos

Voir le sujet précédent Voir le sujet suivant Aller en bas  Message [Page 1 sur 1]

1RPG Maker XP Combat en vue de dos le Mar 21 Oct - 17:44

Invité


Invité
Auteur : パラ犬 (c'est ecrit en Jap ou Chin)



C'est comme dit le titre :
C'est un combat a vue de dos, dans lequel on utilise les charas comme battlers (pour les Héros !)
Rien de spécial, le combat reste comme le normal !
[img][/img]

voici le script:


Voici le script :
Code:
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

2RPG Maker XP Re: Combat en vue de dos le Mar 21 Oct - 17:59

Zack Fair


Membre Actif
Membre Actif
Merci pour ton script terry , mais la prochaine fois ne me laisse pas editer ton poste OK ?

Voir le profil de l'utilisateur http://www.google.com

3RPG Maker XP Re: Combat en vue de dos le Mar 21 Oct - 18:00

Grégory


Membre Royal
Membre Royal
J'ai remis le script entre les balise [code.]|/code.]

Fais attention ;), c'est un bon script, mais moi je vois pas le screen alors bon x), au fait qui a retirer mon edit à la fin ? ^^

Voir le profil de l'utilisateur http://zgk-software.forumactif.info/forum.htm

4RPG Maker XP Re: Combat en vue de dos le Mar 21 Oct - 18:05

Zack Fair


Membre Actif
Membre Actif
Bon bah , aprés tout ce combat n'utilise pas de gros ressources , car il utilise les charas de base.

Voir le profil de l'utilisateur http://www.google.com

5RPG Maker XP Re: Combat en vue de dos le Mar 21 Oct - 18:05

Venox


Fondateur
Fondateur
ce script n'est pas dans la bonne section, je déplace.

Voir le profil de l'utilisateur

Contenu sponsorisé


Voir le sujet précédent Voir le sujet suivant Revenir en haut  Message [Page 1 sur 1]

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum