碰撞效果监测

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
#div1{width:150px;height:150px;position:absolute;background-color:red ;z-index:1;border-radius:50%;}
#div2{width:200px;height:200px;position:absolute;background-color:blue ;left:500px;top:400px;border-radius:50%;}
</style>
</head>
<body>
<div id="div1"></div>
<div id="div2"></div>
<script>
var div1 = document.getElementById("div1");
var div2 = document.getElementById("div2");

div1.onmousedown = function(ev){
var disX = ev.clientX-div1.offsetLeft; //鼠标距离左边框的距离
var disY = ev.clientY-div1.offsetTop; //鼠标距离上边框的距离

document.onmousemove = function(ev){
var left = ev.clientX-disX;
var top = ev.clientY-disY;
div1.style.left = left+"px";
div1.style.top = top+"px";

if(test_collision(div1,div2)){div2.style.background = "blue";}
else{div2.style.background = "yellow";}
//console.log(test_collision(div1,div2));

document.onmouseup = function(){
document.onmousedown = null;
document.onmousemove = null;
}
}

}

function test_collision(obj1,obj2){ //obj1是拖拽元素,obj2是被碰撞元素
var obj1_width = obj1.offsetWidth; //div1的宽度
var obj1_height = obj1.offsetHeight; //高度
var obj1_left = obj1.offsetLeft;
var obj1_top = obj1.offsetTop;

var obj2_width = obj2.offsetWidth; //div2的宽度
var obj2_height = obj2.offsetHeight; //高
var obj2_left = obj2.offsetLeft; //左边距
var obj2_top = obj2.offsetTop; //上边距

if(obj1_left+obj1_width<obj2_left||obj1_left>obj2_width+obj2_left||
obj1_top+obj1_height<obj2_top||obj1_top>obj2_top+obj2_height) //没有撞到,安全,返回true
{return true;}
else {return false;}
/*
if(obj1_left+obj1_width>obj2_left&&obj2_left+obj2_width>obj1_left&& //撞到了,不安全,返回false
obj1_top+obj1_height>obj2_top&&obj2_top+obj2_height>obj1_top)
{return false;}
else{return true;}
*/
}

</script>
</body>
</html>

时间: 2024-11-13 08:17:11

碰撞效果监测的相关文章

广告效果监测

广告效果监测 广告效果监测是指通过付费广告,客户点击进入网站接下来的一系列活动 广告投放前.投放中.投放后的效果实施监测和评估,并不是个孤立的过程,需要把监测到数据进行一个整理,并建立一个系统的数据库,不仅会对本次广告进行一 个系统的评估,同时它的评估结果将会被录入到历史投放效果中,对下次的广告投放起到一个很好的借鉴和参考,并对今后企业广告往更好的方向发展起到了一个很 好引领作用. 广告投放后的分析就可以对广告效果做一个全面的评估,我们可以从投放后的 分析中可以了解到本次广告投放的ROI怎样.本

添加墙元素实现碰撞效果

碰撞效果实现: 利用CollisionUtils判断两个对象是否发生碰撞 x1:第一个矩形的x坐标 y1:第一个矩形的y坐标 w1:第一个矩形的宽度 h1:第一个矩形的高度 x2:第二个矩形的x坐标 y2:第二个矩形的y坐标 w2:第二个矩形的宽度 h2:第二个矩形的高度 可以理解为tank和wall的碰撞检测,如果发生碰撞则返回true,否则返回false 代码实现: 1.创建一个墙类,继承于Element 1 package Itheima.bean; 2 3 public class Wa

iOS 力学动画生成器UIKit Dynamics 之碰撞效果解说

UIKit Dynamic是iOS7 新增的一组类和方法.可赋予UIView逼真的行为和特征,不须要写动画效果那些繁琐的代码,让开发者可以轻松地改善应用的用户体验.一共同拥有6个可用于定制UIDynamicAnimator的类.这里先仅仅简介下碰撞的动画效果,即UICollisionBehavior.须要签订一个代理协议:UICollisionBehaviorDelegate. 其它效果,兴许更新,敬请期待. 注意:dragonImageView和frogImageView记得要初始化还有: U

iOS 力学动画生成器UIKit Dynamics 之碰撞效果讲解

UIKit Dynamic是iOS7 新增的一组类和方法,可赋予UIView逼真的行为和特征,不需要写动画效果那些繁琐的代码,让开发人员能够轻松地改善应用的用户体验.一共有6个可用于定制UIDynamicAnimator的类,这里先只简单介绍下碰撞的动画效果,即UICollisionBehavior.需要签订一个代理协议:UICollisionBehaviorDelegate.其他效果,后续更新,敬请期待. #import "ICFCollisionViewController.h"

16.刚体碰撞事件监测与处理

1)当一个用刚体控制的物体与另外一个物体碰撞时,就会触发碰撞事件 注:目标物体必须带有 Collider 组件. 2)碰撞事件监测方法 1.OnCollisionEnter(Collision) 当碰撞开始时调用,只会调用该方法一次. 2.OnCollisionExit(Collision) 当碰撞结束时调用,只会调用该方法一次. 3.OnCollisionStay(Collision) 当碰撞进行中时,会持续调用该方法. 4.Collision 参数 碰撞,一个类.作用:用于传递碰撞信息. C

UIDynamic仿物理引擎-浮动碰撞效果-b

最近产品提了个需求(电商的APP-两鲜),需要在APP背景加上几个水果图案在那里无规则缓慢游荡...模仿 天天果园 APP的.好吧,那我就在网上找了很多文章,总结一下写个demo.效果如下: Mou icon 这里用到的是UIDynamic这个类. UIDynamic简介 一.简介 注意:UIKit动力学的引入,并不是为了替代CA或者UIView动画,在绝大多数情况下CA或者UIView动画仍然是最有方案,只有在需要引入逼真的交互设计的时候,才需要使用UIKit动力学它是作为现有交互设计和实现的

移动广告效果监测

android渠道包自动化验证 酷传应用统计 友盟统计分析平台 机锋统计 怎样监控移动互联网广告的效果 talkingdata AD tracking

用Easing函数实现碰撞效果

工程中需要的源码请从这里下载: https://github.com/YouXianMing/EasingAnimation 源码: // // ViewController.m // EasingView // // Created by YouXianMing on 15/1/17. // Copyright (c) 2015年 YouXianMing. All rights reserved. // #import "ViewController.h" #import "

网络广告效果监测的4大评估方式

网络营销的目的就是引发网民对产品的认知和步步深入,而作为网络营销手段之一的网络广告,当前依照几个主流的广告评估指标,不仅为广告的效果评估提供了数据参照,同时也在间接性的为广告策略优化指引了方向.CPM,是一种按照展示收费的效果评估模式,广告主为支持每1000次展示访问而支付费用.CPM所面临的挑战主要有以下3点:首先,现在的网络环境越来越复杂,广告主展示的广告信息是否被网民们关注并且接受:接着,广告的信息是否和目标网民的相匹配,广告的信息是否有几率被目标群众所关注:最后,部分网站的虚假流量形成的