Project1

标题: 关于人物名称 [打印本页]

作者: wuxianbo    时间: 2012-1-20 15:12
标题: 关于人物名称
本帖最后由 wuxianbo 于 2012-1-20 15:40 编辑


这些角色上的昵称怎么整的啊  ?dsu_plus_rewardpost_czw
作者: 爆焰    时间: 2012-1-20 16:32
本帖最后由 爆焰 于 2012-1-21 01:56 编辑
  1. module EventName
  2.   Plus = [0, 20]
  3.   String = '[No Display]'
  4.   Font = [15, '黑体']
  5.   class Sprite_EventName < Sprite
  6.     attr_accessor(:name)
  7.     attr_accessor(:size)
  8.     attr_accessor(:event)
  9.     def initialize(event)
  10.       super(nil);  self.z, self.event, temp = 9999, event, Bitmap.new(640, 480)
  11.       self.size, string = [], ['width', 'height']
  12.       temp.font.size, temp.font.name = Font
  13.       string.each {|item| eval("size.push(temp.text_size(self.event.name).#{item})") }
  14.       self.bitmap = Bitmap.new(self.size[0] + 1, self.size[1] + 1)
  15.       self.bitmap.font.size, self.bitmap.font.name = Font
  16.       self.bitmap.draw_text(bitmap.rect, self.event.name)
  17.     end
  18.   end
  19. end

  20. class Game_Event
  21.   define_method(:name) { eval('return @event.name') } unless method_defined?(:name)
  22. end

  23. class Spriteset_Map
  24.   include(EventName)
  25.   _array = ['initialize', 'update', 'dispose']
  26.   _array.each {|item| alias_method('_' + item, item) unless $@ }
  27.   attr_accessor(:event_names)
  28.   def initialize
  29.     @event_names = []
  30.     $game_map.events.each_value {|item| @event_names.push(
  31.     Sprite_EventName.new(item)) unless item.name.include?(String) }
  32.     _initialize;  
  33.     @character_sprites.each {|item1| @event_names.each {|item2|
  34.     bitmap = item2.bitmap;  (item2.ox = bitmap.width / 2 + Plus[0];
  35.     item2.oy = (item1.bitmap.height + bitmap.height) / 4 + Plus[1]
  36.     ) if item2.event.equal?(item1.character) } }
  37.   end
  38.   def dispose;  _dispose
  39.     @event_names.each {|item| item.dispose }
  40.   end
  41.   def update;  _update
  42.     $game_map.events.each_value {|event| @event_names.each {|sprite| sprite.x,
  43.     sprite.y = event.screen_x, event.screen_y if event.equal?(sprite.event) } }
  44.   end
  45. end
复制代码

作者: aaalbx    时间: 2012-1-20 18:58
本帖最后由 aaalbx 于 2012-1-20 18:59 编辑

有个东西叫置顶
地图上显示NPC名字:
忧雪の伤版:http://rpg.blue/thread-187531-1-1.html
柳柳版:http://rpg.blue/article-40416.html





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