ホームページ  >  記事  >  ウェブフロントエンド  >  衝突判定方法をJSで実装!

衝突判定方法をJSで実装!

jacklove
jackloveオリジナル
2018-06-15 15:52:591775ブラウズ

今回はJSを使用して衝突を判定する方法の例を紹介します。花火の打ち上げ、壁で跳ね返る小さなボール、ピクセルの鳥など、衝突には多くのアプリケーション シナリオがあるため、今後の操作を進める前に、まず衝突を判断する方法を理解する必要があります。

HTML ページ コード:

<p id="d1"></p>
<p id="d2"></p>

CSS ページ コード:

<style type="text/css">
		*{
			padding: 0px;
			margin: 0px;

		}
		#d1{
			width: 100px;
			height: 100px;
			background: red;
			position: absolute;
		}
		#d2{
			width: 200px;
			height: 200px;
			background: yellow;
			position: absolute;
			top: 200px;
			left: 400px;
			position: absolute;
		}
	</style>

JS ページ コード:

<script type="text/javascript">
	p=document.querySelectorAll("p"); 
function hit(obj){
	obj.onmousedown=function(e){
		var e=e||window.event;
		var dX=e.offsetX;
		var dY=e.offsetY;
		document.onmousemove=function(e){
			var x=e.clientX;
			var y=e.clientY;
			obj.style.left=x-dX+"px";
			obj.style.top=y-dY+"px";
			if(p[0].offsetTop+p[0].offsetHeight>=p[1].offsetTop && p[0].offsetTop<=p[1].offsetTop+p[1].offsetHeight && p[0].offsetLeft+p[0].offsetWidth>=p[1].offsetLeft && p[0].offsetLeft<=p[1].offsetLeft+p[1].offsetWidth){
				console.log("你撞我了!再撞一个试试!")
			};
	}
	document.onmouseup=function(){
		document.onmousemove=null;
	}
}	
}
hit(p[0]);
hit(p[1]);
</script>

この記事では、JS を介して衝突を判定する方法について説明します。関連コンテンツの詳細については、php 中国語 Web サイトを参照してください。

関連する推奨事項:

古典的なアルゴリズムの JS 実装ソリューションをいくつか紹介します

javascript ホームページとして設定する お気に入りに追加 JS コード

JS 継承の理解



以上が衝突判定方法をJSで実装!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。