AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  



Le Deal du moment :
Funko POP! Jumbo One Piece Kaido Dragon Form : ...
Voir le deal

Partagez
 

 RMVX: Spin command battle deplacement (resolu)

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Brahim474
Va-nu-pieds Lv.4
Va-nu-pieds Lv.4
Brahim474


Masculin Age : 27
Inscrit le : 20/02/2012
Messages : 50

RMVX: Spin command battle deplacement (resolu) Empty
MessageSujet: RMVX: Spin command battle deplacement (resolu)   RMVX: Spin command battle deplacement (resolu) Icon_minitimeMar 21 Fév 2012 - 11:40

bonjour, je voudrai savoir comment deplacer le spin comand battle:

du côté inferieur droit au coté superieur droit:

RMVX: Spin command battle deplacement (resolu) Mini_120221124402850246

alor voici le script (qui marche SEULEMENT avec SBS+ATB):

(si vous le voulez vous genez pas prenez le Very Happy, par contre pour spin40.jpg faut aller voir dans un autre site)


Code:
=begin ========================================================================
 * ziifee\'s Spin Command for RPG Tankentai Sideview Battle System with ATB
  <ATB Only>
   -This script is only for the Tankentai SBS with the ATB installed.
  <Image Required>
    Spin40 : Spin40.png is required in the Graphics/System folder.
=end # ========================================================================

module ZiiN7
 
  # ▼ Spin Command/Icon Index Number
  ATTACK = 1                                # Attack (Default)
  GUARD = 52                                # Guard
  SKILL = 128                              # Skill
  ITEM = 144                                # Item
  ESCAPE = 143                              # Escape
 
  # ▼ Spin Command/Direction of Rotation ( \"normal\" or \"reverse\" )
  #  Determines how Spin Command rotates according to left/right key press.
  TURN = \"normal\"
 
  # ▼ Spin Command/Switch Actor Command Button
  #  Define input button used to switch between actors with full ATB gauges.
  SWITCH_COMMAND_BUTTON = Input::X
 
  #--------------------------------------------------------------------------
  # ● 通常回転 の判定 (スピンコマンド) Ignore this.
  #--------------------------------------------------------------------------
  def self.turn_normal?
    return false if TURN == \"reverse\"
    return true
  end
end

#==============================================================================
# ■ module N02  for ATB Ver1.1
#==============================================================================
module N02
  # ATB Gauge Positions.  Overwrites ATB_PARTY_POSITION defined in ATB Config.
  ATB_PARTY_POSITION = [[100,352],[235,352],[370,352],[400,352],[500,352],[600,352]]
end


#******************************************************************************
# ★ ベース
#******************************************************************************
#==============================================================================
# ■ Window_SpinCommand
#------------------------------------------------------------------------------
#  回転用コマンド選択を行うウィンドウです。
#==============================================================================

