ich mit folgendem Code begann auf eine XZ-Scheibe eine Bot Bewegung zu haben, die einen Block erstellt, die auf einer geraden Linie bewegt:versuchen zufällig mit Threejs
const bot_geometry = new THREE.BoxGeometry(1,1,1);
const bot_material = new THREE.MeshBasicMaterial({color: 0x7777ff, wireframe: false});
const bot = new THREE.Mesh(bot_geometry, bot_material);
bot.position.x = 1;
bot.position.y = 0;
bot.position.z = 1;
scene.add(bot);
//create random directions for bot
let direction = new THREE.Vector3(0.001, 0, 0.002); // amount to move per frame
function animate() {
bot.position.add(direction); // add to position
requestAnimationFrame(animate); // keep looping
}
requestAnimationFrame(animate);
ich versuche es zufällig auf dem machen bewegen Flugzeug und versuchte, die folgenden zwei Linien für die Richtung zu verwenden, aber jetzt habe ich zwei Blöcke, die sich auf einer geraden Linie entgegengesetzt von einander bewegen. Gibt es eine einfache Möglichkeit, ein Bot bewegen zufällig auf der Ebene haben ?:
let reverseDirection = Math.floor(Math.random()*2) == 1 ? 1 : -1;
let direction = new THREE.Vector3(0.001*reverseDirection, 0, 0.002*reverseDirection);
'clone()' ruft 'new' auf. Vermeiden Sie unnötige Aufrufe von 'clone()' oder 'new' in der Animationsschleife. – WestLangley
Ja. Sehr richtig. Danke für das Zeigen, @WestLangley – prisoner849