Project1

标题: VA中如何实现这种效果 [打印本页]

作者: Duckchin    时间: 2012-9-15 15:14
标题: VA中如何实现这种效果
就是可以在NPC上与角色上显示名字的那种效果,如何实现呢?
作者: yoyu1989    时间: 2012-9-15 15:27
http://rpg.blue/forum.php?mod=viewthread&tid=217619
这个是解说~
http://rpg.blue/thread-206856-1-1.html 这个是脚本。
http://rpg.blue/thread-181551-1-1.html 这个是必要脚本。必要脚本要放在脚本前面。
人物名称效果显示~要用到脚本~要复制下来放到MAIN前面~之前要放ACE必用脚本~
不过这个脚本我看着感觉比较难控制,像是主角名的显示也与不显示我感觉有点迷胡。


日站有个只显示NPC的名字的脚本比较简单,我找一找~
  1. #==============================================================================
  2. # ★ RGSS3_ネームポップ Ver1.1
  3. #==============================================================================
  4. =begin

  5. 作者:tomoaky
  6. webサイト:ひきも記 (http://hikimoki.sakura.ne.jp/)

  7. イベント名かイベント実行内容の先頭に『注釈』コマンドで
  8. <namepop 文字列>
  9. と記述してください。
  10. イベントキャラクターの頭上に文字列が表示されます。

  11. イベント名で指定した場合はイベント全ページに適用されますが、
  12. 優先度は注釈コマンドの方が高くなっています。

  13. 文字を消したい場合は <namepop none> としてください。

  14. 2011.12.16  Ver1.1
  15.   ・フォントの縁取り不透明度を設定項目に追加

  16. 2011.12.15  Ver1.0
  17.   公開

  18. =end

  19. #==============================================================================
  20. # □ 設定項目
  21. #==============================================================================
  22. module TMNPOP
  23.   FONT_SIZE = 14          # フォントサイズ
  24.   FONT_OUT_ALPHA = 255    # フォントの縁取り不透明度
  25. end

  26. #==============================================================================
  27. # ■ Game_Character
  28. #==============================================================================
  29. class Game_Character
  30.   #--------------------------------------------------------------------------
  31.   # ● 公開インスタンス変数
  32.   #--------------------------------------------------------------------------
  33.   attr_accessor :namepop                  # ポップアップテキスト
  34.   #--------------------------------------------------------------------------
  35. end

  36. #==============================================================================
  37. # ■ Game_Event
  38. #==============================================================================
  39. class Game_Event < Game_Character
  40.   #--------------------------------------------------------------------------
  41.   # ● イベントページの設定をセットアップ
  42.   #--------------------------------------------------------------------------
  43.   alias tmnpop_game_event_setup_page_settings setup_page_settings
  44.   def setup_page_settings
  45.     tmnpop_game_event_setup_page_settings
  46.     if @list
  47.       @namepop = $1 if /<namepop\s*(\S+?)>/i =~ @event.name
  48.       @list.each do |list|
  49.         if list.code == 108 || list.code == 408
  50.           @namepop = $1 if /<namepop\s*(\S+?)>/i =~ list.parameters[0]
  51.         else
  52.           break
  53.         end
  54.       end
  55.     end
  56.   end
  57. end

  58. #==============================================================================
  59. # ■ Sprite_Character
  60. #==============================================================================
  61. class Sprite_Character < Sprite_Base
  62.   #--------------------------------------------------------------------------
  63.   # ● 解放
  64.   #--------------------------------------------------------------------------
  65.   alias tmnpop_sprite_character_dispose dispose
  66.   def dispose
  67.     dispose_namepop
  68.     tmnpop_sprite_character_dispose
  69.   end
  70.   #--------------------------------------------------------------------------
  71.   # ● フレーム更新
  72.   #--------------------------------------------------------------------------
  73.   alias tmnpop_sprite_character_update update
  74.   def update
  75.     tmnpop_sprite_character_update
  76.     update_namepop
  77.     if @character.namepop != @namepop
  78.       @namepop = @character.namepop
  79.       start_namepop
  80.     end
  81.   end
  82.   #--------------------------------------------------------------------------
  83.   # ○ namepopの開始
  84.   #--------------------------------------------------------------------------
  85.   def start_namepop
  86.     dispose_namepop
  87.     return if @namepop == "none" || @namepop == nil
  88.     @namepop_sprite = ::Sprite.new(viewport)
  89.     h = TMNPOP::FONT_SIZE + 4
  90.     @namepop_sprite.bitmap = Bitmap.new(h * 10, h)
  91.     @namepop_sprite.bitmap.font.size = TMNPOP::FONT_SIZE
  92.     @namepop_sprite.bitmap.font.out_color.alpha = TMNPOP::FONT_OUT_ALPHA
  93.     @namepop_sprite.bitmap.draw_text(0, 0, h * 10, h, @namepop, 1)
  94.     @namepop_sprite.ox = h * 5
  95.     @namepop_sprite.oy = h
  96.     update_namepop
  97.   end
  98.   #--------------------------------------------------------------------------
  99.   # ○ namepopの更新
  100.   #--------------------------------------------------------------------------
  101.   def update_namepop
  102.     if @namepop_sprite
  103.       @namepop_sprite.x = x
  104.       @namepop_sprite.y = y - height
  105.       @namepop_sprite.z = z + 200
  106.     end
  107.   end
  108.   #--------------------------------------------------------------------------
  109.   # ○ namepopの解放
  110.   #--------------------------------------------------------------------------
  111.   def dispose_namepop
  112.     if @namepop_sprite
  113.       @namepop_sprite.bitmap.dispose
  114.       @namepop_sprite.dispose
  115.       @namepop_sprite = nil
  116.     end
  117.   end
  118. end
复制代码
这个脚本插入了以后~在事件的名字上~打成~<namepop XXX>就可以在人物头是显示XXX的名字了~不过我不知道怎么在主角的头上插入,不过这个脚本的优点是不难~。
这个脚本是地球本里的VA合集里的~应该没有什么遗漏~
作者: xfx510061635    时间: 2012-9-15 18:26
yoyu1989 发表于 2012-9-15 15:27
http://rpg.blue/forum.php?mod=viewthread&tid=217619
这个是解说~
http://rpg.blue/thread-20 ...

我也正在求这个脚本,谢谢这位大大。。




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