赞 | 2 |
VIP | 109 |
好人卡 | 208 |
积分 | 4 |
经验 | 22037 |
最后登录 | 2024-11-11 |
在线时间 | 1198 小时 |
Lv2.观梦者 虚構歪曲
- 梦石
- 0
- 星屑
- 364
- 在线时间
- 1198 小时
- 注册时间
- 2010-12-18
- 帖子
- 3928
|
本帖最后由 忧雪の伤 于 2011-6-21 13:23 编辑
- module EnemyName
- Edge = true
- Plus = [24, 0]
- String = '[No Display]'
- Font = { :size => 20, :name => '黑体', :color => Color.new(255, 255, 255) }
- class Sprite_EnemyName < Sprite
- attr_accessor(:name)
- attr_accessor(:size)
- attr_accessor(:enemy)
- def initialize(enemy)
- super(nil); self.z, self.enemy = 9999, enemy
- temp, self.ox, self.oy = Bitmap.new(640, 480), Plus[0], Plus[1]
- self.size, string = [], ['width', 'height']
- temp.font.size, temp.font.name = Font[:size], Font[:name]
- string.each {|item| eval("size.push(temp.text_size(enemy.name).#{item})") }
- self.bitmap = Bitmap.new(self.size[0] + 1, self.size[1] + 1)
- bitmap.font.size, bitmap.font.name = Font[:size], Font[:name]
- ((-1).upto(1) {|x| (-1).upto(1) {|y| next if x.zero? and y.zero?;
- bitmap.font.color = Color.new(0, 0, 0); rect = Rect.new(
- bitmap.rect.x + x, bitmap.rect.y + y, bitmap.rect.width,
- bitmap.rect.height); bitmap.draw_text(rect, enemy.name) } }) if Edge
- bitmap.font.color = Font[:color]
- self.bitmap.draw_text(bitmap.rect, self.enemy.name)
- end
- end
- end
- class Spriteset_Battle
- include(EnemyName)
- _array = ['initialize', 'update', 'dispose']
- _array.each {|item| alias_method('_' + item, item) }
- attr_accessor(:event_names)
- def initialize
- @enemy_names = []
- $game_troop.enemies.reverse.each {|enemy|
- (@enemy_names.push(Sprite_EnemyName.new(enemy))
- ) unless enemy.name.include?(String) }
- _initialize
- end
- def dispose; _dispose
- @enemy_names.each {|item| item.dispose }
- end
- def update
- _update
- @enemy_sprites.each {|item1| @enemy_names.each {|item2| (item2.x,
- item2.y, item2.z, item2.visible = item1.x, item1.y, item1.z,
- item1.battler.exist?) if item1.battler.equal?(item2.enemy) } }
- end
- end
复制代码
改造过来的- -||。不过其实大部分都不一样了。
这个不具备居中功能。但是多了描边功能。
其实是我懒得算……需要居中再说,其实就是几个字。 |
|