设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3784|回复: 10
打印 上一主题 下一主题

[已经解决] 如何更改战斗图?

[复制链接]

Lv2.观梦者

梦石
0
星屑
380
在线时间
602 小时
注册时间
2014-5-8
帖子
699
跳转到指定楼层
1
发表于 2014-8-5 18:01:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 布罗利 于 2014-8-5 18:25 编辑

我的战斗画面需要两个战斗图

这应该在哪里改?
@芯☆淡茹水
别点评行吗?我没法回复你........

点评

你要怎样改?改成大概像 MM 那样的战斗方式么?还有乘降问题也很麻烦,如果只像你这样改得话以后还有很多问题。  发表于 2014-8-5 18:17

Lv2.观梦者

梦石
0
星屑
590
在线时间
392 小时
注册时间
2012-1-20
帖子
223

开拓者

2
发表于 2014-8-5 18:12:09 | 只看该作者
本帖最后由 哆啦溯 于 2014-8-5 18:15 编辑

战斗图改成向左的行走图,然后再使用显示头像的脚本
用了下面的脚本后再在 Graphics/faces 文件夹中放入对应角色名称的头像
脚本如下:
RUBY 代码复制
  1. class Scene_Battle
  2.   #--------------------------------------------------------------------------
  3.   # ● 主处理
  4.   #--------------------------------------------------------------------------
  5.   def main
  6.     # 初始化战斗用的各种暂时数据
  7.     $game_temp.in_battle = true
  8.     $game_temp.battle_turn = 0
  9.     $game_temp.battle_event_flags.clear
  10.     $game_temp.battle_abort = false
  11.     $game_temp.battle_main_phase = false
  12.     $game_temp.battleback_name = $game_map.battleback_name
  13.     $game_temp.forcing_battler = nil
  14.     # 初始化战斗用事件解释器
  15.     $game_system.battle_interpreter.setup(nil, 0)
  16.     # 准备队伍
  17.     @troop_id = $game_temp.battle_troop_id
  18.     $game_troop.setup(@troop_id)
  19.     # 生成角色命令窗口
  20.     s1 = $data_system.words.attack
  21.     s2 = $data_system.words.skill
  22.     s3 = $data_system.words.guard
  23.     s4 = $data_system.words.item
  24.     @actor_command_window = Window_Command.new(160, [s1, s2, s3, s4])
  25.     @actor_command_window.y = 160
  26.     @actor_command_window.back_opacity = 160
  27.     @actor_command_window.active = false
  28.     @actor_command_window.visible = false
  29.     # 生成其它窗口
  30.     @party_command_window = Window_PartyCommand.new
  31.     @help_window = Window_Help.new
  32.     @help_window.back_opacity = 160
  33.     @help_window.visible = false
  34.     @status_window = Window_BattleStatus.new
  35.     @message_window = Window_Message.new
  36.     # ===============================================================
  37.     # 加头像
  38.     # ===============================================================
  39.  
  40.     @actor_face = []
  41.     for i in 0...$game_party.actors.size
  42.       actor = $game_party.actors[i]
  43.       @actor_face[i] = Sprite.new
  44.       @actor_face[i].bitmap = Bitmap.new\
  45.       ("Graphics/faces/"+actor.name.to_s+".png")
  46.       @actor_face[i].x = i * 160 + 80 # 头像X坐标
  47.       @actor_face[i].y = 372          # 头像Y坐标
  48.       @actor_face[i].z = 998         # 头像Z 999在文字下 没特殊需要就别动了
  49.     end
  50.  
  51.  
  52.  
  53.     # 生成活动块
  54.     @spriteset = Spriteset_Battle.new
  55.     # 初始化等待计数
  56.     @wait_count = 0
  57.     # 执行过渡
  58.     if $data_system.battle_transition == ""
  59.       Graphics.transition(20)
  60.     else
  61.       Graphics.transition(40, "Graphics/Transitions/" +
  62.         $data_system.battle_transition)
  63.     end
  64.     # 开始自由战斗回合
  65.     start_phase1
  66.     # 主循环
  67.     loop do
  68.       # 刷新游戏画面
  69.       Graphics.update
  70.       # 刷新输入信息
  71.       Input.update
  72.       # 刷新画面
  73.       update
  74.       # 如果画面切换的话就中断循环
  75.       if $scene != self
  76.         break
  77.       end
  78.     end
  79.     # 刷新地图
  80.     $game_map.refresh
  81.     # 准备过渡
  82.     Graphics.freeze
  83.     # 释放窗口
  84.     @actor_command_window.dispose
  85.     @party_command_window.dispose
  86.     @help_window.dispose
  87.     @status_window.dispose
  88.     @message_window.dispose
  89.     #释放精灵数组
  90.     for i in @actor_face
  91.       i.dispose
  92.     end
  93.     if @skill_window != nil
  94.       @skill_window.dispose
  95.     end
  96.     if @item_window != nil
  97.       @item_window.dispose
  98.     end
  99.     if @result_window != nil
  100.       @result_window.dispose
  101.     end
  102.     # 释放活动块
  103.     @spriteset.dispose
  104.     # 标题画面切换中的情况
  105.     if $scene.is_a?(Scene_Title)
  106.       # 淡入淡出画面
  107.       Graphics.transition
  108.       Graphics.freeze
  109.     end
  110.     # 战斗测试或者游戏结束以外的画面切换中的情况
  111.     if $BTEST and not $scene.is_a?(Scene_Gameover)
  112.       $scene = nil
  113.     end
  114.   end
  115. end

