用户:
SCS_user_LoeheodVOQ查看:8 回复:9 评论:8 创建时间:2022-11-26T16:41:12
SCS_user_LoeheodVOQ目前代码:
((global, noGlobal) => {
var version = "0.2.0-beta",
bQuery = function (selector) {
return new bQuery.init(selector);
};
Object.assign(bQuery, {
version: version,
init: function (selector) {
if (selector) {
Object.assign(this, {
get ens() { return world.querySelectorAll(selector) },
toString: () => this.ens.toString(),
get en() { return this.ens.length === 1 ? this.ens[0] : this.ens },
pos(pos) {
if (!arguments.length) {
return this.ens[0].position;
}
if (Array.isArray(pos)) {
pos = bQuery.vect3(...pos);
} else if (arguments.length === 3) {
pos = bQuery.vect3(...arguments);
}
this.ens.forEach(e => {
e.position.copy(pos);
});
},
vel(vel) {
if (!arguments.length) {
return this.ens[0].velocity;
}
if (Array.isArray(vel)) {
vel = bQuery.vect3(...vel);
} else if (arguments.length === 3) {
vel = bQuery.vect3(...arguments);
}
this.ens.forEach(e => {
e.velocity.copy(vel)
});
},
col(col) {
if (!arguments.length) {
return this.ens[0].collides;
}
this.ens.forEach(e => {
e.collides = col;
});
},
mesh(mesh) {
if (!arguments.length) {
return this.ens[0].mesh;
}
if (!/^mesh\/.*\.vb$/.test(mesh)) {
if (!/.*\.vb$/.test(mesh)) {
mesh += '.vb';
}
if (!/\/.*\.vb$/.test(mesh)) {
mesh = '/' + mesh;
}
if (!/^mesh\//.test(mesh)) {
mesh = 'mesh' + mesh;
}
}
this.ens.forEach(e => {
e.mesh = mesh;
});
},
color(color) {
if (!arguments.length) {
return this.ens[0].meshColor;
}
if (Array.isArray(color)) {
color = color.length === 4 ? bQuery.rgb(...color) : bQuery.rgb(...color, 1);
} else if (arguments.length === 3 || arguments.length === 4) {
color = arguments.length === 4 ? bQuery.rgba(...arguments) : bQuery.rgba(...arguments, 1);
}
console.log(color)
this.ens.forEach(e => {
e.meshColor.copy(color);
});
},
scale(scale) {
if (!arguments.length) {
return this.ens[0].meshScale;
}
if (Array.isArray(scale)) {
scale = bQuery.vect3(...scale);
} else if (arguments.length === 3) {
scale = bQuery.vect3(...arguments);
} else if (typeof scale === "number" && !isNaN(scale)) {
scale = bQuery.vect3(scale, scale, scale);
}
this.ens.forEach(e => {
e.meshScale.copy(scale);
});
},
orien(orien) {
if (!arguments.length) {
return this.ens[0].meshOrientation;
}
if (Array.isArray(orien)) {
orien = bQuery.quat(...orien);
} else if (arguments.length === 4) {
orien = bQuery.quat(...arguments);
}
this.ens.forEach(e => {
e.meshOrientation.copy(orien);
});
}
});
} else {
Object.assign(this, bQuery);
}
},
log: console.log,
warn: console.warn,
err: console.error,
clear: console.clear,
say: world.say,
rgb: (r, g, b) => new Box3RGBColor(r, g, b),
rgba: (r, g, b, a) => new Box3RGBAColor(r, g, b, a),
rgb255: (r, g, b) => bQuery.rgb(r / 255, g / 255, b / 255),
rgba255: (r, g, b, a) => bQuery.rgba(r / 255, g / 255, b / 255, a / 255),
vect3: (x, y, z) => new Box3Vector3(x, y, z),
quat: (w, x, y, z) => new Box3Quaternion(w, x, y, z)
});
console.log(new bQuery.init('player').toString())
if (!noGlobal) {
global.$ = global.bQuery = bQuery;
}
return bQuery;
})(global)点赞2
评论