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

Project1

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

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

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-3-7
帖子
109
跳转到指定楼层
1
发表于 2007-8-7 03:07:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
请教一下各位,在rpg中能实现鼠标拖动的功能吗?就是假设有一个容器和几个物品,要求玩家通过鼠标将物品拖动到容器中。如何可以,请问如何设置,能否给个思路?谢谢!
版务信息:本贴由楼主自主结贴~
眼睛看不到的地方,心可以达到;心达不到的地方,想象可以飞到。

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-3-7
帖子
109
2
 楼主| 发表于 2007-8-7 03:07:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
请教一下各位,在rpg中能实现鼠标拖动的功能吗?就是假设有一个容器和几个物品,要求玩家通过鼠标将物品拖动到容器中。如何可以,请问如何设置,能否给个思路?谢谢!
版务信息:本贴由楼主自主结贴~
眼睛看不到的地方,心可以达到;心达不到的地方,想象可以飞到。
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-5-11
帖子
193
3
发表于 2007-8-7 03:11:40 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-3-7
帖子
109
4
 楼主| 发表于 2007-8-7 03:30:58 | 只看该作者
能够给个思路吗?谢谢了……
眼睛看不到的地方,心可以达到;心达不到的地方,想象可以飞到。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
327
在线时间
113 小时
注册时间
2006-11-2
帖子
1200
5
发表于 2007-8-7 04:26:26 | 只看该作者
判断 当鼠标按下的时候 update 根据鼠标位置来改变图片的坐标

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

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

使用道具 举报

Lv3.寻梦者

梦石
1
星屑
916
在线时间
101 小时
注册时间
2006-3-27
帖子
1081
6
发表于 2007-8-7 04:34:41 | 只看该作者
刚才试了一下

拖动我已经做出来了

恩,但是有个小问题

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

使用道具 举报

Lv3.寻梦者

梦石
1
星屑
916
在线时间
101 小时
注册时间
2006-3-27
帖子
1081
7
发表于 2007-8-7 05:18:07 | 只看该作者
已经上传
基本效果已经有了

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

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

使用道具 举报

Lv1.梦旅人

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

使用道具 举报

Lv3.寻梦者

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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-3-7
帖子
109
10
 楼主| 发表于 2007-8-7 05:44:03 | 只看该作者
谢谢你,幻の飞鱼。
我试试。
眼睛看不到的地方,心可以达到;心达不到的地方,想象可以飞到。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-2 06:57

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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