点评

应该会出错。不过你这样做的话就很难给角色一个确定的头像了吧……可以尝试设置某号角色有固定的头像?反正我不会啦= =  发表于 2014-8-5 18:33
我用了能自定义角色名称的脚本,比如玩家给角色起名字:卡卡,那显示头像的脚本不会出错?  发表于 2014-8-5 18:28
哦,这个脚本只解决了显示头像的问题  发表于 2014-8-5 18:23
我觉得他是想要动态的,面朝左侧动态行走图。然后轮到谁行动的时候,谁的行走图暂停。你这个是动态的吗?我没细看  发表于 2014-8-5 18:19
支持一下下我的这个游戏吧~~
大雄与空间军团
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
380
在线时间
602 小时
注册时间
2014-5-8
帖子
699
3
 楼主| 发表于 2014-8-5 18:22:36 | 只看该作者
哆啦溯 发表于 2014-8-5 18:12
战斗图改成向左的行走图,然后再使用显示头像的脚本
用了下面的脚本后再在 Graphics/faces 文件夹中放入对 ...

虽然能用,但是用了玩家自定义角色名称脚本怎么办,无法确定文件名称...

点评

这个啊,倒是没法与自定义角色名称兼容  发表于 2014-8-5 18:31
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
590
在线时间
392 小时
注册时间
2012-1-20
帖子
223

开拓者

4
发表于 2014-8-5 18:26:05 | 只看该作者
至于动态战斗图,LZ可以试试菜鸟横版或者全动画战斗系统,简单点也可以用状态动画来解决(这个有点麻烦就是了)
支持一下下我的这个游戏吧~~
大雄与空间军团
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
380
在线时间
602 小时
注册时间
2014-5-8
帖子
699
5
 楼主| 发表于 2014-8-5 18:30:17 | 只看该作者
本帖最后由 布罗利 于 2014-8-5 19:10 编辑

能QQ吗?
别点评,我没法回复你
@芯☆淡茹水
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33444
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

6
发表于 2014-8-5 19:23:58 | 只看该作者
别@了,把你现在的工程上传给我吧。有空我帮你改改战斗系统。另外再仔细说明一下,外加一些其他要求

点评

嗯,我等,乘降系统虽然可以用事件,但是编织起来很麻烦,顺便把乘降用脚本完善呗?  发表于 2014-8-6 07:46
货已收到,大概 N 天之后。  发表于 2014-8-5 20:53
http://pan.baidu.com/s/1c0rg3Ig  发表于 2014-8-5 19:41
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33444
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

7
发表于 2014-8-10 09:40:20 | 只看该作者
下载该文件,覆盖 工程/Data 文件夹里的原文件。

Scripts.rxdata (151.15 KB, 下载次数: 31)

点评

脚本就在楼上的楼上  发表于 2014-8-10 16:28
↓囧~,你就不知道全部改成角色ID啊!要么把头像脚本贴出来,帮你改。  发表于 2014-8-10 15:26
for i in 0...$game_party.actors.size actor = $game_party.actors[i] @actor_face[i] = Sprite.new @actor_face[i].bitmap = Bitmap.new\ ("Graphics/faces/"+actor.name.to_s+".png")   发表于 2014-8-10 15:10
不行,那个脚本追踪的是文件名称,除非玩家起完名后能自动改变文件名称  发表于 2014-8-10 15:10
哦哦 我去试试  发表于 2014-8-10 15:03
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
380
在线时间
602 小时
注册时间
2014-5-8
帖子
699
8
 楼主| 发表于 2014-8-10 10:57:53 | 只看该作者
本帖最后由 布罗利 于 2014-8-10 11:05 编辑
芯☆淡茹水 发表于 2014-8-10 09:40
下载该文件,覆盖 工程/Data 文件夹里的原文件。


太谢谢了,不过又发现个问题
这里的头像应该怎么办?
设置战斗图就会这样........

不设置战斗图就会这样

应该在这里改,但是不知道怎么改

点评

搜索 头像描绘 ,记得很很多专门的头像显示。自己动动手。  发表于 2014-8-10 12:31
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33444
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

