p2模拟真实的物理转盘转动动画效果代码
代码语言:html
所属分类:动画
代码描述:p2模拟真实的物理转盘转动动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <style> body { background-color: #fff; margin: 0; } .centered { position: absolute; margin: auto; top: 0; bottom: 0; left: 0; right: 0; } #container { width: 768px; height: 768px; } #status_label { position: absolute; top: 768px; width: 768px; color: black; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 1.5em; text-align: center; pointer-events: none; } #drawing_canvas { position: absolute; } </style> </head> <body> <div id="container" class="centered"> <canvas id="drawing_canvas"></canvas> <div id="status_label"> loading... </div> </div> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/p2.min.js"></script> <script> const TWO_PI = Math.PI * 2; const HALF_PI = Math.PI * 0.5; // canvas settings var viewWidth = 768, viewHeight = 768, viewCenterX = viewWidth * 0.5, viewCenterY = viewHeight * 0.5, drawingCanvas = document.getElementById("drawing_canvas"), ctx, timeStep = (1/60), time = 0; var ppm = 24, // pixels per meter physicsWidth = viewWidth / ppm, physicsHeight = viewHeight / ppm, physicsCenterX = physicsWidth * 0.5, physicsCenterY = physicsHeight * 0.5; var world; var wheel, arrow, mouseBody, mouseConstraint; var arrowMaterial, pinMaterial, contactMaterial; var wheelSpinning = false, wheelStopped = true; var particles = []; var statusLabel = document.getElementById('status_label'); window.onload = function() { initDrawingCanvas(); initPhysics(); requestAnimationFrame(loop); statusLabel.innerHTML = 'Give it a good spin!'; }; function initDrawingCanvas() { drawingCanvas.width = viewWidth; drawingCanvas.height = viewHeight; ctx = drawingCanvas.getContext('2d'); drawingCanvas.addEventListener('mousemove', updateMouseBodyPosition); drawingCanvas.addEventListener('mousedown', checkStartDrag); drawingCanvas.addEventListener('mouseup', checkEndDrag); drawingCanvas.addEventListener('mouseout', checkEndDrag); } function updateMo.........完整代码请登录后点击上方下载按钮下载查看
网友评论0