第189章 ,/.

我们先不管teleport。来回顾回顾我们当时学坐标的时候,我在章末写了如下内容:

『相对坐标的原点实际是因指令而异的,在大部分情况下原点即是指令执行的位置,但也有特殊的情况,如Java1.13版本之前的/tp指令。』

唉,这个/tp怎么就特殊了呢?

我在第九章有举一个例子:/tp @p ~~~ 90 0

当时,我举这个例子是用来说明旋转角度的使用,并给出了如下解释:

『这将会使最近的玩家朝向正西而不改变其位置。』

重点来了!如果tp的相对坐标是采用指令执行的位置作为原点,那么当这条指令在命令方块里运行的时候,应该是会把这名玩家传送到命令方块的位置并让其朝向正西方向,而不是让他留在原地。而事实是他留在了原地,并没有被传过来。

这说明了什么?

这说明了,tp指令的相对坐标采用的是传送目标的位置作为原点,而非指令执行的位置。

那如果我们把tp换成teleport呢?

运行/teleport @p ~~~ 90 0,然后你就会惊喜的发现,那名玩家不仅仅再次朝向了正西,还跑到了命令方块那里!

这就是teleport与tp最大的区别。当然,在现在的基岩版和最新的Java版中,tp也已经变成以指令执行的位置作为相对坐标的原点了,所以如果你在基岩版或最新的Java版运行上述两个指令,将会得到一模一样的结果。

但别忘了,除了相对坐标,还有相对旋转角度呢!让我们来看看我在第九章举的另一个例子:

『/tp @p ~~~~-30 ~1

小主,