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

Project1

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

[已经解决] (世纪难题)有关战斗中的替换队员

[复制链接]

Lv1.梦旅人

梦石
0
星屑
109
在线时间
42 小时
注册时间
2007-7-4
帖子
116
跳转到指定楼层
1
发表于 2014-1-5 19:56:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 andyho777 于 2014-1-9 12:20 编辑

话说小弟在战斗中移除其中一位队员,然后数回合后再重新加入。
不知何解重新加入的队员会没了战斗?_?
请问大大们是甚么原因?可以解决吗?
-==Hovey The Thief==- 制作进度 地图:■■■■■■□□□□ 50% 剧情:■■■■■■■■□□ 80% 任务:■■■□□□□□□□ 30% 素材:■■■■□□□□□□ 40% 系统:■■■■□□□□□□ 40% 不懂得用PS上色……

Lv4.逐梦者 (版主)

聪仔

梦石
0
星屑
6187
在线时间
3077 小时
注册时间
2013-12-26
帖子
3145
2
发表于 2014-1-7 10:06:43 | 只看该作者
我这里按照楼主的描述没有测试出任何问题,可能只有在楼主的工程中才会出现这个问题。
聪聪全国第三帅...
他们都叫我【人赢聪】
我的RM能力雷达图:

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
109
在线时间
42 小时
注册时间
2007-7-4
帖子
116
3
 楼主| 发表于 2014-1-7 15:26:08 | 只看该作者
谢谢正太君的提~ 刚刚我再测试一遍,
发现原来该问题是在于当某队员离开了战斗位置,然后再回到刚离开的位置时,战斗图就会不显示…
例如:帕吉尔离开了队伍(战斗位置2), 然后回到队伍时又是在战斗位置2。

-==Hovey The Thief==- 制作进度 地图:■■■■■■□□□□ 50% 剧情:■■■■■■■■□□ 80% 任务:■■■□□□□□□□ 30% 素材:■■■■□□□□□□ 40% 系统:■■■■□□□□□□ 40% 不懂得用PS上色……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
109
在线时间
42 小时
注册时间
2007-7-4
帖子
116
4
 楼主| 发表于 2014-1-9 12:14:33 | 只看该作者
本帖最后由 andyho777 于 2014-1-9 12:19 编辑

刚发现多年前百度也有类似的问题, 但未能解决...

-==Hovey The Thief==- 制作进度 地图:■■■■■■□□□□ 50% 剧情:■■■■■■■■□□ 80% 任务:■■■□□□□□□□ 30% 素材:■■■■□□□□□□ 40% 系统:■■■■□□□□□□ 40% 不懂得用PS上色……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
帖子
1316
5
发表于 2014-1-9 22:08:45 | 只看该作者
记得手动认可哦 喵

找到Spriteset_Battle把初始化中生成角色活动块那一部分脚本,删掉
也就是删掉这个
  1. # 生成敌人活动块
  2. @actor_sprites = []
  3.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  4.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  5.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  6.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
复制代码
把update中
  1. # 刷新角色的活动块 (对应角色的替换)
  2.     @actor_sprites[0].battler = $game_party.actors[0]
  3.     @actor_sprites[1].battler = $game_party.actors[1]
  4.     @actor_sprites[2].battler = $game_party.actors[2]
  5.     @actor_sprites[3].battler = $game_party.actors[3]
复制代码
这段删掉

改为
  1. # 生成敌人(角色,翻译错误!)活动块
  2.     if $game_party.actors.size != @old_party_size
  3.     @actor_sprites = []
  4.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  5.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  6.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  7.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  8.     # 刷新角色的活动块 (对应角色的替换)
  9.     @actor_sprites[0].battler = $game_party.actors[0]
  10.     @actor_sprites[1].battler = $game_party.actors[1]
  11.     @actor_sprites[2].battler = $game_party.actors[2]
  12.     @actor_sprites[3].battler = $game_party.actors[3]
  13.     @old_party_size = $game_party.actors.size
  14.     end
