✏️
【clusterベータ】ユーザー名つきで(文字の)あいさつをするアイテム
clusterベータ機能により、テキストの入出力が可能になりました!
ということで「てきすとてすと。」というワールドを公開しています。
アイテムの近くに来たユーザーの名前をよぶ
このワールドでは、赤いアイテムの近くに来るとユーザーの名前をつけて「見つけた!」と出るようになっています。
ちょっとテキストを変更し、あいさつするようにしてみました。
このように、スクリプトアイテムの子にtextObjという空のオブジェクトをつくります。小文字・大文字に気をつけてください。
そして textObjに、TextViewを付けてください。 位置は適当に調整しましょう。
const subNode = $.subNode("textObj");
const updatePerSec = 0.5; //何秒に一度チェックするか?
const distance = 1.5; //何m以内に来たらあいさつするか?
function initProc() {
$.state.isInitialized = true;
$.state.tick = 0;
}
$.onUpdate((deltaTime) => {
//初期化処理
if (!$.state.isInitialized) {
initProc();
}
//一定間隔でしか更新しない
$.state.tick += deltaTime;
if($.state.tick < updatePerSec) return;
$.state.tick -= updatePerSec;
let str = "";
//近くのプレイヤーの一覧を取得
$.getPlayersNear($.getPosition(), distance).forEach((player) => {
//そのユーザーの名前+あいさつをstrに追加していく
let userDisplayName = player.userDisplayName;
str += userDisplayName + "さんこんにちは! ";
});
subNode.setText(str);
});
あとはこのスクリプトを親につければOKです。
Discussion