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

Project1

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

在rpg中能否实现鼠标拖动的功能

 关闭 [复制链接]

Lv3.寻梦者

梦石
1
星屑
916
在线时间
101 小时
注册时间
2006-3-27
帖子
1081
1
发表于 2007-8-7 04:34:41 | 显示全部楼层
刚才试了一下

拖动我已经做出来了

恩,但是有个小问题

多张图片在一起时,会一起动
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
1
星屑
916
在线时间
101 小时
注册时间
2006-3-27
帖子
1081
2
发表于 2007-8-7 05:18:07 | 显示全部楼层
已经上传
基本效果已经有了

就是那个多图片叠在一起会一起动的问题不知道怎么处理好

看谁来帮一下
http://rpg.blue/upload_program/files/拖动.rar
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
1
星屑
916
在线时间
101 小时
注册时间
2006-3-27
帖子
1081
3
发表于 2007-8-7 05:27:36 | 显示全部楼层
下载范例看一下脚本就知道了

关键是这么几句,我注释一下,你研究一下就会明白

就是这么写的话,那个问题排除不了,我一下也想不到什么很好的办法

  1.    return if @picture_name == "" or @picture_name[/td/].nil? #如果文件名不包含td就返回
  2.    
  3.    @mx,@my = Mouse.get_mouse_pos #获得目前鼠标位置
  4.    lx = self.x - self.ox #取得图片最左端坐标
  5.    rx = lx + self.bitmap.width #最右端
  6.    ty = self.y - self.oy #最上端
  7.    by = ty + self.bitmap.height #最下端
  8.    
  9.    if @picture.td #如果td属性打开,图片坐标跟随鼠标
  10.      @picture.x = @dx + @mx
  11.      @picture.y = @dy + @my
  12.    end
  13.    
  14.    if @mx > lx and @mx < rx and @my > ty and @my < by and self.bitmap.get_pixel(@mx-lx,@my-ty).alpha != 0
  15.      # 如果鼠标在图片内,而且该点不为透明的话
  16.      if Input.trigger?(13)#如果按下鼠标
  17.        @dx = @picture.x - @mx #获得图片顶端坐标和鼠标之间的距离
  18.        @dy = @picture.y - @my
  19.        @picture.td = true #开td属性
  20.      end
  21.      @picture.td = false if !Input.press?(13) #如果鼠标没有处于按住状态,td属性关闭
  22.    end
复制代码

系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
1
星屑
916
在线时间
101 小时
注册时间
2006-3-27
帖子
1081
4
发表于 2007-8-7 05:46:48 | 显示全部楼层
我做的范例,你可以参考一下,功能还不完善

http://rpg.blue/upload_program/files/拖动.rar
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-23 00:17

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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