设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1015|回复: 2
打印 上一主题 下一主题

谁能帮我改改这个脚本

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2009-4-10
帖子
34
跳转到指定楼层
1
发表于 2009-5-3 04:53:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
我用的是鼠标相应事件的脚本,但是用鼠标响应的事件固定朝向无效,所以只有一方向图片素材的事件被响应后会没有了。。。汗 我认为我说的挺详细。。。实在不懂得请下载工程。
http://www.ibudai.com/file/b89192dc5c50eccbe5bc108590ff4020
附脚本:(只要在脚本里加一个固定朝向应该就行了。。。我的目的是让这个脚本可以用于只有一个方向的图片素材。。。谢谢了)
  1. class Game_Map
  2.   #--------------------------------------------------------------------------
  3.   # ● 检查鼠标处是否有自定义的事件并返回类型
  4.   #--------------------------------------------------------------------------
  5.   def check_event_custom(mouse_x, mouse_y)
  6.     for event in $game_map.events.values #循环所有事件检查
  7.       event_width = RPG::Cache.character(event.character_name,event.character_hue).width / $c3_每一步的帧数
  8.       event_height = RPG::Cache.character(event.character_name,event.character_hue).height / 8
  9.       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
  10.         for i in 0...event.list.size
  11.           if event.list[i].parameters[0] == "Item" #类型判断
  12.             event.flag = 1
  13.           elsif event.list[i].parameters[0] == "Npc" #类型判断
  14.             event.flag = 2
  15.           else
  16.             event.flag = 0 if $game_player.get_mouse_sta != 2 #无标志
  17.           end
  18.           return event.flag #返回事件类型标志
  19.         end
  20.       end
  21.     end
  22.     return 0 if $game_player.get_mouse_sta != 2 #如果不是在跟随鼠标状态,则返回无标志
  23.     return $mouse_icon_id #使鼠标图不变化
  24.   end
  25.   #--------------------------------------------------------------------------
  26.   # ● 检查鼠标处是否有事件可以开启
  27.   #--------------------------------------------------------------------------
  28.   def check_event_custom_start(mouse_x, mouse_y)
  29.     for event in $game_map.events.values #循环所有事件检查
  30.       #事件角色图片宽度、高度
  31.       event_width = RPG::Cache.character(event.character_name,event.character_hue).width / $c3_每一步的帧数
  32.       event_height = RPG::Cache.character(event.character_name,event.character_hue).height / 8
  33.       #判断是否鼠标在事件上
  34.       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
  35.         way_x = $game_player.x - event.x
  36.         way_y = $game_player.y - event.y
  37.         if [1,0,-1].include?($game_player.x-event.x) and [1,0,-1].include?($game_player.y-event.y)
  38.           for i in 0...event.list.size
  39.             if ["Item","Npc"].include?(event.list[i].parameters[0]) #当事件属于自定义事件
  40.               #判断主角朝向
  41.               if way_x == -1
  42.                 p_direction = 3 if way_y == -1
  43.                 p_direction = 6 if way_y == 0
  44.                 p_direction = 9 if way_y == 1
  45.               elsif way_x == 0
  46.                 p_direction = 2 if way_y == -1
  47.                 p_direction = 8 if way_y == 1
  48.               else
  49.                 p_direction = 1 if way_y == -1
  50.                 p_direction = 4 if way_y == 0
  51.                 p_direction = 7 if way_y == 1
  52.               end
  53.               event.start #开启事件
  54.               return 1, p_direction #返回即将开启事件以及角色朝向
  55.             end
  56.           end
  57.         end
  58.       end
  59.     end
  60.     return 0, 5 #返回不会开启事件以及角色朝向不变
  61.   end
  62.   #--------------------------------------------------------------------------
  63.   # ● 检查鼠标处是否存在自定义事件 for 寻路
  64.   #--------------------------------------------------------------------------
  65.   def check_event_custom_exist(mouse_x, mouse_y)
  66.     for event in $game_map.events.values #循环所有事件检查
  67.       #事件角色图片宽度、高度
  68.       event_width = RPG::Cache.character(event.character_name,event.character_hue).width / $c3_每一步的帧数
  69.       event_height = RPG::Cache.character(event.character_name,event.character_hue).height / 8
  70.       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
  71.         for i in 0...event.list.size
  72.           return 1, event if ["Item", "Npc"].include?(event.list[i].parameters[0]) #返回存在自定义事件以及事件体
  73.         end
  74.       end
  75.     end
  76.     return 0, event #返回不存在自定义事件,以及事件体
  77.   end
  78. end
复制代码

此贴于 2009-5-4 10:45:03 被版主darkten提醒,请楼主看到后对本贴做出回应。
⊕ 每个人的胸怀是靠冤枉撑大的。 ⊕ 走過這些年遇見了人也碰到了狗~! ⊕ 不要因为寂寞去寻找刺激,要去学会享受寂寞。

Lv1.梦旅人

梦石
0
星屑
65
在线时间
433 小时
注册时间
2007-5-1
帖子
993
2
发表于 2009-5-3 05:20:28 | 只看该作者
那啥,其实我想说把那张行走图的上下左右四个方向全部改为同一个样子就行了……

嗯,不能浪费签名了,打广告。本人的悲剧作品:
坑化游戏《龙之影》      R剧《星空》     小游戏《剑与拳头》
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2009-4-10
帖子
34
3
 楼主| 发表于 2009-5-5 02:12:12 | 只看该作者
哎~我当然知道这样了。。。但是我比较懒嘛。。。只好费点时间把素材改下了。。。
⊕ 每个人的胸怀是靠冤枉撑大的。 ⊕ 走過這些年遇見了人也碰到了狗~! ⊕ 不要因为寂寞去寻找刺激,要去学会享受寂寞。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 02:23

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表