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

Project1

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

[已经过期] 求助。。战斗时无法角色活块

[复制链接]

Lv2.观梦者

梦石
0
星屑
501
在线时间
301 小时
注册时间
2010-7-3
帖子
133
跳转到指定楼层
1
发表于 2013-8-30 20:14:22 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 a111a 于 2013-8-31 12:18 编辑

这个脚本能显示在战斗时候显示四个角色名字的脚本。。但是我把人数改成了十个。。。

这个脚本只能显示四个角色的活块。。能够把这个脚本能够显示角色活块的数量改成十个吗?{注:第四个角色后面的人物战斗图都无法显示出来了~~}

因为无法显示角色活块。。战斗时候角色的战斗图就没办法显示出来


实在听不懂的看图解释


RUBY 代码复制下载
  1. #--------------------------------------------------------------------------
  2.   # ● 初始化变量
  3.   #--------------------------------------------------------------------------
  4.   def initialize
  5.     # 生成显示端口
  6.     @viewport1 = Viewport.new(0, 0, 640, 480)
  7.     @viewport2 = Viewport.new(0, 0, 640, 480)
  8.     @viewport3 = Viewport.new(0, 0, 640, 480)
  9.     @viewport4 = Viewport.new(0, 0, 640, 480)
  10.     @viewport2.z = 101
  11.     @viewport3.z = 200
  12.     @viewport4.z = 5000
  13.     # 生成战斗背景活动块
  14.     @battleback_sprite = Sprite.new(@viewport1)
  15.     # 生成敌人活动块
  16.     @enemy_sprites = []
  17.     for enemy in $game_troop.enemies.reverse
  18.       @enemy_sprites.push(Sprite_Battler.new(@viewport1, enemy))
  19.     end
  20.     #bearrpg 原来是获取敌人名字,改成获取角色名
  21.     @actor_names = []
  22.     for actor in $game_party.actors#循环角色队伍
  23.       #默认显示角色信息的视窗是高于战斗背景的活动块的视窗,
  24.       #所以不管你怎么改Z值,对无法将这里的名字显示在角色状态窗口之上,
  25.       #只能修改视窗决口
  26.       @actor_names.push(Sprite.new(@viewport3))#默认是1
  27.       @actor_names[-1].bitmap = Bitmap.new(128,32)
  28.       @actor_names[-1].bitmap.font.color = Color.new(255,255,255,200)#这里是描绘颜色
  29.       @actor_names[-1].bitmap.draw_text(0,0,128,20,actor.name)
  30.       @actor_names[-1].x = actor.screen_x - 20#这里是定位名字的X坐标
  31.       @actor_names[-1].y = actor.screen_y - 115#这里是定位名字的Y坐标
  32.       @actor_names[-1].z = 999
  33.     end
  34.     #bearrpg
  35.    # @enemy_names = []
  36.    # for enemy in $game_troop.enemies
  37.    #   @enemy_names.push(Sprite.new(@viewport1))
  38.    #   @enemy_names[-1].bitmap = Bitmap.new(128,32)
  39.    #   @enemy_names[-1].bitmap.font.color = Color.new(125,0,125,255)
  40.    #   @enemy_names[-1].bitmap.draw_text(0,0,128,32,enemy.name)
  41.    #   @enemy_names[-1].x = enemy.screen_x - 20
  42.    #   @enemy_names[-1].y = enemy.screen_y - 30
  43.    #   @enemy_names[-1].z = 999
  44.    # end
  45.     # 生成敌人活动块
  46.     @actor_sprites = []
  47.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  48.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  49.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  50.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  51.     # 生成天候
  52.     @weather = RPG::Weather.new(@viewport1)
  53.     # 生成图片活动块
  54.     @picture_sprites = []
  55.     for i in 51..100
  56.       @picture_sprites.push(Sprite_Picture.new(@viewport3,
  57.         $game_screen.pictures[i]))
  58.     end
  59.     # 生成计时器块
  60.     @timer_sprite = Sprite_Timer.new
  61.     # 刷新画面
  62.     update
  63.   end
  64.   def hide_name(i)
  65.       #bearrpg 因为数组名成了@actor_names所以这里也要进行修改
  66.     @actor_names[i].opacity = 0 if i != nil
  67.   end
  68.   def appear_name(i)  #貌似翻了应该是name appear
  69.           #bearrpg 因为数组名成了@actor_names所以这里也要进行修改
  70.     @actor_names[i].opacity = 255 if i != nil
  71.   end
  72. end
  73.  
  74. class Game_Enemy
  75.   attr_reader  :member_index
  76. end
  77. class Scene_Battle
  78.   alias u update_phase4_step3
  79.   def update_phase4_step3
  80.     #bearrpg 下面所以对敌人进行的判断都改成角色就可以了。
  81.     if @active_battler.is_a?(Game_Actor)
  82.      #bearrpg member_index是敌人的序列,
  83.      #角色的系列是index,所以下面所有的member_index也要进行相应的修改
  84.       @spriteset.hide_name(@active_battler.index)
  85.     end
  86.     u
  87.   end
  88.   alias u4 update_phase4_step4
  89.   def update_phase4_step4
  90.     for i in @target_battlers
  91.       if i.is_a?(Game_Actor)
  92.         @spriteset.hide_name(i.index)
  93.       end
  94.     end
  95.     u4
  96.   end
  97.   alias up update
  98.   def update
  99.     if @wait_count == 1
  100.       @spriteset.appear_name(@active_battler.index) if @active_battler.is_a?(Game_Actor)
  101.       for i in @target_battlers
  102.         @spriteset.appear_name(i.index) if i.is_a?(Game_Actor)
  103.       end
  104.     end
  105.     up
  106.   end

Lv2.观梦者

梦石
0
星屑
501
在线时间
301 小时
注册时间
2010-7-3
帖子
133
2
 楼主| 发表于 2013-8-31 12:17:08 | 只看该作者
求解!!!!!!
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
501
在线时间
301 小时
注册时间
2010-7-3
帖子
133
3
 楼主| 发表于 2013-9-1 00:15:39 | 只看该作者
人呢??
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
501
在线时间
301 小时
注册时间
2010-7-3
帖子
133
4
 楼主| 发表于 2013-9-5 02:41:39 | 只看该作者

人呢??

评分

参与人数 1星屑 -20 收起 理由
︶ㄣ牛排ぶ -20 别连帖

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-29 23:37

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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