class Window_SpinCommand < Window_Base
  #--------------------------------------------------------------------------
  # ● 公開インスタンス変数
  #--------------------------------------------------------------------------
  attr_reader  :index                    # カーソル位置
  attr_reader  :help_window              # ヘルプウィンドウ
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #    cx / cy  : 中心の X座標 / Y座標
  #    commands : コマンド配列 (内容 は [name, kind, pull, enabled?])
  #    setting  : 設定ハッシュ (\"R\"=>半径 \"S\"=>速さ \"G\"=>背景 \"L\"=>文字)
  #--------------------------------------------------------------------------
  def initialize(cx, cy, commands, setting = {})
    @radius    = setting.has_key?(\"R\") ? setting[\"R\"] : 40  # 描画半径
    @speed    = setting.has_key?(\"S\") ? setting[\"S\"] : 36  # 回転速さ
    @spin_back = setting.has_key?(\"G\") ? setting[\"G\"] : \"\"  # 背景画像
    @spin_line = setting.has_key?(\"L\") ? setting[\"L\"] : nil # 文字位置
    x, y = cx - @radius - 28, cy - @radius - 28
    width = height = @radius * 2 + 56
    super(x, y, width, height)
    self.opacity = 0
    @index = 0
    @commands = commands                                    # コマンド
    @spin_right = true
    @spin_count = 0
    update_cursor
  end
  #--------------------------------------------------------------------------
  # ▽ スピン画像を描画する (描画内容 強化用)
  #    i  : インデックス
  #    cx : 表示 中心位置 X座標
  #    cy : 表示 中心位置 Y座標
  #--------------------------------------------------------------------------
  def draw_spin_graphic(i, cx, cy)
    case command_kind(i)
    when \"icon\"
      draw_icon(command_pull(i), cx - 12, cy - 12, command_enabled?(i))
    end
  end
  #--------------------------------------------------------------------------
  # ★ リフレッシュ バグ回避用
  #--------------------------------------------------------------------------
  def refresh
    set_spin
  end
  #--------------------------------------------------------------------------
  # ★ 項目の描画 バグ回避用
  #--------------------------------------------------------------------------
  def draw_item(index, enabled = true)
    @commands[index][3] = enabled
    set_spin
  end
  #--------------------------------------------------------------------------
  # ● 現在のコマンド名を取得する
  #--------------------------------------------------------------------------
  def command_name(index = @index)
    return \"\" if index < 0
    name = @commands[index][0]
    return name != nil ? name : \"\"
  end
  #--------------------------------------------------------------------------
  # ● コマンドの種類を取得
  #--------------------------------------------------------------------------
  def command_kind(index)
    result = @commands[index][1]
    return result != nil ? result : \"\"
  end
  #--------------------------------------------------------------------------
  # ● コマンドの引数 を取得
  #--------------------------------------------------------------------------
  def command_pull(index)
    result = @commands[index][2]
    return result != nil ? result : \"\"
  end
  #--------------------------------------------------------------------------
  # ● コマンドの有効フラグを取得
  #--------------------------------------------------------------------------
  def command_enabled?(index)
    result = @commands[index][3]
    return result != nil ? result : true
  end
  #--------------------------------------------------------------------------
  # ● 名前の位置に index を設定する
  #--------------------------------------------------------------------------
  def set_index(name)
    n = -1
    for i in 0...@commands.size
      n = i if @commands[i][0] == name
    end
    @index = n if n >= 0
    update_cursor
    call_update_help
    set_spin
  end
  #--------------------------------------------------------------------------
  # ● カーソル位置の設定
  #    index : 新しいカーソル位置
  #--------------------------------------------------------------------------
  def index=(index)
    @index = index
    update_cursor
    call_update_help
    set_spin
  end
  #--------------------------------------------------------------------------
  # ● 中心のX座標を取得
  #--------------------------------------------------------------------------
  def center_x
    return contents.width / 2
  end
  #--------------------------------------------------------------------------
  # ● 中心のY座標を取得
  #--------------------------------------------------------------------------
  def center_y
    return contents.height / 2
  end
  #--------------------------------------------------------------------------
  # ● 項目数の取得
  #--------------------------------------------------------------------------
  def item_max
    return @commands.size
  end
  #--------------------------------------------------------------------------
  # ● 背景の設定 (再定義 向き)
  #--------------------------------------------------------------------------
  def set_background
    return if @spin_back == \"\"
    bitmap = Cache.system(@spin_back)
    rect = Rect.new(0, 0, bitmap.width, bitmap.height)
    self.contents.blt(12, 12, bitmap, rect)
  end
  #--------------------------------------------------------------------------
  # ● 文章の設定 (再定義 向き)
  #--------------------------------------------------------------------------
  def set_text
    return if @spin_line == nil
    y = center_y - WLH / 2 + @spin_line
    self.contents.draw_text(center_x - 48, y, 96, WLH, command_name, 1)
  end
  #--------------------------------------------------------------------------
  # ● スピンアイコンの角度の差を取得する
  #--------------------------------------------------------------------------
  def angle_size
    return (Math::PI * 2 / item_max)
  end
  #--------------------------------------------------------------------------
  # ● スピンアイコン回転時のカウント を設定する
  #--------------------------------------------------------------------------
  def set_spin_count
    @spin_count = angle_size * 360 / @speed
    set_spin(true)
  end
  #--------------------------------------------------------------------------
  # ● スピン設定 の実行
  #    spin : 回転フラグ (true の時回転中)
  #--------------------------------------------------------------------------
  def set_spin(spin = false)
    self.contents.clear
    set_background
    angle = spin ? @speed * @spin_count / 360 : 0
    angle = @spin_right ? angle : -angle
    for i in 0...item_max
      n = (i - @index) * angle_size + angle
      cx = @radius * Math.sin(n) + center_x
      cy = - @radius * Math.cos(n) + center_y
      draw_spin_graphic(i, cx, cy)
    end
    set_text
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  def update
    super
    update_cursor
    if @spin_count > 0
      @spin_count -= 1
      set_spin(@spin_count >= 1)
      return
    end
    update_command
  end
  #--------------------------------------------------------------------------
  # ● コマンドの移動可能判定
  #--------------------------------------------------------------------------
  def command_movable?
    return false if @spin_count > 0
    return false if (not visible or not active)
    return false if (index < 0 or index > item_max or item_max == 0)
    return false if (@opening or @closing)
    return true
  end
  #--------------------------------------------------------------------------
  # ● コマンドを右に移動
  #--------------------------------------------------------------------------
  def command_right
    @index = (@index + 1) % item_max
    @spin_right = true
    set_spin_count
  end
  #--------------------------------------------------------------------------
  # ● コマンドを左に移動
  #--------------------------------------------------------------------------
  def command_left
    @index = (@index - 1 + item_max) % item_max
    @spin_right = false
    set_spin_count
  end
  #--------------------------------------------------------------------------
  # ● コマンド選択の更新
  #--------------------------------------------------------------------------
  def update_command
    if command_movable?
      if Input.press?(Input::RIGHT)
        Sound.play_cursor
        ZiiN7.turn_normal? ? command_right : command_left
      end
      if Input.press?(Input::LEFT)
        Sound.play_cursor
        ZiiN7.turn_normal? ? command_left : command_right
      end
    end
    call_update_help
  end
  #--------------------------------------------------------------------------
  # ● カーソルの更新
  #--------------------------------------------------------------------------
  def update_cursor
    if @index < 0
      self.cursor_rect.empty
    else
      rect = Rect.new(0, 0, 24, 24)
      rect.x = center_x - rect.width / 2
      rect.y = center_y - rect.height / 2 - @radius
      self.cursor_rect = rect
    end
  end
  #--------------------------------------------------------------------------
  # ● ヘルプウィンドウの設定
  #    help_window : 新しいヘルプウィンドウ
  #--------------------------------------------------------------------------
  def help_window=(help_window)
    @help_window = help_window
    call_update_help
  end
  #--------------------------------------------------------------------------
  # ● ヘルプウィンドウ更新メソッドの呼び出し
  #--------------------------------------------------------------------------
  def call_update_help
    if self.active and @help_window != nil
      update_help
    end
  end
  #--------------------------------------------------------------------------
  # ● ヘルプウィンドウの更新 (内容は継承先で定義する)
  #--------------------------------------------------------------------------
  def update_help
  end
end

#******************************************************************************
# ★ 本作成
#******************************************************************************

#==============================================================================
# ■ Window_ActorCommand
#==============================================================================

class Window_ActorCommand < Window_SpinCommand
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize
    set = []
    set.push([Vocab::attack, \"icon\", ZiiN7::ATTACK, true])
    set.push([Vocab::skill,  \"icon\", ZiiN7::SKILL,  true])
    set.push([Vocab::guard,  \"icon\", ZiiN7::GUARD,  true])
    set.push([Vocab::item,  \"icon\", ZiiN7::ITEM,  true])
    super(64, 64, set, {\"R\"=>40, \"S\"=>52, \"L\"=>-12, \"G\"=>\"Spin40\"})
    self.active = false
    set_spin
  end
  #--------------------------------------------------------------------------
  # ● セットアップ
  #    actor : アクター
  #--------------------------------------------------------------------------
  def setup(actor)
    @commands[0][2] = ZiiN7::ATTACK
    @commands[1][0] = Vocab::skill
    if actor.weapons[0] != nil
      n = actor.weapons[0].icon_index
      @commands[0][2] = n if n > 0
    end
    @commands[1][0] = actor.class.skill_name if actor.class.skill_name_valid
    self.index = 0
    set_spin
  end
end



#==============================================================================
# ■ Scene_Battle
#==============================================================================
class Scene_Battle
  #--------------------------------------------------------------------------
  # ★ コマンド更新  ※再定義
  #--------------------------------------------------------------------------
  def update_actor_command_selection
    # コマンド入力できる状態でなくなればキャンセル
    return reset_command unless commanding?
    if Input.trigger?(Input::B)
      Input.update
      Sound.play_decision
      start_party_command
    elsif Input.trigger?(Input::C)
      Input.update
      case @actor_command_window.index
      when 0  # 攻撃
        Sound.play_decision
        @commander.action.set_attack
        start_target_enemy_selection
      when 1  # スキル
        Sound.play_decision
        $in_select = true
        start_skill_selection
      when 2  # 防御
        Sound.play_decision
        @commander.action.set_guard
        end_command
      when 3  # アイテム
        Sound.play_decision
        $in_select = true
        start_item_selection
      end
     
    # シフトキーでコマンドキャラ送り ************************************
    elsif Input.trigger?(ZiiN7::SWITCH_COMMAND_BUTTON)
      next_commander
    #********************************************************************
   
    end
  end
end

Merci:D


Dernière édition par Brahim474 le Ven 24 Fév 2012 - 20:42, édité 1 fois
Revenir en haut Aller en bas
Invité
Invité
avatar



RMVX: Spin command battle deplacement (resolu) Empty
MessageSujet: Re: RMVX: Spin command battle deplacement (resolu)   RMVX: Spin command battle deplacement (resolu) Icon_minitimeMar 21 Fév 2012 - 13:09

Bonjour,

Il me semble t'avoir dit que la présentation était obligatoire. Je te conseille donc de passer dans la section "Présentation", et de lire le règlement.

Je locke le sujet pour le moment.

Merci et bonne continuation !
Revenir en haut Aller en bas
Brahim474
Va-nu-pieds Lv.4
Va-nu-pieds Lv.4
Brahim474


Masculin Age : 27
Inscrit le : 20/02/2012
Messages : 50

RMVX: Spin command battle deplacement (resolu) Empty
MessageSujet: Re: RMVX: Spin command battle deplacement (resolu)   RMVX: Spin command battle deplacement (resolu) Icon_minitimeVen 24 Fév 2012 - 20:41

j'ai resolu par moi-même le probléme désolé study
Revenir en haut Aller en bas
Contenu sponsorisé




RMVX: Spin command battle deplacement (resolu) Empty
MessageSujet: Re: RMVX: Spin command battle deplacement (resolu)   RMVX: Spin command battle deplacement (resolu) Icon_minitime

Revenir en haut Aller en bas
 

RMVX: Spin command battle deplacement (resolu)

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

 Sujets similaires

-
» Déplacement de fenêtre [Résolu]
» [résolu] BOF Cross Command
» [Résolu] Probleme deplacement
» Deplacement de PNJ[ Résolu ]
» Déplacement à la souris [resolu]

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Problèmes et Solutions :: Résolu-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Forum gratuit