Project1

标题: 如何战斗画面在某人角色行动时显示其立绘 [打印本页]

作者: 牛肉面    时间: 2014-8-5 12:30
标题: 如何战斗画面在某人角色行动时显示其立绘
本帖最后由 牛肉面 于 2014-8-5 12:52 编辑

这是我使用的CP制战斗系统脚本的片段……
我觉得应该是修改这个部分……但我不知道怎么显示目前行动者的图像
或许是
什么什么
@sprite = Sprite.new
@sprite.bitmap = RPG::Cache.picture(@active_battler.name + "_b")

后面在哪里[email protected] ??
我加在了
# 決定 SE を演奏
          $game_system.se_play($data_system.decision_se)
后面没有反应……
{:2_276:} 求助……

还有就是显示图片想先显示个透明度为0的,然后移动图像渐显到某一位置……

@active
RUBY 代码复制
  1. #----------------------------------------------------------------------
  2.   # ● アクターコマンドウィンドウのセットアップ
  3.   #----------------------------------------------------------------------
  4.   alias xrxs_bp1_phase3_setup_command_window phase3_setup_command_window
  5.   def phase3_setup_command_window
  6.     # CPスレッドを一時停止する
  7.     @cp_thread.stop = true
  8.     # ウィンドウのCP更新
  9.     @status_window.refresh_cp
  10.     # @active_battlerの防御を解除
  11.     @active_battler.now_guarding = false
  12.     # 効果音の再生
  13.     Audio.se_play(DATA_SYSTEM_COMMAND_UP_SE) if DATA_SYSTEM_COMMAND_UP_SE != ""
  14.     # 呼び戻す
  15.     xrxs_bp1_phase3_setup_command_window
  16.   end
  17.   #----------------------------------------------------------------------
  18.   # ● フレーム更新 (アクターコマンドフェーズ : 基本コマンド)
  19.   #----------------------------------------------------------------------
  20.   alias xrxs_bsp1_update_phase3_basic_command update_phase3_basic_command
  21.   def update_phase3_basic_command
  22.     # C ボタンが押された場合
  23.     if Input.trigger?(Input::C)
  24.       # アクターコマンドウィンドウのカーソル位置で分岐
  25.       case @actor_command_window.index
  26.       when @cp_escape_actor_command_index # 逃げる
  27.         if $game_temp.battle_can_escape
  28.           # 決定 SE を演奏
  29.           $game_system.se_play($data_system.decision_se)
  30.           # アクションを設定
  31.           @active_battler.current_action.kind = 0
  32.           @active_battler.current_action.basic = 4
  33.           # 次のアクターのコマンド入力へ
  34.           phase3_next_actor
  35.         else
  36.           # ブザー SE を演奏
  37.           $game_system.se_play($data_system.buzzer_se)
  38.         end
  39.         return
  40.       end
  41.     end
  42.     xrxs_bsp1_update_phase3_basic_command
  43.   end

作者: 哆啦溯    时间: 2014-8-5 17:13
简单点用动画就行了嘛用使用方的动画解决~而且你不就是这样做的吗= =
作者: 无忧谷主幻    时间: 2014-8-5 17:44
战斗动画留空,用公共事件处理
可以下载灵儿续传来研究
作者: 牛肉面    时间: 2014-8-5 19:48
无忧谷主幻 发表于 2014-8-5 17:44
战斗动画留空,用公共事件处理
可以下载灵儿续传来研究


状态动画是一直显示的。。我的目的是谁该出手了就显示谁的立绘代表选中了这个人
作者: 573932914    时间: 2014-8-5 22:05
应该在战斗选项出现出判断一下再显示图片,选择完消除图片就可以了
作者: 牛肉面    时间: 2014-8-7 16:41
自己顶一下……
作者: 恐惧剑刃    时间: 2014-8-7 18:33
本帖最后由 恐惧剑刃 于 2014-8-7 18:38 编辑

搜索所有 @actor_command_window.active = true
然后后边加一句
  1. @actor_command_window.draw_face(@active_battler)
复制代码
  1. #(Window_Command)初始化中:
  2. if $game_temp.in_battle
  3.   @actor_face = Sprite.new
  4.    @actor_face.x = 0 #X坐标
  5.    @actor_face.y = 0 #Y坐标
  6.    @actor_face.bitmap = Bitmap.new($game_party.actors[0].name + "_b")
  7. end
复制代码
  1. #新方法
  2. def dispose
  3.    if !@actor_face.nil?
  4.      @actor_face.bitmap.dispose
  5.      @actor_face.dispose
  6.   end
  7.   super
  8. end
复制代码
  1. #描绘脸谱
  2. def draw_face(actor)
  3.    return if actor.id == @actor_old
  4.    @actor_old = actor.id
  5.    @actor_face.bitmap.clear
  6.    @actor_face.bitmap = Bitmap.new(actor.name + "_b")
  7. end
复制代码
显示在哪里都可以方法一样
作者: 牛肉面    时间: 2014-8-7 19:28
恐惧剑刃 发表于 2014-8-7 18:33
搜索所有 @actor_command_window.active = true
然后后边加一句显示在哪里都可以方法一样 ...

我用了图标战斗选单,后面三个脚本是不是加在图标选单的初始化里?我加在里面它一直显示着……




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1