查看: 3436|回复: 11

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

  [复制链接]
梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-3-7
回帖
86
发表于 2007-8-7 03:07:59 | 显示全部楼层 |阅读模式

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

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

×
请教一下各位,在rpg中能实现鼠标拖动的功能吗?就是假设有一个容器和几个物品,要求玩家通过鼠标将物品拖动到容器中。如何可以,请问如何设置,能否给个思路?谢谢!
版务信息:本贴由楼主自主结贴~
眼睛看不到的地方,心可以达到;心达不到的地方,想象可以飞到。
梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-3-7
回帖
86
发表于 2007-8-7 03:07:59 | 显示全部楼层 |阅读模式

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

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

×
请教一下各位,在rpg中能实现鼠标拖动的功能吗?就是假设有一个容器和几个物品,要求玩家通过鼠标将物品拖动到容器中。如何可以,请问如何设置,能否给个思路?谢谢!
版务信息:本贴由楼主自主结贴~
眼睛看不到的地方,心可以达到;心达不到的地方,想象可以飞到。
头像被屏蔽
梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-5-11
回帖
193
发表于 2007-8-7 03:11:40 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-3-7
回帖
86
 楼主| 发表于 2007-8-7 03:30:58 | 显示全部楼层
能够给个思路吗?谢谢了……
眼睛看不到的地方,心可以达到;心达不到的地方,想象可以飞到。
回复

使用道具 举报

梦石
0
星屑
431
在线时间
125 小时
注册时间
2006-11-2
回帖
1177
发表于 2007-8-7 04:26:26 | 显示全部楼层
判断 当鼠标按下的时候 update 根据鼠标位置来改变图片的坐标

至于如何判断鼠标按下 记得石焚刃暖中有按下鼠标则人物跟随鼠标行走的脚本

具体不记得了,很久没研究鼠标系统的说……
和记忆一起封存着的ID...
回复

使用道具 举报

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

拖动我已经做出来了

恩,但是有个小问题

多张图片在一起时,会一起动
回复

使用道具 举报

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

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

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

使用道具 举报

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-3-7
回帖
86
 楼主| 发表于 2007-8-7 05:21:20 | 显示全部楼层
谢谢K’和幻の飞鱼。
不知道幻の飞鱼能不能讲讲你的思路呢?
谢谢了!
眼睛看不到的地方,心可以达到;心达不到的地方,想象可以飞到。
回复

使用道具 举报

梦石
1
星屑
916
在线时间
101 小时
注册时间
2006-3-27
回帖
1019
发表于 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感谢您的热情解答~
回复

使用道具 举报

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-3-7
回帖
86
 楼主| 发表于 2007-8-7 05:44:03 | 显示全部楼层
谢谢你,幻の飞鱼。
我试试。
眼睛看不到的地方,心可以达到;心达不到的地方,想象可以飞到。
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部