{"id":4371,"date":"2018-08-01T22:45:31","date_gmt":"2018-08-01T14:45:31","guid":{"rendered":"http:\/\/www.bookcard.net\/wordpress\/?p=4371"},"modified":"2018-08-02T09:37:47","modified_gmt":"2018-08-02T01:37:47","slug":"android_game_circle_2d_overlap","status":"publish","type":"post","link":"https:\/\/www.bookcard.net\/wordpress\/android_game_circle_2d_overlap\/","title":{"rendered":"Android\u904a\u6232\u4e4b2D\u5713\u5f62\u78b0\u649e"},"content":{"rendered":"<figure id=\"attachment_4372\" aria-describedby=\"caption-attachment-4372\" style=\"width: 1200px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/www.bookcard.net\/wordpress\/wp-content\/uploads\/2018\/08\/Android_Game_CIRCLE_2D_Overlap.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-4372\" src=\"https:\/\/www.bookcard.net\/wordpress\/wp-content\/uploads\/2018\/08\/Android_Game_CIRCLE_2D_Overlap.jpg\" alt=\"\" width=\"1200\" height=\"800\" srcset=\"https:\/\/www.bookcard.net\/wordpress\/wp-content\/uploads\/2018\/08\/Android_Game_CIRCLE_2D_Overlap.jpg 1200w, https:\/\/www.bookcard.net\/wordpress\/wp-content\/uploads\/2018\/08\/Android_Game_CIRCLE_2D_Overlap-300x200.jpg 300w, https:\/\/www.bookcard.net\/wordpress\/wp-content\/uploads\/2018\/08\/Android_Game_CIRCLE_2D_Overlap-768x512.jpg 768w, https:\/\/www.bookcard.net\/wordpress\/wp-content\/uploads\/2018\/08\/Android_Game_CIRCLE_2D_Overlap-1024x683.jpg 1024w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><figcaption id=\"caption-attachment-4372\" class=\"wp-caption-text\">Android\u904a\u6232\u4e4b2D\u5713\u5f62\u78b0\u649e<\/figcaption><\/figure>\n<p>\u7576\u7269\u9ad4\u79fb\u52d5\u4e26\u76f8\u4e92\u767c\u751f\u4f5c\u7528.\u9700\u9032\u884c\u78b0\u649e\u64bf\u6e2c.\u82e5\u91cd\u758a\u4fbf\u767c\u751f\u78b0\u649e.\u5e38\u898b\u78b0\u649e\u7b97\u6cd5\u662f\u901a\u904e\u300e\u5713\u5f62\u908a\u754c\u7403\u300f.\u5b83\u662f\u5305\u570d\u8457\u5c0d\u8c61\u6700\u5c0f\u5713. \u7121\u9700\u96a8\u7269\u9ad4\u65cb\u8f49\u800c\u65cb\u8f49.\u6240\u4ee5\u901f\u5ea6\u6700\u5feb\u4e4b\u7b97\u6cd5\u4f46\u7cbe\u5ea6\u8f03\u5dee.\u5b83\u7531\u300e\u5713\u5fc3\u300f\u8207\u300e\u534a\u5f91\u300f\u6240\u7d44\u6210.<\/p>\n<p>public class CIRCLE2D{<\/p>\n<p>\u4e2d\u5fc3\u4f4d\u7f6e<\/p>\n<p>public <a href=\"https:\/\/www.bookcard.net\/wordpress\/android_game_2d_vector\/\">VECTOR2D<\/a> center;<\/p>\n<p>\u534a\u5f91<\/p>\n<p>public float radius;<\/p>\n<p>\u8cfc\u9020\u5713\u5f62\u908a\u754c\u7403,\u8f38\u5165\u4e2d\u5fc3\u4f4d\u7f6e\u8207\u534a\u5f91.<\/p>\n<p>public CIRCLE2D(float x,float y,float radius){<\/p>\n<p>this.center = new <a href=\"https:\/\/www.bookcard.net\/wordpress\/android_game_2d_vector\/\">VECTOR2D(x,y)<\/a>;<\/p>\n<p>this.radius = radius;<\/p>\n<p>}<\/p>\n<p>\u300e\u5713\u300f\u8207\u300e\u9ede\u300f\u78b0\u649e\u6aa2\u6e2c.\u8a08\u7b97\u300e\u5713\u5fc3\u300f\u8207\u300e\u9ede\u300f\u4e4b\u8ddd\u96e2.\u82e5\u8ddd\u96e2\u5c0f\u65bc\u300e\u5713\u534a\u5f91\u300f\u5247\u767c\u751f\u78b0\u649e.<\/p>\n<p>public boolean overlap(<a href=\"https:\/\/www.bookcard.net\/wordpress\/android_game_2d_vector\/\">VECTOR2D<\/a> point){<\/p>\n<p>float distance = <a href=\"https:\/\/www.bookcard.net\/wordpress\/android_game_2d_vector\/\">center.Dist(point)<\/a>;<\/p>\n<p>if(distance &lt; radius\u00a0 )<\/p>\n<p>return true;\/\/ \u767c\u751f\u78b0\u649e<\/p>\n<p>else<\/p>\n<p>return false;\/\/ \u7121\u767c\u751f\u78b0\u649e<\/p>\n<p>}<\/p>\n<p>\u5169\u5713\u5f62\u78b0\u649e\u6aa2\u6e2c.\u8a08\u7b97\u5169\u5713\u5fc3\u300e\u8ddd\u96e2\u300f.\u82e5\u300e\u8ddd\u96e2\u300f\u5c0f\u65bc\u5169\u5713\u534a\u5f91\u4e4b\u548c\u5247\u767c\u751f\u78b0\u649e<\/p>\n<p>public boolean overlap(<a href=\"https:\/\/www.bookcard.net\/wordpress\/android_game_2d_vector\/\">CIRCLE2D<\/a> circle){<\/p>\n<p>float distance = <a href=\"https:\/\/www.bookcard.net\/wordpress\/android_game_2d_vector\/\">center.Dist(circle.center)<\/a>;\/\/ \u5169\u5713\u4e4b\u8ddd<\/p>\n<p>if(distance &lt;= radius + circle.radius)<\/p>\n<p>return true;\/\/ \u767c\u751f\u78b0\u649e<\/p>\n<p>else<\/p>\n<p>return false;\/\/ \u7121\u767c\u751f\u78b0\u649e<\/p>\n<p>}<\/p>\n<p>\u300e\u5713\u5f62\u300f\u8207\u300e\u77e9\u5f62\u300f\u78b0\u649e\u7b97\u6cd5\u6700\u70ba\u8907\u96dc.\u9700\u5148\u8a08\u7b97\u300e\u77e9\u5f62\u300f\u8207\u300e\u5713\u5fc3\u300f\u6700\u8fd1\u4e4b\u9ede.\u7136\u5f8c\u8a08\u7b97\u300e\u5713\u5fc3\u300f\u8207\u300e\u6700\u8fd1\u9ede\u300f\u4e4b\u8ddd\u96e2.\u82e5\u6b64\u9ede\u5728\u300e\u5713\u300f\u5167\u5247\u767c\u751f\u91cd\u758a.<\/p>\n<p>public boolean overlap(<a href=\"https:\/\/www.bookcard.net\/wordpress\/android_game_rect_2d_overlap\/\">RECT2D<\/a> rect){<\/p>\n<p>float closestX = center.x; \/\/ \u6700\u63a5\u8fd1X<\/p>\n<p>float closestY = center.y;\/\/ \u6700\u63a5\u8fd1Y<\/p>\n<p>if(center.x &lt; rect.center.x &#8211; rect.width\/2)<\/p>\n<p>closestX = rect.center.x &#8211; rect.width\/2;<\/p>\n<p>else<\/p>\n<p>if(center.x &gt; rect.center.x + rect.width\/2)<\/p>\n<p>closestX = rect.center.x + rect.width\/2;<\/p>\n<p>if(center.y &lt; rect.center.y &#8211; rect.height\/2)<\/p>\n<p>closestY = rect.center.y &#8211; rect.height\/2;<\/p>\n<p>else<\/p>\n<p>if(center.y &gt; rect.center.y + rect.height\/2)<\/p>\n<p>closestY = rect.center.y + rect.height\/2;<\/p>\n<p>if(<a href=\"https:\/\/www.bookcard.net\/wordpress\/android_game_2d_vector\/\">center.Dist(closestX,closestY) <\/a>&lt; radius)<\/p>\n<p>return true; \/\/ \u300e\u5713\u300f\u5167\u5247\u767c\u751f\u78b0\u649e<\/p>\n<p>else<\/p>\n<p>return false; \/\/ \u7121\u767c\u751f\u78b0\u649e<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u7576\u7269\u9ad4\u79fb\u52d5\u4e26\u76f8\u4e92\u767c\u751f\u4f5c\u7528.\u9700\u9032\u884c\u78b0\u649e\u64bf\u6e2c.\u82e5\u91cd\u758a\u4fbf\u767c\u751f\u78b0\u649e.\u5e38\u898b\u78b0\u649e\u7b97\u6cd5\u662f\u901a\u904e\u300e\u5713\u5f62\u908a\u754c\u7403\u300f.\u5b83\u662f\u5305\u570d\u8457\u5c0d\u8c61\u6700 &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.bookcard.net\/wordpress\/android_game_circle_2d_overlap\/\" class=\"more-link\">\u7e7c\u7e8c\u95b1\u8b80 <span class=\"screen-reader-text\">Android\u904a\u6232\u4e4b2D\u5713\u5f62\u78b0\u649e<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[2],"class_list":["post-4371","post","type-post","status-publish","format-standard","hentry","category-android","tag-android","entry"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/posts\/4371","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/comments?post=4371"}],"version-history":[{"count":2,"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/posts\/4371\/revisions"}],"predecessor-version":[{"id":4379,"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/posts\/4371\/revisions\/4379"}],"wp:attachment":[{"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/media?parent=4371"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/categories?post=4371"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/tags?post=4371"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}