{"id":1330,"date":"2011-12-21T02:16:15","date_gmt":"2011-12-20T17:16:15","guid":{"rendered":"http:\/\/teruaki-tsubokura.com\/Lab\/?p=1330"},"modified":"2012-01-16T03:00:08","modified_gmt":"2012-01-15T18:00:08","slug":"kinect-sdkcxna%e6%b7%b1%e5%ba%a6%e7%94%bb%e5%83%8f%e3%81%8b%e3%82%89%e4%ba%ba%e6%95%b0%e3%82%92%e3%82%ab%e3%82%a6%e3%83%b3%e3%83%88%e3%81%99%e3%82%8b","status":"publish","type":"post","link":"https:\/\/teruaki-tsubokura.com\/Lab\/kinect-sdkcxna%e6%b7%b1%e5%ba%a6%e7%94%bb%e5%83%8f%e3%81%8b%e3%82%89%e4%ba%ba%e6%95%b0%e3%82%92%e3%82%ab%e3%82%a6%e3%83%b3%e3%83%88%e3%81%99%e3%82%8b\/","title":{"rendered":"[Kinect SDK][C#][XNA]\u6df1\u5ea6\u753b\u50cf\u304b\u3089\u4eba\u6570\u3092\u30ab\u30a6\u30f3\u30c8\u3059\u308b"},"content":{"rendered":"<div id=\"yass_top_edge_dummy\" style=\"width: 1px; height: 1px; padding: 0px; margin: -11px 0px 0px; border-width: 0px; display: block;\"><\/div>\n<div id=\"yass_top_edge\" style=\"background-image: url('chrome:\/\/yass\/content\/edgebgtop.png'); background-attachment: scroll; background-position: center bottom; padding: 0px; margin: 0px 0px 10px -10px; border-width: 0px; height: 0px; display: block; width: 1px;\"><\/div>\n<p><strong><a title=\"\u201c\u4eba\u304c\u5c45\u308b\u30fb\u5c45\u306a\u3044\u3092\u5224\u65ad\u3057\u3066\u753b\u9762\u8868\u793a\u3092\u5909\u3048\u308b\u201d \u3092\u7de8\u96c6\u3059\u308b\" href=\"post.php?post=1267&amp;action=edit\">\u4eba\u304c\u5c45\u308b\u30fb\u5c45\u306a\u3044\u3092\u5224\u65ad\u3057\u3066\u753b\u9762\u8868\u793a\u3092\u5909\u3048\u308b<\/a><\/strong>\u3000\u306eTips\u3067\u3082\u540c\u3058\u3088\u3046\u306a\u4e8b\u3092\u3057\u3066\u3044\u307e\u3059\u304c\u3001<br \/>\nKinect SDK + VisualC# + XNA \u3067\u3001\u5fc5\u8981\u6700\u4f4e\u9650\u306e\u4eba\u6570\u3092\u30ab\u30a6\u30f3\u30c8\u3059\u308b\u30bd\u30fc\u30b9\u3092\u66f8\u3044\u3066\u304a\u304d\u307e\u3059\u3002<br \/>\n&nbsp;<br \/>\n\u3082\u3063\u3068\u30b7\u30f3\u30d7\u30eb\u306a\u3084\u308a\u65b9\u3042\u308b\u304b\u3082\uff1f<br \/>\n\u3082\u3057\u3042\u3063\u305f\u3089\u6559\u3048\u3066\u304f\u3060\u3055\u3044\u30fb\u30fb\u30fb\u3002<br \/>\n&nbsp;<br \/>\n<!--more--><\/p>\n<p>\u25a0\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9<\/p>\n<p>\u6700\u521d\u306b\u5b9a\u7fa9\u3059\u308b\u3002<\/p>\n<div class=\"csharpcode\">\n<pre class=\"alt\">        <span class=\"kwrd\">private<\/span> <span class=\"kwrd\">bool<\/span>[] user_index = <span class=\"kwrd\">new<\/span> <span class=\"kwrd\">bool<\/span>[7];    <span class=\"rem\">\/\/\u30e6\u30fc\u30b6\u30a4\u30f3\u30c7\u30c3\u30af\u30b9<\/span><\/pre>\n<pre>        <span class=\"kwrd\">private<\/span> <span class=\"kwrd\">int<\/span> user_count = 0;    <span class=\"rem\">\/\/\u30e6\u30fc\u30b6\u306e\u6570 <\/span><\/pre>\n<\/div>\n<p>\u6df1\u5ea6\u30ab\u30e1\u30e9\u306e\u30a4\u30d9\u30f3\u30c8\u306e\u90e8\u5206\u3067\u753b\u50cf\u306e\u5168\u30d4\u30af\u30bb\u30eb\u306e\u30e6\u30fc\u30b6\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u8abf\u3079\u3066\u3044\u304f\u3002<\/p>\n<div class=\"csharpcode\">\n<pre>        <span class=\"preproc\">#region<\/span>\u3000\u5965\u884c\u304d\u753b\u50cf<\/pre>\n<pre class=\"alt\">        <span class=\"kwrd\">void<\/span> Kinect_DepthFrameReady(<span class=\"kwrd\">object<\/span> sender, ImageFrameReadyEventArgs e)<\/pre>\n<pre>        {<\/pre>\n<pre class=\"alt\">            <span class=\"kwrd\">lock<\/span> (<span class=\"kwrd\">this<\/span>)<\/pre>\n<pre>            {<\/pre>\n<pre class=\"alt\">                PlanarImage Image = e.ImageFrame.Image;<\/pre>\n<pre><\/pre>\n<pre class=\"alt\">                <span class=\"rem\">\/\/-- \u30e6\u30fc\u30b6\u30ab\u30a6\u30f3\u30c8\u30eb\u30fc\u30d7 --\/\/<\/span><\/pre>\n<pre>                <span class=\"kwrd\">for<\/span> (<span class=\"kwrd\">int<\/span> i = 0; i &lt; 7; i++) { user_index[i] = <span class=\"kwrd\">false<\/span>; } <span class=\"rem\">\/\/user_index\u5024\u30ea\u30bb\u30c3\u30c8<\/span><\/pre>\n<pre class=\"alt\">                user_count = 0;<span class=\"rem\">\/\/\u30e6\u30fc\u30b6\u6570\u30ab\u30a6\u30f3\u30c8<\/span><\/pre>\n<pre>                <span class=\"kwrd\">for<\/span> (<span class=\"kwrd\">int<\/span> y = 0; y &lt; Image.Height; ++y){ <span class=\"rem\">\/\/y\u8ef8<\/span><\/pre>\n<pre class=\"alt\">                    <span class=\"kwrd\">for<\/span> (<span class=\"kwrd\">int<\/span> x = 0; x &lt; Image.Width; ++x, no += 2){ <span class=\"rem\">\/\/x\u8ef8<\/span><\/pre>\n<pre>                        <span class=\"kwrd\">int<\/span> player = Image.Bits[(y * 320 + x) * 2] &amp; 0x07;<span class=\"rem\">\/\/\u30d7\u30ec\u30a4\u30e4\u30fc\u30a4\u30f3\u30c7\u30c3\u30af\u30b9<\/span><\/pre>\n<pre class=\"alt\">                        <span class=\"kwrd\">for<\/span> (<span class=\"kwrd\">int<\/span> n = 1; n &lt; 7; n++)<\/pre>\n<pre>                        {<\/pre>\n<pre class=\"alt\">                            <span class=\"kwrd\">if<\/span> (player == n) {<\/pre>\n<pre>                                <span class=\"kwrd\">if<\/span> ( !user_index[n-1] ){<\/pre>\n<pre class=\"alt\">                                    user_index[n-1] = <span class=\"kwrd\">true<\/span>;<\/pre>\n<pre>                                    user_count++; <span class=\"rem\">\/\/\u30e6\u30fc\u30b6\u6570\u306b\u52a0\u7b97<\/span><\/pre>\n<pre class=\"alt\">                                }<\/pre>\n<pre>                            }<\/pre>\n<pre class=\"alt\">                        }<\/pre>\n<pre>                    }<\/pre>\n<pre class=\"alt\">                }<\/pre>\n<pre>            }<\/pre>\n<pre class=\"alt\">        }<\/pre>\n<pre>        <span class=\"preproc\">#endregion<\/span><\/pre>\n<\/div>\n<div id=\"yass_bottom_edge\" style=\"background-image: url('chrome:\/\/yass\/content\/edgebgbot.png'); background-position: 0px 0px; position: absolute; margin: 0px; padding: 0px; border-width: 0px; height: 0px; left: 0px; top: 0px; width: 100%; display: block;\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u4eba\u304c\u5c45\u308b\u30fb\u5c45\u306a\u3044\u3092\u5224\u65ad\u3057\u3066\u753b\u9762\u8868\u793a\u3092\u5909\u3048\u308b\u3000\u306eTips\u3067\u3082\u540c\u3058\u3088\u3046\u306a\u4e8b\u3092\u3057\u3066\u3044\u307e\u3059\u304c\u3001 Kinect SDK + VisualC# + XNA \u3067\u3001\u5fc5\u8981\u6700\u4f4e\u9650\u306e\u4eba\u6570\u3092\u30ab\u30a6\u30f3\u30c8\u3059\u308b\u30bd\u30fc\u30b9\u3092\u66f8\u3044\u3066\u304a\u304d\u307e\u3059\u3002 &nbsp; \u3082 [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[472],"tags":[543,540,475],"class_list":["post-1330","post","type-post","status-publish","format-standard","hentry","category-memo","tag-c","tag-kinect","tag-xna"],"_links":{"self":[{"href":"https:\/\/teruaki-tsubokura.com\/Lab\/wp-json\/wp\/v2\/posts\/1330","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/teruaki-tsubokura.com\/Lab\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/teruaki-tsubokura.com\/Lab\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/teruaki-tsubokura.com\/Lab\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/teruaki-tsubokura.com\/Lab\/wp-json\/wp\/v2\/comments?post=1330"}],"version-history":[{"count":5,"href":"https:\/\/teruaki-tsubokura.com\/Lab\/wp-json\/wp\/v2\/posts\/1330\/revisions"}],"predecessor-version":[{"id":1370,"href":"https:\/\/teruaki-tsubokura.com\/Lab\/wp-json\/wp\/v2\/posts\/1330\/revisions\/1370"}],"wp:attachment":[{"href":"https:\/\/teruaki-tsubokura.com\/Lab\/wp-json\/wp\/v2\/media?parent=1330"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/teruaki-tsubokura.com\/Lab\/wp-json\/wp\/v2\/categories?post=1330"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/teruaki-tsubokura.com\/Lab\/wp-json\/wp\/v2\/tags?post=1330"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}