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

Project1

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

[RMVX发布] 【VX & VA】事件name显示……好像已经很多了吧

[复制链接]

Lv2.观梦者

梦石
0
星屑
508
在线时间
1478 小时
注册时间
2011-9-17
帖子
1316

开拓者贵宾

跳转到指定楼层
1
发表于 2011-12-16 14:02:48 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 iisnow 于 2012-3-25 22:52 编辑

不多说了:
这个是雪大的脚本
我的脚本,比雪大的脚本浅显一些(浅显多了
具体效果:

于是很容易就发现我的脚本的一些特点了:
1.支持“\n”换行
2.支持复杂图形(包括元件图)的事件
3.自动居中于事件头顶

另外:
1.可以自定义需要显示的事件名称(前缀判据)
2.可以用开关全局控制(详见脚本)
脚本也很短啦,虽然没有雪大的47行,也只有53行:(不过,只能在VX中使用哦~VA也应该可以)
  1. class Game_Event
  2.   attr_reader   :event
  3. end

  4. class Sprite_Name < Sprite_Base
  5.   
  6.   FLAG = "显示"  #姓名前缀,只有拥有该前缀的name才会显示,设为空,则全部都会显示,
  7.   #KEY = 10   #全局开关ID,去掉改行以及17行的#即可使用
  8.   
  9.   def initialize(viewport, character = nil)
  10.     super(viewport)
  11.     @cha = character
  12.   end
  13.   
  14.   def update
  15.     super
  16.     return unless @cha.event.name =~ /^#{FLAG}/ #&& $game_switches[KEY]
  17.     if @cha.event.name.split(FLAG,2)[1] != @name
  18.       @name = FLAG.empty? ? @cha.event.name : @cha.event.name.split(FLAG,2)[1]
  19.       name_pa = @name.split(/\\n/i)
  20.       name_pa.delete_if {|x| x.downcase == '\n'}
  21.       @wid = []
  22.       name_pa.each{|s| @wid << Bitmap.new(100,100).text_size(s).width}
  23.       self.bitmap = Bitmap.new(@wid.max,16 * name_pa.size)
  24.       self.bitmap.font.size = 14
  25.       name_pa.each_with_index{|s,x| self.bitmap.draw_text(0,x * 16,@wid.max,16,s,1)}
  26.     end
  27.     if @cha.character_name == ""
  28.       self.y = @cha.screen_y - 16 * (@wid.size + 2)
  29.     else
  30.       temp_flag = @cha.character_name =~ /^\!?\$.*/
  31.       temp_pic = Cache.character(@cha.character_name)
  32.       self.y = temp_flag ? @cha.screen_y - temp_pic.height / 4 - 16 * @wid.size : @cha.screen_y - temp_pic.height / 8 - 16 * @wid.size
  33.     end
  34.     self.x = @cha.screen_x - @wid.max / 2
  35.     self.z = @cha.screen_z + 100
  36.   end
  37.   
  38. end

  39. class Spriteset_Map
  40.   
  41.   alias :iisnow_create_characters :create_characters
  42.   
  43.   def create_characters
  44.     iisnow_create_characters
  45.     $game_map.events.values.each do |event|
  46.       @character_sprites.push(Sprite_Name.new(@viewport1, event))
  47.     end
  48.   end
  49.   
  50. end
复制代码
以上,完了,自习去的



我帖子中要有是不HX的空白,请Ctrl + A

Lv2.观梦者

虚構歪曲

梦石
0
星屑
364
在线时间
1198 小时
注册时间
2010-12-18
帖子
3928

贵宾

2
发表于 2012-1-11 21:23:25 | 只看该作者
http://rpg.blue/thread-217619-1-1.html
哎呀,换行……又要更新了……今天才看到这个帖子啊喵……话说别老是提到我好久以前的练手物嘛,早就有正式版了。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
681
在线时间
1 小时
注册时间
2014-12-13
帖子
1
3
发表于 2014-12-13 23:07:58 | 只看该作者
赞!!!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-14 09:50

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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