Meta Description" name="description" />

Share this result

Previews are deleted daily. Get a permanent share link sent to your inbox:
Script
<!DOCTYPE html> <html> <head> <title>Minecraft Mini</title> <style> body { margin:0; overflow:hidden; background:#87CEEB; } #info { position:fixed; top:10px; left:10px; color:white; background:rgba(0,0,0,0.4); padding:8px; font-family:Arial; } </style> </head> <body> <div id="info">WASD: Yürü • Space: Zıpla • Sol Tık: Kır • Sağ Tık: Koy</div> <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script> <script> // === Sahne, Kamera, Renderer === const scene = new THREE.Scene(); const camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 0.1, 1000); const renderer = new THREE.WebGLRenderer(); renderer.setSize(window.innerWidth, window.innerHeight); document.body.appendChild(renderer.domElement); // === Işık === const light = new THREE.DirectionalLight(0xffffff, 1); light.position.set(5,10,5); scene.add(light); // === Basit blok materyalleri === const dirtMat = new THREE.MeshLambertMaterial({color:0x8B4513}); const grassMat = new THREE.MeshLambertMaterial({color:0x00aa00}); const woodMat = new THREE.MeshLambertMaterial({color:0x553311}); // === Blok boyutu === const BS = 1; // === Dünya oluşturma (küçük örnek + sonsuz hissi için tekrar eden) === function makeBlock(x,y,z,mat){ let g = new THREE.BoxGeometry(BS,BS,BS); let m = mat; let b = new THREE.Mesh(g,m); b.position.set(x,y,z); scene.add(b); world.push(b); } let world = []; // Basit arazı for(let x= -20; x<20; x++){ for(let z= -20; z<20; z++){ makeBlock(x,0,z, grassMat); if(Math.random() < 0.03){ // %3 ihtimalle ağaç makeBlock(x,1,z, woodMat); makeBlock(x,2,z, woodMat); makeBlock(x,3,z, grassMat); } } } // === Oyuncu === camera.position.set(0, 2, 5); let velY = 0; let onGround = false; const keys = {}; document.addEventListener("keydown", e => keys[e.key] = true); document.addEventListener("keyup", e => keys[e.key] = false); // === Fare kontrolü === let raycaster = new THREE.Raycaster(); let mouse = new THREE.Vector2(); document.body.addEventListener("click", e=>{ mouse.x = 0; mouse.y = 0; raycaster.setFromCamera(mouse, camera); const hits = raycaster.intersectObjects(world); if(hits.length>0){ let h = hits[0].object; if(e.button === 0){ // SOL tık → KIR scene.remove(h); } if(e.button === 2){ // SAĞ tık → KOY let p = h.position.clone().add(hits[0].face.normal); makeBlock(p.x,p.y,p.z, dirtMat); } } }); document.addEventListener("contextmenu", e => e.preventDefault()); // === Oyun döngüsü === function animate(){ requestAnimationFrame(animate); // Hareket let speed = 0.1; if(keys["w"]) camera.position.z -= speed; if(keys["s"]) camera.position.z += speed; if(keys["a"]) camera.position.x -= speed; if(keys["d"]) camera.position.x += speed; // Zıplama if(keys[" "] && onGround){ velY = 0.2; onGround = false; } velY -= 0.01; camera.position.y += velY; if(camera.position.y <= 2){ camera.position.y = 2; velY = 0; onGround = true; } renderer.render(scene, camera); } animate(); </script> </body> </html>
Landing Page
This ad does not have a landing page available
Network Timeline
Performance Summary

2

Requests

2

Domains

122KB

Transfer Size

593KB

Content Size

2,347.0ms

Dom Content Loaded

284.0ms

First Paint

2,347.0ms

Load Time
Domain Breakdown
Transfer Size (bytes)
Loading...
Content Size (bytes)
Loading...
Header Size (bytes)
Loading...
Requests
Loading...
Timings (ms)
Loading...
Total Time
Loading...
Content Breakdown
Transfer Size (bytes)
Loading...
Content Size (bytes)
Loading...
Header Size (bytes)
Loading...
Requests
Loading...