494308843
本帖最后由 494308843 于 2016-4-11 22:54 编辑

最近在做RPG插件来着

不知道怎么获取玩家所指的实体

有谁知道么

获取所有实体的位置然后对比  效率好像太低了 容易卡死


还有不懂函数.

2个坐标在 三维坐标系里

第一目标看向第二个
求YAW PITCH
怎么弄(做插件用)



4one_R
往指针所指的地方射个雪球

494308843
4one_R 发表于 2016-4-12 18:27
往指针所指的地方射个雪球

无言以对
话说会摔落的吧
不能立即获得目标吧

云闪
494308843 发表于 2016-4-12 18:55
无言以对
话说会摔落的吧
不能立即获得目标吧

可能只有这个办法了,把雪球的速度调到非常大就好了
_(:_」∠)_如果你翻一下我的发帖记录就会发现我很久以前就问过这个问题了_(:_」∠)_然而至今也只有这个解决方法虽然这个办法是异步的,但是也找不到其它方法了

494308843
splt 发表于 2016-4-12 20:53
可能只有这个办法了,把雪球的速度调到非常大就好了
_(:_」∠)_如果你翻一下我的发帖记录就会发现我很久以 ...

可以获取所有实体

然后计算 玩家是否看着实体碰撞箱区域

但是会不会效率太低了

云闪
494308843 发表于 2016-4-12 22:38
可以获取所有实体

然后计算 玩家是否看着实体碰撞箱区域

不是太低………这个效率会低到令人发指!如果只有几个玩家还勉强能用,如果玩家多了…………

其实你不用获取服务器所有实体,可以直接获取玩家附近的所有实体_(:_」∠)_但是效率仍然很低

Narcissu14
getEyeLocation()   然后for + getNearbyEntities(Location, double, double, double)
我还是小白..感觉就是这样弄吧。。

q513902026
本帖最后由 q513902026 于 2016-4-13 12:45 编辑

https://bukkit.org/threads/getta ... ng-like-this.59837/https://bukkit.org/threads/solve ... 75168/#post-1115576还有https://bukkit.org/threads/possi ... 86313/#post-2622587
Bukkit也有过相同的问题

494308843
splt 发表于 2016-4-12 20:53
可能只有这个办法了,把雪球的速度调到非常大就好了
_(:_」∠)_如果你翻一下我的发帖记录就会发现我很久以 ...

8楼的你看看
第一个总觉得效率是不是有点低

4one_R
494308843 发表于 2016-4-12 22:38
可以获取所有实体

然后计算 玩家是否看着实体碰撞箱区域

非常低

云闪
494308843 发表于 2016-4-13 20:40
8楼的你看看
第一个总觉得效率是不是有点低

我看了,三个好像差不多,我觉得就用第二个可以了,但是它那里有一个player.getWorld().getPlayer()然后不处理就直接遍历计算了,我觉得遍历全世界的玩家效率低了点,你可以改成:
一、获取附近实体再除掉非玩家实体的,好像是getNearlyEntities..不确定
二、获取世界所有玩家除掉距离过远的

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