feat: 限制位移区域。

This commit is contained in:
Ivan Li 2022-08-11 18:07:44 +08:00
parent c419d37d4e
commit 74176d4995
2 changed files with 37 additions and 14 deletions

View File

@ -7,15 +7,27 @@ export class Client {
room;
index;
packageIndex = 0;
state = {
x: 0,
y: -887.56,
z: 0,
rotationX: 0,
rotationY: 0,
rotationZ: 0,
animation: 'Running',
nickname: `${this.index}#${this.packageIndex++}`,
characterKey: 'male',
};
constructor(index) {
this.index = index;
this.delta = { x: Math.floor(Math.random() * 2 - 1) * 3, z: Math.floor(Math.random() * 2 - 1) * 3};
}
async joinRoom() {
this.client = new Colyseus.Client('wss://api-meta.sequenxe.com/socket');
this.client = new Colyseus.Client('wss://forwinmeta.sequenxe.com/api/socket');
this.room = await this.client.joinOrCreate("my_room");
this.room = await this.client.joinOrCreate("MyRoom");
this.room.onStateChange((state) => {
if (this.index !== 0) {
return;
@ -29,16 +41,27 @@ export class Client {
}
testOnce() {
this.room.send("updatePlayer", {
x: +Math.random().toFixed(1),
y: +Math.random().toFixed(1),
z: +Math.random().toFixed(1),
rotationX: +Math.random().toFixed(1),
rotationY: +Math.random().toFixed(1),
rotationZ: +Math.random().toFixed(1),
animation: Math.random().toFixed(1),
nickname: Math.random().toFixed(1),
characterKey: `${this.index}#${this.packageIndex++}`,
});
this.state.x = this.delta.x + this.state.x;
this.state.z = this.delta.z + this.state.z;
if(this.state.x < -800) {
this.delta.x = Math.random() * 5 + 5;
this.state.x += this.delta.x;
} else if(this.state.x > 800) {
this.delta.x = -(Math.random() * 5 + 5);
this.state.x += this.delta.x;
};
if(this.state.z < -800) {
this.delta.z = Math.random() * 5 + 5;
this.state.z += this.delta.z;
} else if(this.state.z > 800) {
this.delta.z = -(Math.random() * 5 + 5);
this.state.z += this.delta.z;
}
// this.state.nickname = `${this.index}#${this.packageIndex++}`;
this.room.send("updatePlayer", this.state);
}
}
}

BIN
file Normal file

Binary file not shown.