From 15ea95e95662dce507e3d0ee5492d3c72b9ba608 Mon Sep 17 00:00:00 2001 From: kondamounika873-del Date: Sun, 9 Aug 2026 16:04:30 +0530 Subject: [PATCH] Update index.mdpython open_world.py --- docs/gdevelop5/publishing/index.md | 2130 +++++++++++++++++++++++++++- 1 file changed, 2127 insertions(+), 3 deletions(-) diff --git a/docs/gdevelop5/publishing/index.md b/docs/gdevelop5/publishing/index.md index 973ac55e970..284a2c162ca 100644 --- a/docs/gdevelop5/publishing/index.md +++ b/docs/gdevelop5/publishing/index.md @@ -1,13 +1,1627 @@ ---- +const buildingMat = new THREE.MeshStandardMaterial({ color: 0x888888 }); + for (let i = -5; i <= 5; i += 2) { + for (let j = -5; j <= 5; j += 2) { + if (i === 0 && j === 0) continue; // Skip player spawn + const height = Math.random() * 5 + 2; + const bGeo = new THREE.BoxGeometry(1.5, height, 1.5); + const building = new THREE.Mesh(bGeo, buildingMat); + building.position.set(i * 5, height / 2, j * 5); + scene.add(building); + } + } + + // 6. Controls / Movement Listener + const keys = {}; + window.addEventListener('keydown', (e) => keys[e.key.toLowerCase()] = true); + window.addEventListener('keyup', (e) => keys[e.key.toLowerCase()] = false); + + // 7. Game Loop + function animate() { + requestAnimationFrame(animate); + + // Move player + const speed = 0.1; + if (keys['w']) player.position.z -= speed; + if (keys['s']) player.position.z += speed; + if (keys['a']) player.position.x -= speed; + if (keys['d']) player.position.x += speed; + + // Camera follow player + camera.position.x = player.position.x; + camera.position.y = player.position.y + 5; + camera.position.z = player.position.z + 8; + camera.lookAt(player.position); + + renderer.render(scene, camera); + } + animate(); + + // Handle window resizing + window.addEventListener('resize', () => { + camera.aspect = window.innerWidth / window.innerHeight; + camera.updateProjectionMatrix(); + renderer.setSize(window.innerWidth, window.innerHeight); + }); + + + + + + + Mini 3D Open World + + + +
Use W, A, S, D keys to move the player around the map.
+ + + +