xxxxxxxxxx
86
/* 説明
最初にプレビュー画面をクリックしてペアリング!
操作方法
↑:前進
↓:後退
←:左旋回
→:右旋回
a:底部ライト色変更
b:音楽再生
c:目的地へ移動
*/
const s = 30; //移動スピード
const d = 50; //移動継続時間
let i = 0;
const colorArray = ["white","red","green","orange","blue","yellow"]
const gCubes = [];
function setup() {
createCanvas(400, 400);
}
function draw() {
background(220);
textSize(64);
stroke("black");
text("Click Here!",20,200);
}
function mouseClicked() {
P5tCube.connectNewP5tCube().then((cube) => {
gCubes.push(cube);
cube.turnLightOn("white");
});
}
function keyPressed() {
console.log(keyCode);
switch (keyCode) {
case UP_ARROW:
gCubes[0]?.move(s, s, d);
break;
case RIGHT_ARROW:
gCubes[0]?.move(s, 0, d);
break;
case LEFT_ARROW:
gCubes[0]?.move(0, s, d);
break;
case DOWN_ARROW:
gCubes[0]?.move(-s, -s, d);
break;
case 65: // a
i = i % 6;
gCubes[0]?.turnLightOn(colorArray[i]);
i++;
break;
case 66: // b
gCubes[0]?.playMelody([
{ note: 0x3c, duration: 0x1e },
{ note: 0x3e, duration: 0x1e },
{ note: 0x40, duration: 0x1e },
{ note: 0x41, duration: 0x1e },
{ note: 0x43, duration: 0x1e },
{ note: 0x45, duration: 0x1e },
{ note: 0x47, duration: 0x1e },
{ note: 0x48, duration: 0x1e },
]);
break;
case 67: //c
const targetMat = P5tId.SimpleTileMat;
//const targetMat = P5tId.DevMat02;
gCubes[0]?.moveTo(targetMat.getTileCenter(2,2), 80);
//gCubes[0]?.moveTo(50,50,255);
//う〜ん、わからん!!!!
break;
case 68: // d
gCubes[0]?.stop();
break;
default:
break;
}
}