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

Project1

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

战斗显名字,但是名字在法术之上,怎么修改?

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
60
在线时间
9 小时
注册时间
2006-9-7
帖子
303
跳转到指定楼层
1
发表于 2009-2-1 04:47:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x


   在战斗中显示敌人的名字,但是名字会显示在法术之上,怎么修改在法术之下?




  脚本:
  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================
  4. # ■ エネミーHP&SP(ver 0.98)

  5. # □ カスタマイズポイント
  6. #==============================================================================
  7. module PLAN_HPSP_DRAW
  8. FONT_NAME         = ["宋体"]    # フォント
  9. FONT_SIZE         =  16                               # フォントサイズ
  10. FONT_BOLD         = true                              # 太字
  11. FONT_ITALIC       = false                              # 斜体

  12. DRAW_NAME         = true                              # 名前の描画
  13. DRAW_HP           = false                              # HP の描画
  14. DRAW_SP           = false                              # SP の描画

  15. DRAW_WIDTH        =  80                               # 描画幅
  16. DRAW_HEIGHT       = 3 * 32                            # 描画高さ
  17. DRAW_SPACE        =  0                                # 行間
  18. DRAW_Y            =  54                               # Y 座標修正値
  19. end

  20. #==============================================================================
  21. # ■ Sprite_Battler
  22. #==============================================================================

  23. class Sprite_Battler < RPG::Sprite
  24. #--------------------------------------------------------------------------
  25. # ● オブジェクト初期化
  26. #--------------------------------------------------------------------------
  27. alias plan_enemy_hpsp_draw_initialize initialize
  28. def initialize(viewport, battler = nil)
  29.    # 元のメソッドに戻す
  30.    plan_enemy_hpsp_draw_initialize(viewport, battler)
  31.    
  32.    # エネミーの場合
  33.    if @battler.is_a?(Game_Enemy)
  34.      width = PLAN_HPSP_DRAW::DRAW_WIDTH + 32
  35.      height = PLAN_HPSP_DRAW::DRAW_HEIGHT + 32
  36.      
  37.      x = @battler.screen_x - width / 2
  38.      y = @battler.screen_y - height + 32 + PLAN_HPSP_DRAW::DRAW_Y
  39.      
  40.      @enemy_hpsp_window = Window_Base.new(x, y, width, height)
  41.      @enemy_hpsp_window.contents = Bitmap.new(width - 32, height - 32)
  42.      @enemy_hpsp_window.contents.font.color = Color.new(2, 112, 16, 255)
  43.      @enemy_hpsp_window.contents.font.name = PLAN_HPSP_DRAW::FONT_NAME
  44.      @enemy_hpsp_window.contents.font.size = PLAN_HPSP_DRAW::FONT_SIZE
  45.      @enemy_hpsp_window.contents.font.bold = PLAN_HPSP_DRAW::FONT_BOLD
  46.      @enemy_hpsp_window.contents.font.italic = PLAN_HPSP_DRAW::FONT_ITALIC
  47.      
  48.      y = 0
  49.      @old_enemy_hpsp = []
  50.      one_line = ((PLAN_HPSP_DRAW::FONT_SIZE * 100 / 28) * 32) / 100
  51.    
  52.      if PLAN_HPSP_DRAW::DRAW_NAME
  53.        @enemy_hpsp_window.draw_actor_name(@battler, -15, y, width - 32)
  54.        y += one_line + PLAN_HPSP_DRAW::DRAW_SPACE
  55.        @old_enemy_hpsp.push(@battler.name)
  56.      end

  57.      @enemy_hpsp_window.opacity = 255
  58.      @enemy_hpsp_window.contents_opacity = 255
  59.      @enemy_hpsp_window.z = - 1
  60.      
  61.    end
  62. end
  63. #--------------------------------------------------------------------------
  64. # ● 解放
  65. #--------------------------------------------------------------------------
  66. alias plan_enemy_hpsp_draw_dispose dispose
  67. def dispose
  68.    # エネミーの場合
  69.    if @battler.is_a?(Game_Enemy)
  70.      @enemy_hpsp_window.dispose
  71.    end
  72.    # 元のメソッドに戻す
  73.    plan_enemy_hpsp_draw_dispose
  74. end
  75. #--------------------------------------------------------------------------
  76. # ● フレーム更新
  77. #--------------------------------------------------------------------------
  78. alias plan_enemy_hpsp_draw_update update
  79. def update
  80.    # 元のメソッドに戻す
  81.    plan_enemy_hpsp_draw_update
  82.    # エネミーの場合
  83.    if @battler.is_a?(Game_Enemy)
  84.      @enemy_hpsp_window.visible = @battler_visible
  85.    # スプライトの座標を設定
  86.      width = PLAN_HPSP_DRAW::DRAW_WIDTH + 32
  87.      @enemy_hpsp_window.x = self.x - width / 2
  88.      
  89.      @now_enemy_hpsp = []
  90.      
  91.      if PLAN_HPSP_DRAW::DRAW_NAME
  92.        @now_enemy_hpsp.push(@battler.name)
  93.      end
  94.    
  95.      if @old_enemy_hpsp != @now_enemy_hpsp and $game_temp.enemy_hpsp_refresh
  96.        @old_enemy_hpsp = @now_enemy_hpsp
  97.        @enemy_hpsp_window.contents.clear
  98.        y = 0
  99.        width = PLAN_HPSP_DRAW::DRAW_WIDTH + 32
  100.        one_line = ((PLAN_HPSP_DRAW::FONT_SIZE * 100 / 28) * 32) / 100
  101.      
  102.        if PLAN_HPSP_DRAW::DRAW_NAME
  103.          @enemy_hpsp_window.draw_actor_name(@battler, 0, y, width - 32)
  104.          y += one_line + PLAN_HPSP_DRAW::DRAW_SPACE
  105.        end

  106.        Graphics.frame_reset
  107.      end
  108.      
  109.    end
  110. end

  111. end



  112. #==============================================================================
  113. # ■ Window_Base
  114. #==============================================================================
  115. class Window_Base < Window
  116. #--------------------------------------------------------------------------
  117. # ● 名前の描画
  118. #--------------------------------------------------------------------------
  119. def draw_actor_name(actor, x, y, width = 120, align = 0)
  120.   if $scene.is_a?(Scene_Battle)
  121.     align = 1
  122.     self.contents.font.color = Color.new(43, 212, 43, 255)
  123.   else
  124.     self.contents.font.color = normal_color
  125.   end
  126.   self.contents.draw_text(x, y, width, 32, actor.name, align)
  127. end
  128. end
