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

6RPG Maker XP Re: Combat en vue de dos Aujourd'hui à 7:43

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