Project1

标题: 那个完美四方向鼠标控制 有 bug啊!!!!!! [打印本页]

作者: 独孤剑    时间: 2008-12-13 05:26
标题: 那个完美四方向鼠标控制 有 bug啊!!!!!!
那个完美四方向鼠标控制    有 bug啊!!!!!!
只能在: 只有!!!【宝箱】和【可说话的npc】的事件的地图上使用!!!
如果有其他类的事件,,就出错!!!!  

  
   

--------------------------------------------------------------------------------


就在下面我用【】括起来的一句 脚本
老是提示unfined method 'size' for nil:NilClass!!! !!!!!!!!!!!!!!!!!
脚本就在下面:
--------------------------------------------------------------------------------------------------------------------------------------------------------------
class Game_Event
attr_accessor :flag
end
#==============================================================================
# ■ Game_Map
#------------------------------------------------------------------------------
#  处理地图的类。包含卷动以及可以通行的判断功能。
# 本类的实例请参考 $game_map 。
#==============================================================================
class Game_Map
#--------------------------------------------------------------------------
# ● 检查鼠标处是否有自定义的事件并返回类型
#--------------------------------------------------------------------------
def check_event_custom(mouse_x, mouse_y)  
for event in $game_map.events.values #循环所有事件检查
event_width = RPG::Cache.character(event.character_name,event.character_hue).width / 4
event_height = RPG::Cache.character(event.character_name,event.character_hue).height / 4
if mouse_x > event.screen_x - event_width / 2 and mouse_x < event.screen_x + event_width / 2 and mouse_y + 32 > event.screen_y + 32 - event_height and mouse_y + 32 < event.screen_y + 32
【【【【【【【【【【【【【【【【【for i in 0...event.list.size】】】】】】】】】】】】】】】
if event.list.parameters[0] == "Item" #类型判断
event.flag = 1
elsif event.list.parameters[0] == "Npc" #类型判断
event.flag = 2
else
event.flag=0 if $game_player.get_mouse_sta != 2 #无标志
end
return event.flag #返回事件类型标志
end
end
end
return 0 if $game_player.get_mouse_sta != 2 #如果不是在跟随鼠标状态,则返回无标志
return $mouse_icon_id #使鼠标图不变化
end
#--------------------------------------------------------------------------
# ● 检查鼠标处是否有事件可以开启
#--------------------------------------------------------------------------
def check_event_custom_start(mouse_x, mouse_y)  
for event in $game_map.events.values #循环所有事件检查
#事件角色图片宽度、高度
event_width = RPG::Cache.character(event.character_name,event.character_hue).width/4
event_height = RPG::Cache.character(event.character_name,event.character_hue).height/4
#判断是否鼠标在事件上
if mouse_x > event.screen_x - event_width / 2 and mouse_x < event.screen_x + event_width / 2 and mouse_y + 32 > event.screen_y + 32 - event_height and mouse_y + 32 < event.screen_y + 32
way_x = $game_player.x - event.x
way_y = $game_player.y - event.y
if ([1, -1].include?($game_player.x-event.x) and $game_player.y-event.y == 0) or ([1, -1].include?($game_player.y-event.y) and $game_player.x-event.x == 0)
for i in 0...event.list.size
if ["Item","Npc"].include?(event.list.parameters[0]) #当事件属于自定义事件
#判断主角朝向
if way_x == -1
p_direction = 6 if way_y == 0
elsif way_x == 0
p_direction = 2 if way_y == -1
p_direction = 8 if way_y == 1
else
p_direction = 4 if way_y == 0
end
event.start #开启事件
return 1, p_direction #返回即将开启事件以及角色朝向
end
end
end
end
end
return 0, 5 #返回不会开启事件以及角色朝向不变
end  

  
  

--------------------------------------------------------------------------------


就在上面我用【】括起来的这句
【【【【【【【【【【【【【【【【【for i in 0...event.list.size】】】】】】】】】】】】】】】
老是提示unfined method 'size' for nil:NilClass!!! !!!!
怎么回事啊??、
有人能帮我吗???


作者: 独孤剑    时间: 2008-12-13 05:28
就是主站上的这个脚本:
http://rpg.blue/web/htm/news580.htm
http://rpg.blue/web/htm/news8.htm  

上面我没贴完整
作者: 独孤剑    时间: 2008-12-13 23:24
怎么没热你回答啊??{/dk}{/dk}
作者: 独孤剑    时间: 2008-12-14 20:58
还是没人知道???




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