バーチャルオフィス(gather)でクルクル
テトがいると…
クルクル回りたくなりますよね
でも自分でクルクル回すのはなかなか大変…
なので自動化してみました!
node.jsで自動的にクルクル
node.jsの環境構築は以下の記事をご覧ください
上記の記事でindex.jsを作成しましたが、以下のように書き換えます
const {API_KEY, SPACE, MAP, ID} = require("./api-key");
const {Game} = require("@gathertown/gather-game-client");
global.WebSocket = require("isomorphic-ws");
/**** setup ****/
// what's going on here is better explained in the docs:
// https://gathertown.notion.site/Gather-Websocket-API-bf2d5d4526db412590c3579c36141063
const game = new Game(SPACE, () => Promise.resolve({apiKey: API_KEY}));
// replace with your spaceId of choice ^^^^^^^^^^^
game.connect();
game.subscribeToConnection((connected) => {
console.log("connected?", connected)
});
/**
* プレイヤー回転
* @param steps ステップ数
* @returns {Promise<void>}
*/
async function movePlayer(steps)
{
let sleep = 250;
for (let i = 0; i < steps; i++)
{
// 下
game.move(3, true);
await new Promise((resolve) => setTimeout(resolve, sleep));
// 左
game.move(0, true);
await new Promise((resolve) => setTimeout(resolve, sleep));
// 上
game.move(2, true);
await new Promise((resolve) => setTimeout(resolve, sleep));
// 右
game.move(1, true);
await new Promise((resolve) => setTimeout(resolve, sleep));
}
}
// プレイヤーのエモートを読み取る
game.subscribeToEvent("playerSetsEmoteV2", (data, context) => {
const emote = data.playerSetsEmoteV2.emote;
switch (emote){
case "🍸":
movePlayer(1000).then(() => {});
break;
}
});
このスクリプトでは、特定のエモーション(🍸)を行ったときに、1000回転するスクリプトとなります
ちょっと踊ってみたので、動画を作ってみました
皆さんも是非踊ってみてください!
いいなと思ったら応援しよう!
よろしければ応援お願いします!
いただいたチップはクリエイターとしての活動費に使わせていただきます!