Project1

标题: 关于战斗显示名字 [打印本页]

作者: 白萌奈奈    时间: 2010-6-25 04:18
标题: 关于战斗显示名字
谁给我一个敌人和角色显示名字的脚本呢。最好在战斗图下面显示。追加帮我修改显示攻击动画的时候名字暂时消失.......总感觉好像要求很高
作者: 白斑病赌东道    时间: 2010-6-25 04:22
于是不会的路过。。。。虽然曾经看到过显示名字的脚本。。。。。
作者: 逸豫    时间: 2010-6-25 11:26
  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.       @spriteset.hide_name(@active_battler.member_index)
  65.     end
  66.     u
  67.   end
  68.   alias u4 update_phase4_step4
  69.   def update_phase4_step4
  70.     for i in @target_battlers
  71.       if i.is_a?(Game_Enemy)
  72.         @spriteset.hide_name(i.member_index)
  73.       end
  74.     end
  75.     u4
  76.   end
  77.   alias up update
  78.   def update
  79.     if @wait_count == 1
  80.       @spriteset.appear_name(@active_battler.member_index) if @active_battler.is_a?(Game_Enemy)
  81.       for i in @target_battlers
  82.         @spriteset.appear_name(i.member_index) if i.is_a?(Game_Enemy)
  83.       end
  84.     end
  85.     up
  86.   end
  87. end
复制代码
在main前插入即可
角色默认就有名称显示,所以就没有修改
作者: 玛尔斯    时间: 2010-6-25 13:39
用PS在怪物的图片上加一句也行==||
作者: 白萌奈奈    时间: 2010-6-25 17:34
本帖最后由 白萌奈奈 于 2010-6-25 17:45 编辑

{:nm_1:}PS加当然不行呢。还有一点疑问,角色显示名字怎么做到攻击时候消失呢............要把Z值放在战斗图的下面..
作者: 逸豫    时间: 2010-6-25 18:02
角色名称因为是在窗口中……只能把窗口clear然后重新描绘HP等等东西
作者: 白萌奈奈    时间: 2010-6-25 18:04
{:nm_2:}什么意思..............你是说把窗口隐藏吗.......
作者: 逸豫    时间: 2010-6-25 18:27
不是
把@status_window使用方法clear清除内容,然后再重新描画除名称外的内容,最后动画播放完毕再描画名称
作者: 白萌奈奈    时间: 2010-6-29 02:04
{:nm_4:}好久没登陆.........
作者: 黑米馒头    时间: 2022-4-3 15:36
逸豫 发表于 2010-6-25 11:26
在main前插入即可
角色默认就有名称显示,所以就没有修改

你好,这个名称显示的脚本,如何改成角色也能用




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