复制代码





此贴于 2009-2-3 7:31:20 被版主darkten提醒,请楼主看到后对本贴做出回应。
版务信息:本贴由楼主自主结贴~
十年磨一剑,蓦然回首,年华如水,青春如歌。

Lv4.逐梦者

梦石
0
星屑
6645
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

2
发表于 2009-2-1 07:50:58 | 只看该作者
这样感觉也蛮不错的啊{/hx}
真的想改的话……
先调整Z,不管用就换Viewport

游戏系统做了多少了呢!?等着玩呢{/hx}











你知道得太多了

回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
21 小时
注册时间
2007-7-3
帖子
573
3
发表于 2009-2-1 17:18:00 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
9 小时
注册时间
2006-9-7
帖子
303
4
 楼主| 发表于 2009-2-1 18:09:54 | 只看该作者

这样修改会出错, 调整z坐标 -1 以下 名字就会看不见了.

以下引用goahead于2009-2-1 9:18:00的发言:

试试这样:
@enemy_hpsp_window.z = - 1这句改成@enemy_hpsp_window.viewport = viewport

十年磨一剑,蓦然回首,年华如水,青春如歌。
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
21 小时
注册时间
2007-7-3
帖子
573
5
发表于 2009-2-2 01:05:35 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
9 小时
注册时间
2006-9-7
帖子
303
6
 楼主| 发表于 2009-2-2 03:16:35 | 只看该作者
进入战斗提示

undefined method 'viewport=' for #<window_base:0x335df20>

没有定义?
十年磨一剑,蓦然回首,年华如水,青春如歌。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

蚂蚁卡卡

梦石
0
星屑
116
在线时间
66 小时
注册时间
2007-12-16
帖子
3081
7
发表于 2009-2-2 18:28:34 | 只看该作者
http://rpg.blue/viewthread.php?tid=113281

类似这种效果 是吧?
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
《隋唐乱》完整解密版点击进入
米兰,让我怎么说离开……

曾经我也是一个有志青年,直到我膝盖中了一箭……

《隋唐乱》博客地址
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
9 小时
注册时间
2006-9-7
帖子
303
8
 楼主| 发表于 2009-2-2 18:57:36 | 只看该作者
  按照那个修改也没效果啊, 名字的Z坐标 总是比 法术图 和 伤害数值 更高.

  在哪里修改让名字的Z坐标比它们低?
十年磨一剑,蓦然回首,年华如水,青春如歌。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

蚂蚁卡卡

梦石
0
星屑
116
在线时间
66 小时
注册时间
2007-12-16
帖子
3081
9
发表于 2009-2-2 19:50:03 | 只看该作者
效果就是在法术的下面吧

法术伤害和名字好像不太一样啊
恩 做个工程来看下吧
《隋唐乱》完整解密版点击进入
米兰,让我怎么说离开……

曾经我也是一个有志青年,直到我膝盖中了一箭……

《隋唐乱》博客地址
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
21 小时
注册时间
2007-7-3
帖子
573
10
发表于 2009-2-3 01:07:26 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-12 15:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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