赞 | 8 |
VIP | 14 |
好人卡 | 35 |
积分 | 32 |
经验 | 46931 |
最后登录 | 2024-8-10 |
在线时间 | 1442 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 3176
- 在线时间
- 1442 小时
- 注册时间
- 2009-7-27
- 帖子
- 1454
|
本帖最后由 爆焰 于 2012-1-21 01:56 编辑
- module EventName
- Plus = [0, 20]
- String = '[No Display]'
- Font = [15, '黑体']
- class Sprite_EventName < Sprite
- attr_accessor(:name)
- attr_accessor(:size)
- attr_accessor(:event)
- def initialize(event)
- super(nil); self.z, self.event, temp = 9999, event, Bitmap.new(640, 480)
- self.size, string = [], ['width', 'height']
- temp.font.size, temp.font.name = Font
- string.each {|item| eval("size.push(temp.text_size(self.event.name).#{item})") }
- self.bitmap = Bitmap.new(self.size[0] + 1, self.size[1] + 1)
- self.bitmap.font.size, self.bitmap.font.name = Font
- self.bitmap.draw_text(bitmap.rect, self.event.name)
- end
- end
- end
- class Game_Event
- define_method(:name) { eval('return @event.name') } unless method_defined?(:name)
- end
- class Spriteset_Map
- include(EventName)
- _array = ['initialize', 'update', 'dispose']
- _array.each {|item| alias_method('_' + item, item) unless $@ }
- attr_accessor(:event_names)
- def initialize
- @event_names = []
- $game_map.events.each_value {|item| @event_names.push(
- Sprite_EventName.new(item)) unless item.name.include?(String) }
- _initialize;
- @character_sprites.each {|item1| @event_names.each {|item2|
- bitmap = item2.bitmap; (item2.ox = bitmap.width / 2 + Plus[0];
- item2.oy = (item1.bitmap.height + bitmap.height) / 4 + Plus[1]
- ) if item2.event.equal?(item1.character) } }
- end
- def dispose; _dispose
- @event_names.each {|item| item.dispose }
- end
- def update; _update
- $game_map.events.each_value {|event| @event_names.each {|sprite| sprite.x,
- sprite.y = event.screen_x, event.screen_y if event.equal?(sprite.event) } }
- end
- end
复制代码 |
评分
-
参与人数 1 | 星屑 +200 |
梦石 +2 |
收起
理由
|
「旅」
| + 200 |
+ 2 |
认可答案,恭喜你获得由66RPG提供的精美好. |
查看全部评分
|