复制代码
来个整体的
  1. #==============================================================================
  2. # ■ Spriteset_Battle
  3. #------------------------------------------------------------------------------
  4. #  处理战斗画面的活动块的类。本类在 Scene_Battle 类
  5. # 的内部使用。
  6. #==============================================================================

  7. class Spriteset_Battle
  8.   #--------------------------------------------------------------------------
  9.   # ● 定义实例变量
  10.   #--------------------------------------------------------------------------
  11.   attr_reader   :viewport1                # 敌人方的显示端口
  12.   attr_reader   :viewport2                # 角色方的显示端口
  13.   #--------------------------------------------------------------------------
  14.   # ● 初始化变量
  15.   #--------------------------------------------------------------------------
  16.   def initialize
  17.     # 生成显示端口
  18.     @viewport1 = Viewport.new(0, 0, 640, 320)
  19.     @viewport2 = Viewport.new(0, 0, 640, 480)
  20.     @viewport3 = Viewport.new(0, 0, 640, 480)
  21.     @viewport4 = Viewport.new(0, 0, 640, 480)
  22.     @viewport2.z = 101
  23.     @viewport3.z = 200
  24.     @viewport4.z = 5000
  25.     # 生成战斗背景活动块
  26.     @battleback_sprite = Sprite.new(@viewport1)
  27.     # 生成敌人活动块
  28.     @enemy_sprites = []
  29.     for enemy in $game_troop.enemies.reverse
  30.       @enemy_sprites.push(Sprite_Battler.new(@viewport1, enemy))
  31.     end
  32.     # 生成天候
  33.     @weather = RPG::Weather.new(@viewport1)
  34.     # 生成图片活动块
  35.     @picture_sprites = []
  36.     for i in 51..100
  37.       @picture_sprites.push(Sprite_Picture.new(@viewport3,
  38.         $game_screen.pictures[i]))
  39.     end
  40.     # 生成计时器块
  41.     @timer_sprite = Sprite_Timer.new
  42.     # 刷新画面
  43.     update
  44.   end
  45.   #--------------------------------------------------------------------------
  46.   # ● 释放
  47.   #--------------------------------------------------------------------------
  48.   def dispose
  49.     # 如果战斗背景位图存在的情况下就释放
  50.     if @battleback_sprite.bitmap != nil
  51.       @battleback_sprite.bitmap.dispose
  52.     end
  53.     # 释放战斗背景活动块
  54.     @battleback_sprite.dispose
  55.     # 释放敌人活动块、角色活动块
  56.     for sprite in @enemy_sprites + @actor_sprites
  57.       sprite.dispose
  58.     end
  59.     # 释放天候
  60.     @weather.dispose
  61.     # 释放图片活动块
  62.     for sprite in @picture_sprites
  63.       sprite.dispose
  64.     end
  65.     # 释放计时器活动块
  66.     @timer_sprite.dispose
  67.     # 释放显示端口
  68.     @viewport1.dispose
  69.     @viewport2.dispose
  70.     @viewport3.dispose
  71.     @viewport4.dispose
  72.   end
  73.   #--------------------------------------------------------------------------
  74.   # ● 显示效果中判定
  75.   #--------------------------------------------------------------------------
  76.   def effect?
  77.     # 如果是在显示效果中的话就返回 true
  78.     for sprite in @enemy_sprites + @actor_sprites
  79.       return true if sprite.effect?
  80.     end
  81.     return false
  82.   end
  83.   #--------------------------------------------------------------------------
  84.   # ● 刷新画面
  85.   #--------------------------------------------------------------------------
  86.   def update
  87.     # 生成敌人(角色,翻译错误!)活动块
  88.     if $game_party.actors.size != @old_party_size
  89.     @actor_sprites = []
  90.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  91.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  92.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  93.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  94.     # 刷新角色的活动块 (对应角色的替换)
  95.     @actor_sprites[0].battler = $game_party.actors[0]
  96.     @actor_sprites[1].battler = $game_party.actors[1]
  97.     @actor_sprites[2].battler = $game_party.actors[2]
  98.     @actor_sprites[3].battler = $game_party.actors[3]
  99.     @old_party_size = $game_party.actors.size
  100.     end
  101.     # 战斗背景的文件名与现在情况有差异的情况下
  102.     if @battleback_name != $game_temp.battleback_name
  103.       @battleback_name = $game_temp.battleback_name
  104.       if @battleback_sprite.bitmap != nil
  105.         @battleback_sprite.bitmap.dispose
  106.       end
  107.       @battleback_sprite.bitmap = RPG::Cache.battleback(@battleback_name)
  108.       @battleback_sprite.src_rect.set(0, 0, 640, 320)
  109.     end
  110.     # 刷新战斗者的活动块
  111.     for sprite in @enemy_sprites + @actor_sprites
  112.       sprite.update
  113.     end
  114.     # 刷新天气图形
  115.     @weather.type = $game_screen.weather_type
  116.     @weather.max = $game_screen.weather_max
  117.     @weather.update
  118.     # 刷新图片活动块
  119.     for sprite in @picture_sprites
  120.       sprite.update
  121.     end
  122.     # 刷新计时器活动块
  123.     @timer_sprite.update
  124.     # 设置画面的色调与震动位置
  125.     @viewport1.tone = $game_screen.tone
  126.     @viewport1.ox = $game_screen.shake
  127.     # 设置画面的闪烁色
  128.     @viewport4.color = $game_screen.flash_color
  129.     # 刷新显示端口
  130.     @viewport1.update
  131.     @viewport2.update
  132.     @viewport4.update
  133.   end
  134. end
复制代码

评分

参与人数 1星屑 +120 收起 理由
myownroc + 120 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
109
在线时间
42 小时
注册时间
2007-7-4
帖子
116
6
 楼主| 发表于 2014-1-10 12:35:26 | 只看该作者
恋′挂机 发表于 2014-1-9 22:08
记得手动认可哦 喵

找到Spriteset_Battle把初始化中生成角色活动块那一部分脚本,删掉


感恩啊 @@ 刚刚试一下大大的脚本后,
出现了一个新问题,今次是角色脱离后战斗图没有马上消失,
要过一段时间才自动消失。不知何解?@@

(話說,如何認可?@@)

点评

这样啊…大大能上载你的工程给我看看吗? 真不好意思 @@”  发表于 2014-1-13 14:21
我这里好像没有这个问题  发表于 2014-1-10 13:26
-==Hovey The Thief==- 制作进度 地图:■■■■■■□□□□ 50% 剧情:■■■■■■■■□□ 80% 任务:■■■□□□□□□□ 30% 素材:■■■■□□□□□□ 40% 系统:■■■■□□□□□□ 40% 不懂得用PS上色……
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-26 15:14

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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