Project1
标题:
关于NPC头上显示名字如何去除的问题。
[打印本页]
作者:
liuziyuan201019
时间:
2012-1-23 16:57
标题:
关于NPC头上显示名字如何去除的问题。
本帖最后由 liuziyuan201019 于 2012-1-23 16:59 编辑
从网上看到一个NPC显名脚本,即如下:
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 = 1, 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
复制代码
然后,发现只有这个脚本与我的游戏系统不冲突……(我的游戏简直创意无穷……啥脚本都不能用……全冲突……)
之后,开始制作游戏,
发现:
当我亲爱的NPC因为事件需要消失不见时,
名字依然显示……
作为一个年龄大技术低能力差的人,
这种问题还真是解决不了……
无奈之下上网求助……
大家谁能够告诉我一个办法,
能够在事件需要没有的时候把名字也拉进地狱去? dsu_plus_rewardpost_czw
作者:
忧雪の伤
时间:
2012-1-24 14:15
http://rpg.blue/thread-217619-1-3.html
谁再提练手我就剁手。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1