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

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: fuyanbin
打印 上一主题 下一主题

图片相应鼠标问题

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
60
在线时间
51 小时
注册时间
2008-1-23
帖子
20
11
 楼主| 发表于 2008-10-3 21:54:05 | 只看该作者
先感谢你热心的帮助
然后上工程 - -
http://rpg.blue/upload_program/goods/鼠标_103470583.rar

你搞个图片叫 cmd20_测试 就行了 你是专家 肯定比我明白 还是你自己看吧……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

辉瑞中国首席研究员<

梦石
0
星屑
50
在线时间
142 小时
注册时间
2008-1-18
帖子
2129
12
发表于 2008-10-4 00:07:55 | 只看该作者
先把下面脚本替换原来的鼠标响应图片脚本

我先声明这只是个简单实现功能的脚本 = =

  1. $lock = false
  2. class Game_Picture

  3. def name=(str)
  4.    @name = str
  5. end

  6. end

  7. class Sprite_Picture

  8. alias update_old update
  9. def update
  10.    update_old
  11.    return if @picture_name == "" or @picture_name[/cmd/].nil?
  12.     xy = Mouse.pixels
  13.     mx = xy[0]
  14.     my = xy[1]
  15.    lx = self.x - self.ox
  16.    rx = lx + self.bitmap.width
  17.    ty = self.y - self.oy
  18.    by = ty + self.bitmap.height
  19.   
  20.    if mx > lx and mx < rx and my > ty and my < by then
  21.        $lock = true
  22.        @picture.name.split(/_/)[0] =~ /cmd([0-9]+)/
  23.        s =  $1

  24.       if Mouse.click?(1) then
  25.         $game_temp.common_event_id = s.to_i
  26.        else  $lock = false
  27.       end
  28.    end

  29. end

  30. end
复制代码


class Scene_Map < Scene_Base
  alias wor_scemap_ini_mouse initialize
  alias wor_scemap_upd_mouse update
  def initialize
    @last_click = [nil, nil]
    wor_scemap_ini_mouse
  end
  
  def update
    wor_scemap_upd_mouse
    mouse_xy = Mouse.map_pos
    if Mouse.click?(1) and !mouse_xy.nil? and !$game_message.visible and
      !$game_map.interpreter.running?
      $game_player.turn_toward_pos(mouse_xy[0], mouse_xy[1])
      if $game_player.close?(mouse_xy[0],mouse_xy[1]) and
        $game_player.check_action_event
        $game_player.clear_path
        return
      end
      if $game_map.passable?(mouse_xy[0], mouse_xy[1])
        $game_player.find_path(mouse_xy[0], mouse_xy[1])
      end
      @last_click = mouse_xy
    end
    if Mouse.click?(3) and !mouse_xy.nil? and !$game_message.visible and
      !$game_map.interpreter.running?
      $game_player.clear_path
      $game_player.turn_toward_pos(mouse_xy[0], mouse_xy[1])
    end
  end
end

找到if Mouse.click?(1) and !mouse_xy.nil? and !$game_message.visible and
      !$game_map.interpreter.running?
改为if Mouse.click?(1) and !mouse_xy.nil? and !$game_message.visible and
      !$game_map.interpreter.running? and !$lock

这是为了解决点击图片,人物回寻路的问题

忘记讲命名规则cmd1_1
cmd+公共事件编号_+图片名字
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
来6r就是等某位仁兄的巨坑

褴褛着身行无端,囊中羞涩空心酸。
平生几无得意事,倒塔泡面宅寝室。
惟羡隔壁高帅富,雨露春风月夜声。
青丝无处觅其踪,只有硬盘苍井空。
莫云男儿空悲愁,鸿鹄岂不天际游。
坐断天下执鹿首,千百金帛万兜鍪。
夜深忽梦某年月,再见女神欲语迟。
吊丝终有逆袭日,木耳再无回粉时。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
51 小时
注册时间
2008-1-23
帖子
20
13
 楼主| 发表于 2008-10-4 03:33:44 | 只看该作者
太感谢了,按照你的方法已经成功了!谢谢!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-1 23:28

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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