9
发表于 2014-8-10 16:44:50 | 只看该作者
头像图片命名:对应角色的ID
  1. class Scene_Battle
  2.   #--------------------------------------------------------------------------
  3.   # ● 主处理
  4.   #--------------------------------------------------------------------------
  5.   def main
  6.     # 初始化战斗用的各种暂时数据
  7.     $game_temp.in_battle = true
  8.     $game_temp.battle_turn = 0
  9.     $game_temp.battle_event_flags.clear
  10.     $game_temp.battle_abort = false
  11.     $game_temp.battle_main_phase = false
  12.     $game_temp.battleback_name = $game_map.battleback_name
  13.     $game_temp.forcing_battler = nil
  14.     # 初始化战斗用事件解释器
  15.     $game_system.battle_interpreter.setup(nil, 0)
  16.     # 准备队伍
  17.     @troop_id = $game_temp.battle_troop_id
  18.     $game_troop.setup(@troop_id)
  19.     # 生成角色命令窗口
  20.     s1 = $data_system.words.attack
  21.     s2 = $data_system.words.skill
  22.     s3 = $data_system.words.guard
  23.     s4 = $data_system.words.item
  24.     @actor_command_window = Window_Command.new(160, [s1, s2, s3, s4])
  25.     @actor_command_window.y = 160
  26.     @actor_command_window.back_opacity = 160
  27.     @actor_command_window.active = false
  28.     @actor_command_window.visible = false
  29.     # 生成其它窗口
  30.     @party_command_window = Window_PartyCommand.new
  31.     @help_window = Window_Help.new
  32.     @help_window.back_opacity = 160
  33.     @help_window.visible = false
  34.     @status_window = Window_BattleStatus.new
  35.     @message_window = Window_Message.new
  36.     # ===============================================================
  37.     # 加头像
  38.     # ===============================================================
  39.    
  40.     @actor_face = []
  41.     for i in 0...$game_party.actors.size
  42.       actor = $game_party.actors[i]
  43.       @actor_face[i] = Sprite.new
  44.       @actor_face[i].bitmap = Bitmap.new\
  45.       ("Graphics/faces/"+actor.id.to_s+".png")
  46.       @actor_face[i].x = i * 160 + 80 # 头像X坐标
  47.       @actor_face[i].y = 372          # 头像Y坐标
  48.       @actor_face[i].z = 998         # 头像Z 999在文字下 没特殊需要就别动了
  49.     end
  50.    
  51.    
  52.    
  53.     # 生成活动块
  54.     @spriteset = Spriteset_Battle.new
  55.     # 初始化等待计数
  56.     @wait_count = 0
  57.     # 执行过渡
  58.     if $data_system.battle_transition == ""
  59.       Graphics.transition(20)
  60.     else
  61.       Graphics.transition(40, "Graphics/Transitions/" +
  62.         $data_system.battle_transition)
  63.     end
  64.     # 开始自由战斗回合
  65.     start_phase1
  66.     # 主循环
  67.     loop do
  68.       # 刷新游戏画面
  69.       Graphics.update
  70.       # 刷新输入信息
  71.       Input.update
  72.       # 刷新画面
  73.       update
  74.       # 如果画面切换的话就中断循环
  75.       if $scene != self
  76.         break
  77.       end
  78.     end
  79.     # 刷新地图
  80.     $game_map.refresh
  81.     # 准备过渡
  82.     Graphics.freeze
  83.     # 释放窗口
  84.     @actor_command_window.dispose
  85.     @party_command_window.dispose
  86.     @help_window.dispose
  87.     @status_window.dispose
  88.     @message_window.dispose
  89.     #释放精灵数组
  90.     for i in @actor_face
  91.       i.dispose
  92.     end
  93.     if @skill_window != nil
  94.       @skill_window.dispose
  95.     end
  96.     if @item_window != nil
  97.       @item_window.dispose
  98.     end
  99.     if @result_window != nil
  100.       @result_window.dispose
  101.     end
  102.     # 释放活动块
  103.     @spriteset.dispose
  104.     # 标题画面切换中的情况
  105.     if $scene.is_a?(Scene_Title)
  106.       # 淡入淡出画面
  107.       Graphics.transition
  108.       Graphics.freeze
  109.     end
  110.     # 战斗测试或者游戏结束以外的画面切换中的情况
  111.     if $BTEST and not $scene.is_a?(Scene_Gameover)
  112.       $scene = nil
  113.     end
  114.   end
  115. end
复制代码
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
380
在线时间
602 小时
注册时间
2014-5-8
帖子
699
10
 楼主| 发表于 2014-8-10 17:42:23 | 只看该作者
芯☆淡茹水 发表于 2014-8-10 16:44
头像图片命名:对应角色的ID

再次谢谢,不过又出了个问题......

难道是脚本冲突?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-19 06:10

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表