第三節 畫一個圓
接下來用粒子畫圓,圓形粒子只需要兩個指令。
首先你需要一個盔甲架,命名為1,作為圓心。
execute as @e[name=1] at @s run tp @s ~ ~ ~ ~2 ~
這是第一條指令,意思是讓盔甲架原地旋轉2度
指令解讀:
as,指令執行者,
@e ,選擇器,選擇實體
[name=1],選擇器的附加條件,@e[name=1] 的意思是選擇名字為"1"的實體
at,指令執行位置
@s,當前實體,指指令執行位置是執行者本身
run,運行後面的命令,後面的命令不需要加"/"
"tp @s ~ ~ ~ ~2 ~",以自己為圓心,讓自己原地不動旋轉2度。放入循環命令方塊就是命令方塊每次執行都會讓實體自己原地不動旋轉2度。
放入循環命令方塊,就是盔甲架一直自轉的效果,速度為 "2","2" 就是 "tp @s ~ ~ ~ ~2 ~" 里的 "2",指每次執行指令後所旋轉的角度。
數學課上老師教過的畫圓方法,確定圓心,確定半徑。一個點以固定距離繞圓心轉一周經過的路徑就是一個圓。
所以,
execute at @e[name=1] run particle minecraft:end_rod ^ ^1 ^5
然後這就是第二個指令,這個指令的意思是在盔甲架的5格外召喚一個粒子,5就是這個圓的半徑。
指令解讀:
at,指令執行位置(執行者)
@e[name=1] ,選擇器
run,運行後面的命令
"particle minecraft:end_rod ^ ^1 ^5",是一個召喚粒子的命令
minecraft:end_rod,就是末地燭燈管旁邊的粒子,粒子本身是純白色,並且具有發光效果,夜晚看起來效果很棒,是很多粒子法陣的首選。
"^ ^1 ^5",是一個相對位置的坐標
注意這個坐標里出現了 ^ 這個符號
這是一個很新的東西,不同於 ~
~ 也是相對坐標,這兩個的區別相當於3d軟體里的世界坐標與物品坐標,是引用了兩個不同的坐標系。
拿現實來說,~ 是東南西北為坐標系,位置固定。你如果只是站在原地不動,不管你怎麼旋轉,在你北邊的物品一直不會變位置,始終在那,因為北方這個方位不會因為你的旋轉而改變。
而 ^ 是物品坐標,是以實體的前後左右為判斷標准,坐標系的根據是實體的視線。如果一個物品的位置要保證一直在你的右前方,那麼你如果轉了,它也得改變方位,這就是粒子旋轉的基本思維。在舊版本,是需要用計分板來精準計算實體旋轉的角度差來決定把粒子的位置移動到哪。而1.16.5,只需要把 ~ ~1 ~5 換成 ^ ^1 ^5 就行了。
輸入命令,粒子轉起來了,出現了圓弧!
但這個速度遠遠不夠,粒子會由於時間關係自行消散,這樣是湊不出一個完整的圓,這怎麼辦呢?
那就把這個機關多羅列幾個,像這樣:
然後圓就出來了:
夜晚:
【附】舉一反三:
同心圓,雙圓。
末地燭粒子雖然能發光,但不能改顏色,怎麼辦呢?
我們可以使用帶有顏色參數的dust粒子。
但要注意,dust粒子的壽命比end_rod短,消散掉的速度比end_rod快,即使是重複好幾遍也畫不出一個完整的圓,怎麼辦呢?
那就在原盔甲架的位置再放一個盔甲架,命名為2
注意,兩個盔甲架的初始角度要相差90度
原理是通過分段繪製圓的方法來補足圓形
第一個命令:execute as @e[name=1] at @s run tp @s ~ ~ ~ ~4 ~
讓圓心"1"自我旋轉,轉速為"4"
第二個命令:execute at @e[name=1] run particle minecraft:dust 1 1 0 1 ^ ^1 ^5
給盔甲架"1"身邊加一圈粒子。
第三個命令:execute as @e[name=2] at @s run tp @s ~ ~ ~ ~4 ~
讓圓心"2"自我旋轉,轉速為"1"
第四個命令:execute at @e[name=2] run particle minecraft:dust 1 1 0 1 ^ ^1 ^5
給盔甲架"2"身邊加一圈粒子。
這里"minecraft:dust"後面,坐標前面有四個數字,是"minecraft:dust"粒子必需的四個參數。
前三個數字決定了dust粒子的顏色,這里的"1 1 0"組合是金黃色,第四個數字"1"是粒子的大小。
輸入完畢,羅列:
成品: