si_12
本帖最后由 hahahawtf123 于 2019-2-16 11:24 编辑

          我在做Gui的时候发现一个问题

        我设置了点击gui内物品 取消时间,防止玩家把物品拿下来

然后我在该Gui内设置了一个物品,点击就关闭背包

然后我用数字键点击该物品,将其放入背包,然后那个Gui面板就关闭了

我也把物品拿下来了

怎么办?

我已经setCancelled(true)了

(点击其他物品都会取消的)

              



坐等大佬



                     我把物品卡下来后 放置在地面上后台就报错了



Dante_7
一个小时了, 为什么还没有 dalao 来呢? 我来猜一下: 不贴代码问个屁问题

berry64
evt.setCursor(null);

si_12
凋灵兔子 发表于 2019-2-16 10:34
一个小时了, 为什么还没有 dalao 来呢? 我来猜一下: 不贴代码问个屁问题

这就上图

si_12

大佬 还是不行,用数字键可以直接放进背包里

si_12
Aemo 发表于 2019-2-16 12:02
语句:event.setCanceled(true);应该放在语句:evevt.getWhoClicked().closeInventory();之前,能不能把代码 ...

我就是写在这个前面的

第一张图里有写的 在第二个if下面一行

海螺螺
这玩意儿应该没有被拿下来,你的背包没有和服务器同步,可以用 player.updateInventory()

另外,在写箱子gui时每个人可能都会犯的错误
player.closeInventory()和player.updateInventory()不应该直接被调用,这个事件的javadocs描述如下,请自己翻译一遍,我觉得你能看懂


还有你NPE了

si_12
谢谢大佬们 我懂了qwq

langyo
hahahawtf123 发表于 2019-2-16 12:36
谢谢大佬们 我懂了qwq

需要回复,请点击对应楼层左下角的回复按钮

请尽量不要自己顶自己的帖子,这里的发帖习惯和百度贴吧不太一样

si_12
langyo 发表于 2019-2-16 14:41
需要回复,请点击对应楼层左下角的回复按钮

请尽量不要自己顶自己的帖子,这里的发帖习惯和百度贴吧不太 ...

哦哦 谢谢提醒

第一页 上一页 下一页 最后一页