マインクラフト MakeCode プログラミング。
チュートリアル、コードチェック編。
Spleef のコードチェックページです。
player.onChat("spleef", function (num1) {
blocks.fill(
Block.Lava,
positions.create(0, -1, 0),
positions.create(num1, -1, num1),
FillOperation.Replace
)
blocks.fill(
Block.Snow,
positions.create(0, 4, 0),
positions.create(num1, 4, num1),
FillOperation.Replace
)
mobs.teleportToPosition(
mobs.target(TargetSelectorKind.AllPlayers),
positions.create(num1 / 2, 5, num1 / 2)
)
gameplay.setGameMode(
GameMode.Survival,
mobs.target(TargetSelectorKind.AllPlayers)
)
})
新しく出てきたのは
mobs.teleportToPosition(
mobs.target(TargetSelectorKind.AllPlayers),
positions.create(num1 / 2, 5, num1 / 2)
)
gameplay.setGameMode(
GameMode.Survival,
mobs.target(TargetSelectorKind.AllPlayers)
)
の2種類。
プレイヤーやエンティティをテレポートさせる
プレイヤーやエンティティのゲームモードを変更する
の2つです。
player.エンティティの詳しい説明はatwikiで。
まずはこちらの
mobs.teleportToPosition(
mobs.target(TargetSelectorKind.AllPlayers),
positions.create(num1 / 2, 5, num1 / 2)
)
から見ていきましょう。
mobs.teleportToPosition(
mobs.target(TargetSelectorKind.対象の指定),
positions.create(座標の指定)
)
プレイヤーもエンティティもすべて”mobs”です。
違和感がある方もいるかもしれません。
MakeCodeをコード表示にして左のグループを見てみるとわかりやすいのですが上から
プレイヤー、ブロック、生き物、エージェント、ゲームプレイ、ポジション、ループ のグループに分かれていてさらに細かい命令があります。
実際のコードで示すとそれぞれ
player. blocks. mobs. agent. gameplay. positions. loops.から書き始まります。
つまりMakeCodeでの記述形式は
ブロックのグループ名.実際の命令(細かい指定等)
となっているようです。
ですから生き物のブロックグループに入っているものはすべてmobs.から始まります。
そのほかの指定方法も特に難しいことはなく今まで同様の構文やルールのようです。
次に
gameplay.setGameMode(
GameMode.Survival,
mobs.target(TargetSelectorKind.AllPlayers)
)
です。
gameplay.setGameMode(
GameMode.ゲームモードの種類,
mobs.target(TargetSelectorKind.対象の指定)
)
となっています。
ゲームモードを変えるプログラムは面白いですね。
今回のチュートリアルもそうですが、クリエイティブのワールドで遊んでいて特定のエリアに入るとサバイバルになって遊ぶとか可能性が広がりますね。
コメント