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

Project1

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

[已经过期] 如何给战斗中人物加上名字?

[复制链接]

Lv2.观梦者

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

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

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

x
本帖最后由 a111a 于 2013-8-13 00:07 编辑

下面这个是战斗时候显示怪物的脚本


由于这个脚本是显示怪物的我想改成显示角色的呢
怎么把他改成战斗显示角色名字的呢??
我知道原始脚本在战斗时候会显示名字
但是我想要把这个脚本改成角色的效果
还有使用了以后怎么改给吧名字的位置给定位起来??

RUBY 代码复制下载
  1. class Spriteset_Battle
  2.   #--------------------------------------------------------------------------
  3.   # ● 初始化变量
  4.   #--------------------------------------------------------------------------
  5.   def initialize
  6.     # 生成显示端口
  7.     @viewport1 = Viewport.new(0, 0, 640, 320)
  8.     @viewport2 = Viewport.new(0, 0, 640, 480)
  9.     @viewport3 = Viewport.new(0, 0, 640, 480)
  10.     @viewport4 = Viewport.new(0, 0, 640, 480)
  11.     @viewport2.z = 101
  12.     @viewport3.z = 200
  13.     @viewport4.z = 5000
  14.     # 生成战斗背景活动块
  15.     @battleback_sprite = Sprite.new(@viewport1)
  16.     # 生成敌人活动块
  17.     @enemy_sprites = []
  18.     for enemy in $game_troop.enemies.reverse
  19.       @enemy_sprites.push(Sprite_Battler.new(@viewport1, enemy))
  20.     end
  21.     @enemy_names = []
  22.     for enemy in $game_troop.enemies
  23.       @enemy_names.push(Sprite.new(@viewport1))
  24.       @enemy_names[-1].bitmap = Bitmap.new(128,32)
  25.       @enemy_names[-1].bitmap.font.color = Color.new(125,0,125,255)
  26.       @enemy_names[-1].bitmap.draw_text(0,0,128,32,enemy.name)
  27.       @enemy_names[-1].x = enemy.screen_x - 20
  28.       @enemy_names[-1].y = enemy.screen_y - 30
  29.       @enemy_names[-1].z = 999
  30.     end
  31.     # 生成敌人活动块
  32.     @actor_sprites = []
  33.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  34.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  35.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  36.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  37.     # 生成天候
  38.     @weather = RPG::Weather.new(@viewport1)
  39.     # 生成图片活动块
  40.     @picture_sprites = []
  41.     for i in 51..100
  42.       @picture_sprites.push(Sprite_Picture.new(@viewport3,
  43.         $game_screen.pictures[i]))
  44.     end
  45.     # 生成计时器块
  46.     @timer_sprite = Sprite_Timer.new
  47.     # 刷新画面
  48.     update
  49.   end
  50.   def hide_name(i)
  51.     @enemy_names[i].opacity = 0 if i != nil
  52.   end
  53.   def appear_name(i)  #貌似翻了应该是name appear
  54.     @enemy_names[i].opacity = 255 if i != nil
  55.   end
  56. end
  57. class Game_Enemy
  58.   attr_reader  :member_index
  59. end
  60. class Scene_Battle
  61.   alias u update_phase4_step3
  62.   def update_phase4_step3
  63.     if @active_battler.is_a?(Game_Enemy)
  64.  
  65.       @spriteset.hide_name(@active_battler.member_index)
  66.     end
  67.     u
  68.   end
  69.   alias u4 update_phase4_step4
  70.   def update_phase4_step4
  71.     for i in @target_battlers
  72.       if i.is_a?(Game_Enemy)
  73.         @spriteset.hide_name(i.member_index)
  74.       end
  75.     end
  76.     u4
  77.   end
  78.   alias up update
  79.   def update
  80.     if @wait_count == 1
  81.       @spriteset.appear_name(@active_battler.member_index) if @active_battler.is_a?(Game_Enemy)
  82.       for i in @target_battlers
  83.         @spriteset.appear_name(i.member_index) if i.is_a?(Game_Enemy)
  84.       end
  85.     end
  86.     up
  87.   end
  88. end

Project6.rar

188.2 KB, 下载次数: 33

工程文件

点评

楼主文件被查出病毒了。  发表于 2013-8-12 23:27

Lv2.观梦者

梦石
0
星屑
501
在线时间
301 小时
注册时间
2010-7-3
帖子
133
2
 楼主| 发表于 2013-8-13 00:06:29 | 只看该作者
本帖最后由 a111a 于 2013-8-13 00:07 编辑

我360关了

到66RPG开网页,谁知道弹出一大堆网页。。。

话说你们开6R弹出网页吗?

或许我电脑真的中毒了

这次电脑彻底杀毒了

没毒了~~
回复 支持 反对

使用道具 举报

Lv2.观梦者 (暗夜天使)

万兽

梦石
0
星屑
597
在线时间
2271 小时
注册时间
2006-11-4
帖子
4868

贵宾

3
发表于 2013-8-13 01:00:41 | 只看该作者
@Person
  1. class Spriteset_Battle
  2.   #--------------------------------------------------------------------------
  3.   # ● 初始化变量
  4.   #--------------------------------------------------------------------------
  5.   def initialize
  6.     # 生成显示端口
  7.     @viewport1 = Viewport.new(0, 0, 640, 480)
  8.     @viewport2 = Viewport.new(0, 0, 640, 480)
  9.     @viewport3 = Viewport.new(0, 0, 640, 480)
  10.     @viewport4 = Viewport.new(0, 0, 640, 480)
  11.     @viewport2.z = 101
  12.     @viewport3.z = 200
  13.     @viewport4.z = 5000
  14.     # 生成战斗背景活动块
  15.     @battleback_sprite = Sprite.new(@viewport1)
  16.     # 生成敌人活动块
  17.     @enemy_sprites = []
  18.     for enemy in $game_troop.enemies.reverse
  19.       @enemy_sprites.push(Sprite_Battler.new(@viewport1, enemy))
  20.     end
  21.     #bearrpg 原来是获取敌人名字,改成获取角色名
  22.     @actor_names = []
  23.     for actor in $game_party.actors#循环角色队伍
  24.       #默认显示角色信息的视窗是高于战斗背景的活动块的视窗,
  25.       #所以不管你怎么改Z值,对无法将这里的名字显示在角色状态窗口之上,
  26.       #只能修改视窗决口
  27.       @actor_names.push(Sprite.new(@viewport3))#默认是1
  28.       @actor_names[-1].bitmap = Bitmap.new(128,32)
  29.       @actor_names[-1].bitmap.font.color = Color.new(125,0,125,255)#这里是描绘颜色
  30.       @actor_names[-1].bitmap.draw_text(0,0,128,32,actor.name)
  31.       @actor_names[-1].x = actor.screen_x - 20#这里是定位名字的X坐标
  32.       @actor_names[-1].y = actor.screen_y - 30#这里是定位名字的Y坐标
  33.       @actor_names[-1].z = 999
  34.     end
  35.     #bearrpg
  36.    # @enemy_names = []
  37.    # for enemy in $game_troop.enemies
  38.    #   @enemy_names.push(Sprite.new(@viewport1))
  39.    #   @enemy_names[-1].bitmap = Bitmap.new(128,32)
  40.    #   @enemy_names[-1].bitmap.font.color = Color.new(125,0,125,255)
  41.    #   @enemy_names[-1].bitmap.draw_text(0,0,128,32,enemy.name)
  42.    #   @enemy_names[-1].x = enemy.screen_x - 20
  43.    #   @enemy_names[-1].y = enemy.screen_y - 30
  44.    #   @enemy_names[-1].z = 999
  45.    # end
  46.     # 生成敌人活动块
  47.     @actor_sprites = []
  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.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  52.     # 生成天候
  53.     @weather = RPG::Weather.new(@viewport1)
  54.     # 生成图片活动块
  55.     @picture_sprites = []
  56.     for i in 51..100
  57.       @picture_sprites.push(Sprite_Picture.new(@viewport3,
  58.         $game_screen.pictures[i]))
  59.     end
  60.     # 生成计时器块
  61.     @timer_sprite = Sprite_Timer.new
  62.     # 刷新画面
  63.     update
  64.   end
  65.   def hide_name(i)
  66.       #bearrpg 因为数组名成了@actor_names所以这里也要进行修改
  67.     @actor_names[i].opacity = 0 if i != nil
  68.   end
  69.   def appear_name(i)  #貌似翻了应该是name appear
  70.           #bearrpg 因为数组名成了@actor_names所以这里也要进行修改
  71.     @actor_names[i].opacity = 255 if i != nil
  72.   end
  73. end
  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
  107. end
复制代码
脚本给你了,自己看注释改,实在不明白这样做的意义何在……

点评

熊叔这是醒了吗  发表于 2013-8-13 04:24
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-28 12:33

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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