赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 4285 |
最后登录 | 2012-1-14 |
在线时间 | 1 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 1 小时
- 注册时间
- 2009-4-10
- 帖子
- 34
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
我用的是鼠标相应事件的脚本,但是用鼠标响应的事件固定朝向无效,所以只有一方向图片素材的事件被响应后会没有了。。。汗 我认为我说的挺详细。。。实在不懂得请下载工程。
http://www.ibudai.com/file/b89192dc5c50eccbe5bc108590ff4020
附脚本:(只要在脚本里加一个固定朝向应该就行了。。。我的目的是让这个脚本可以用于只有一个方向的图片素材。。。谢谢了)
- 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 / $c3_每一步的帧数
- event_height = RPG::Cache.character(event.character_name,event.character_hue).height / 8
- 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[i].parameters[0] == "Item" #类型判断
- event.flag = 1
- elsif event.list[i].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 / $c3_每一步的帧数
- event_height = RPG::Cache.character(event.character_name,event.character_hue).height / 8
- #判断是否鼠标在事件上
- 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,0,-1].include?($game_player.x-event.x) and [1,0,-1].include?($game_player.y-event.y)
- for i in 0...event.list.size
- if ["Item","Npc"].include?(event.list[i].parameters[0]) #当事件属于自定义事件
- #判断主角朝向
- if way_x == -1
- p_direction = 3 if way_y == -1
- p_direction = 6 if way_y == 0
- p_direction = 9 if way_y == 1
- elsif way_x == 0
- p_direction = 2 if way_y == -1
- p_direction = 8 if way_y == 1
- else
- p_direction = 1 if way_y == -1
- p_direction = 4 if way_y == 0
- p_direction = 7 if way_y == 1
- end
- event.start #开启事件
- return 1, p_direction #返回即将开启事件以及角色朝向
- end
- end
- end
- end
- end
- return 0, 5 #返回不会开启事件以及角色朝向不变
- end
- #--------------------------------------------------------------------------
- # ● 检查鼠标处是否存在自定义事件 for 寻路
- #--------------------------------------------------------------------------
- def check_event_custom_exist(mouse_x, mouse_y)
- for event in $game_map.events.values #循环所有事件检查
- #事件角色图片宽度、高度
- event_width = RPG::Cache.character(event.character_name,event.character_hue).width / $c3_每一步的帧数
- event_height = RPG::Cache.character(event.character_name,event.character_hue).height / 8
- 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
- return 1, event if ["Item", "Npc"].include?(event.list[i].parameters[0]) #返回存在自定义事件以及事件体
- end
- end
- end
- return 0, event #返回不存在自定义事件,以及事件体
- end
- end
复制代码 此贴于 2009-5-4 10:45:03 被版主darkten提醒,请楼主看到后对本贴做出回应。 |
|