zoukankan      html  css  js  c++  java
  • 一个简单的触壁反弹(js原生)

    <!DOCTYPE html>
    
    <html>
    
    <head>
    
    <meta charset="UTF-8">
    
    <title></title>
    
    <style type="text/css">
    
    *{padding: 0;margin: 0;}
    
    #box{width: 500px;height: 350px;border:1px solid #ccc;margin: 20px auto 0;position: relative;}
    
    #ball{width: 50px;height: 50px;background: red;position: absolute;top:0;left: 0;}
    
    #btn{width: 50px;height: 50px;cursor: pointer;background: green;}
    
    </style>
    
    </head>
    
    <body>
    
    <div id="box">
    
      <div id="ball">
    
      </div>
    
    </div>
    
    <div id="btn">
    
     
    
    </div>
    
    </body>
    
    </html>
    
    <script type="text/javascript">
    
    var box=document.getElementById("box");
    
    var ball=document.getElementById("ball");
    
    var btn=document.getElementById("btn");
    
    var speedX=10;//横向的移动速度
    
    var speedY=10;//横向的移动速度
    
    //点击更改ball的速度
    
    btn.onclick=function(){
    
    speedX=parseInt(Math.random()*4+1)+2;
    
    speedY=parseInt(Math.random()*4+1)+2;
    
    }
    
    setInterval(function(){
    
    ball.style.left=ball.offsetLeft+speedX+"px";
    
    ball.style.top=ball.offsetTop+speedY+"px";
    
    //判断ball的位置 触壁speed取反
    
    if(ball.offsetLeft>=box.clientWidth-ball.offsetWidth||ball.offsetLeft<=0){
    
    speedX*=-1;
    
    }
    
    if(ball.offsetTop>=box.clientHeight-ball.offsetHeight||ball.offsetTop<=0){
    
    speedY*=-1;
    
    }
    
    },30)
    
    </script>

    主要运用的知识点:原生的js碰撞检测

  • 相关阅读:
    String的方法capitalize
    python基本运算符
    计算机中常用进制转换
    python中的print函数
    python转义字符
    3.python中的基本概念
    4.input()
    1.计算机基础知识
    Pyhton实用的format()格式化函数
    jieba(结巴)常用方法
  • 原文地址:https://www.cnblogs.com/jwhgz/p/6061035.html
Copyright © 2011-2022 走看看