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

Project1

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

[已经解决] 鼠标响应图片菜单时不触发自动寻径

 关闭 [复制链接]

Lv1.梦旅人

℃ake

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-6-6
帖子
787
11
 楼主| 发表于 2009-8-6 18:52:54 | 只看该作者
自顶两次
回复 支持 反对

使用道具 举报

Lv1.梦旅人

蚂蚁卡卡

梦石
0
星屑
116
在线时间
66 小时
注册时间
2007-12-16
帖子
3081
12
发表于 2009-8-6 21:10:45 | 只看该作者
if trg_x != $game_player.x or trg_y != $game_player.y #若目标不为自身则开始寻路
            if trg_x < 11 or trg_y <=12
             find_path = Find_Path.new
             @paths = find_path.find_player_short_path(trg_x, trg_y, @mtp_x, @mtp_y)
             end
           end

好像还差不太多

Scene_Mouse 593行左右
iam 那个方法 菜单好像就屏蔽 不管用了= =

这个每改一个数字 就是屏幕32 像素
《隋唐乱》完整解密版点击进入
米兰,让我怎么说离开……

曾经我也是一个有志青年,直到我膝盖中了一箭……

《隋唐乱》博客地址
回复 支持 反对

使用道具 举报

Lv1.梦旅人

℃ake

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-6-6
帖子
787
13
 楼主| 发表于 2009-8-7 10:23:47 | 只看该作者
if trg_x != $game_player.x or trg_y != $game_player.y #若目标不为自身则开始寻路
            if trg_x < 11 or trg_y
redant 发表于 2009-8-6 21:10

if trg_x < 11 or trg_y <=12
所表示的屏蔽的坐标为11*32=352 12*32=384。也就是鼠标的所在X小于352,Y小于或等于384的地方才能实现自动寻径。否则不能自动寻径吗?
为何使用后我无论点哪里。每个角落都点遍了,还是没有自动寻径??
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-8-2
帖子
275
14
发表于 2009-8-7 10:51:45 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

℃ake

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-6-6
帖子
787
15
 楼主| 发表于 2009-8-7 11:11:56 | 只看该作者
http://rpg.blue/viewthread.php?tid=116771&highlight=%E4%BA%8B%E4%BB%B6%2B%E7%8E%84%E6%9C%88
详情请参考某人第一个教程 = =
另外注意看最后的补充说明,前面基本作废
只要地图不刷新的话,就算你输入再多 ...
azuredam 发表于 2009-8-7 10:51


对不起,可能是标题误导了你吧。
这个菜单不是用事件做的。
是在SCENE_MAP里面用简单的方法显示图片。然后UPDATA里面鼠标判定图片做出来的菜单。
你那个貌似跟我这个无关的。
貌似我没看出什么关联。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

℃ake

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-6-6
帖子
787
16
 楼主| 发表于 2009-8-7 16:57:30 | 只看该作者
自顶三次
回复 支持 反对

使用道具 举报

Lv1.梦旅人

℃ake

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-6-6
帖子
787
17
 楼主| 发表于 2009-8-7 19:59:20 | 只看该作者
if trg_x != $game_player.x or trg_y != $game_player.y #若目标不为自身则开始寻路
            if trg_x < 11 or trg_y
redant 发表于 2009-8-6 21:10



我知道为什么搬回我的游戏里就点哪里都不能生效了。
您写的是屏蔽的图块而不是屏幕坐标。
也就是把那几个地图图块屏蔽不能自动寻径。
但是当地图比较大的时候。
(比如您可以把原工程的地图换成2倍的宽和高)
初始点不同的时候。
点的位置就不同了。
我那游戏刚好整块屏幕都在屏幕范围内。
因为那个图块都超过了11格。
只有在最左上角的11格以内才可以自动寻径。

明白我的意思了吗?
所以这个方法行不通。
不能光屏蔽图块,
而是要屏蔽屏幕的具体坐标。
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

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

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6545
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

19
发表于 2009-8-7 22:30:47 | 只看该作者
本帖最后由 后知后觉 于 2009-8-7 22:46 编辑

鼠标脚本我还没看过
思路就是 点击左键在地图上为走路
那你就在Scene_Map里搜索对鼠标左键按下的判断
不管你是点菜单还是点地面 最初的都是要先点 鼠标左键 这是大前提
只要找到这个判断的地方
再找到设置移动的地方  move_to之类的句子 又或者是自动寻路的方法
对这些东西进行鼠标当前坐标的判断就行了- -
现在没空看脚本- -

如果你实在是看不懂哪一行是设置移动的语句的话
有一个比较恶劣的招
把你自己写的判断鼠标左键被按下的内容和
默认的鼠标左键被按下的判断的内容融合
但是一定要把你写的内容放在最上面
在切换$scene的下面加一行 return
这样就是当鼠标左键被按下的时候
首先判断的就是你自己的坐标范围响应菜单的东西
如果条件成立 这个时候就会对$scene进行改变
改变了这个$scene之后立即用return结束这个方法
这样就拦截了鼠标被按下左键的信息
也就不会再执行后面的东西了
而且这样只有在改变了$scene之后才会拦截
意思就是说你要把自己的内容先进行是否可见的判断
在可见的情况下再进行坐标范围的判断
这样子在这些东西不可见的时候 按那个地方左键也可以正常行走











你知道得太多了

回复 支持 反对

使用道具 举报

Lv1.梦旅人

℃ake

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-6-6
帖子
787
20
 楼主| 发表于 2009-8-8 12:49:43 | 只看该作者
感谢后知后觉的提示。
已经成功解决了,其实也挺简单的嘛,哈哈,只要找到了合适的地方。
我爱66RPG,但我讨厌66.
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-29 22:40

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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