<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Why?   Why?  Why?   Why?  Why?   Why?</title>
    <link>https://hanamoni.tistory.com/</link>
    <description>아 배고파......</description>
    <language>ko</language>
    <pubDate>Thu, 16 Apr 2026 10:11:10 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>헛소리</managingEditor>
    <image>
      <title>Why?   Why?  Why?   Why?  Why?   Why?</title>
      <url>https://t1.daumcdn.net/cfile/tistory/197128364E5757002F</url>
      <link>https://hanamoni.tistory.com</link>
    </image>
    <item>
      <title>Firebase  Init   (코루틴 사용)</title>
      <link>https://hanamoni.tistory.com/33</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;코루틴 사용 기본 초기화&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;public&amp;nbsp;void&amp;nbsp;Start() &lt;br /&gt;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StartCoroutine(CoroutineInit()); &lt;br /&gt;}&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;public&amp;nbsp;IEnumerator&amp;nbsp;CoroutineInit() &lt;br /&gt;{&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //Firebase 기본.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;task&amp;nbsp;=&amp;nbsp;FirebaseApp.CheckAndFixDependenciesAsync(); &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;yield&amp;nbsp;return&amp;nbsp;new&amp;nbsp;WaitUntil(()&amp;nbsp;=&amp;gt;&amp;nbsp;task.IsCompleted); &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(task.IsFaulted&amp;nbsp;||&amp;nbsp;task.IsCanceled) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Debug.LogError(&quot;Error:&amp;nbsp;&quot;&amp;nbsp;+&amp;nbsp;task.Exception); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;app&amp;nbsp;=&amp;nbsp;FirebaseApp.DefaultInstance; &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(app&amp;nbsp;!=&amp;nbsp;null) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //FireStore Database&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dbRefFbStore = FirebaseFirestore.DefaultInstance;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//RealTime Database&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//dbRefRealTime = FirebaseDatabase.GetInstance(url).RootReference;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//FireBase Auth&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;authFb = FirebaseAuth.DefaultInstance;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Debug.LogError(&quot;Firebase&amp;nbsp;Init&amp;nbsp;Fail&quot;); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;}&lt;/p&gt;</description>
      <category>Program/Unity</category>
      <author>헛소리</author>
      <guid isPermaLink="true">https://hanamoni.tistory.com/33</guid>
      <comments>https://hanamoni.tistory.com/33#entry33comment</comments>
      <pubDate>Tue, 23 Jan 2024 18:15:55 +0900</pubDate>
    </item>
    <item>
      <title>UGUI - On Value Changed 입력   (Static , Dynamic)</title>
      <link>https://hanamoni.tistory.com/32</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;UGUI 를 사용하다보면 Inspector에서 함수 연결시&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;592&quot; data-origin-height=&quot;148&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/H7VeR/btsrwY83yPr/CcZyMsonrWxFiiz2MsYRKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/H7VeR/btsrwY83yPr/CcZyMsonrWxFiiz2MsYRKk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/H7VeR/btsrwY83yPr/CcZyMsonrWxFiiz2MsYRKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FH7VeR%2FbtsrwY83yPr%2FCcZyMsonrWxFiiz2MsYRKk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;592&quot; height=&quot;148&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;592&quot; data-origin-height=&quot;148&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;OnValuChanged (변화하는값)&amp;nbsp; 입력하는 값들이 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기에 기존 버튼에 함수 넣는거처럼 함수를 만들어서 넣게 되면.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;560&quot; data-origin-height=&quot;144&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6EEKO/btsrq8E76oE/gQFDdzrRckzvPVigNg8iUK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6EEKO/btsrq8E76oE/gQFDdzrRckzvPVigNg8iUK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6EEKO/btsrq8E76oE/gQFDdzrRckzvPVigNg8iUK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6EEKO%2Fbtsrq8E76oE%2FgQFDdzrRckzvPVigNg8iUK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;560&quot; height=&quot;144&quot; data-origin-width=&quot;560&quot; data-origin-height=&quot;144&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;598&quot; data-origin-height=&quot;141&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GBJgE/btsrq942iEI/blZDHBHKFaighzAFTtQAv1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GBJgE/btsrq942iEI/blZDHBHKFaighzAFTtQAv1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GBJgE/btsrq942iEI/blZDHBHKFaighzAFTtQAv1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGBJgE%2Fbtsrq942iEI%2FblZDHBHKFaighzAFTtQAv1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;598&quot; height=&quot;141&quot; data-origin-width=&quot;598&quot; data-origin-height=&quot;141&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 함수는 static parameter 를 받아 값을 0밖에 받아들이지 못한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이럴때&amp;nbsp; Dynamic&amp;nbsp; 으로 등록을 시키면 되는데.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;265&quot; data-origin-height=&quot;388&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmNuNp/btsroJyZYDh/SQFtPQQTK2jqGe2PV8Q5kK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmNuNp/btsroJyZYDh/SQFtPQQTK2jqGe2PV8Q5kK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmNuNp/btsroJyZYDh/SQFtPQQTK2jqGe2PV8Q5kK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbmNuNp%2FbtsroJyZYDh%2FSQFtPQQTK2jqGe2PV8Q5kK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;265&quot; height=&quot;388&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;265&quot; data-origin-height=&quot;388&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;버튼을 등록시킬때 같은이름의 함수가 Dynamic 으로 등록되어있을것이다.&amp;nbsp; 그걸 넣어주면 된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;594&quot; data-origin-height=&quot;132&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HGaXJ/btsro8ZWO82/lsOhqmJdlH2Kz8kEqRkfoK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HGaXJ/btsro8ZWO82/lsOhqmJdlH2Kz8kEqRkfoK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HGaXJ/btsro8ZWO82/lsOhqmJdlH2Kz8kEqRkfoK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHGaXJ%2Fbtsro8ZWO82%2FlsOhqmJdlH2Kz8kEqRkfoK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;594&quot; height=&quot;132&quot; data-origin-width=&quot;594&quot; data-origin-height=&quot;132&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;넣어주고 나면 값 입력시키는 곳이 사라지고.&amp;nbsp; 변화한 값을 잘 받는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인스펙터 말고 코드에서 등록시키도&amp;nbsp; 잘 동작한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;using&amp;nbsp;UnityEngine; &lt;br /&gt;using&amp;nbsp;TMPro; &lt;br /&gt;&lt;br /&gt;public&amp;nbsp;class&amp;nbsp;TestSc&amp;nbsp;:&amp;nbsp;MonoBehaviour &lt;br /&gt;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[SerializeField]&amp;nbsp;private&amp;nbsp;TMP_Dropdown&amp;nbsp;dropdown; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;void&amp;nbsp;Start() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dropdown.onValueChanged.AddListener(ClickTest); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;void&amp;nbsp;ClickTest(int&amp;nbsp;changedValue) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Debug.Log(&quot;ClickTest&amp;nbsp;=&amp;nbsp;&quot;&amp;nbsp;+&amp;nbsp;changedValue); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;}&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가끔 물어보는 사람이 있어서..&amp;nbsp; 적는&lt;/p&gt;</description>
      <category>Program/Unity</category>
      <author>헛소리</author>
      <guid isPermaLink="true">https://hanamoni.tistory.com/32</guid>
      <comments>https://hanamoni.tistory.com/32#entry32comment</comments>
      <pubDate>Fri, 18 Aug 2023 11:40:05 +0900</pubDate>
    </item>
    <item>
      <title>Unity - Dictionary  를  Inspector 에 간단하게..</title>
      <link>https://hanamoni.tistory.com/31</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;유니티에서 사용하는 Dictionary 는 Inspector 에서 보이지 않아서 데이터 확인해야 할때 불편하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 이미 사용하고 있는 Dictionary 데이터들을 간단하게 인스펙터에 표시하기 위해서 만든 클래스&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;01.png&quot; data-origin-width=&quot;671&quot; data-origin-height=&quot;696&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCRZAl/btspH1HkKat/cKNBv6sg3EmTVq5niS34W1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCRZAl/btspH1HkKat/cKNBv6sg3EmTVq5niS34W1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCRZAl/btspH1HkKat/cKNBv6sg3EmTVq5niS34W1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCRZAl%2FbtspH1HkKat%2FcKNBv6sg3EmTVq5niS34W1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;671&quot; height=&quot;696&quot; data-filename=&quot;01.png&quot; data-origin-width=&quot;671&quot; data-origin-height=&quot;696&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기본 클래스 구성은 위와 같고.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;사용법은 인스펙터에서 보고싶은 클래스의 Dictionary 와 같은 타입을 만든다음.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;넣어주면 끝난다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;03.png&quot; data-origin-width=&quot;944&quot; data-origin-height=&quot;625&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oMOB2/btspCl0YyBW/ciStUXbV3CJtBAmlsDpww0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oMOB2/btspCl0YyBW/ciStUXbV3CJtBAmlsDpww0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oMOB2/btspCl0YyBW/ciStUXbV3CJtBAmlsDpww0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoMOB2%2FbtspCl0YyBW%2FciStUXbV3CJtBAmlsDpww0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;944&quot; height=&quot;625&quot; data-filename=&quot;03.png&quot; data-origin-width=&quot;944&quot; data-origin-height=&quot;625&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 클래스에는 임시의 데이터를 Dictionary에 넣어서 테스트했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;UNITY_EDITOR로 묶은 이유는 인스펙터에서 보려고 만든거라.&amp;nbsp; 에디터에서만 동작하면 되어서 묶어줬다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;03.png&quot; data-origin-width=&quot;537&quot; data-origin-height=&quot;914&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bIc8YJ/btspK36dHrZ/9kFASvGECoPt36dFhhwOK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bIc8YJ/btspK36dHrZ/9kFASvGECoPt36dFhhwOK0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bIc8YJ/btspK36dHrZ/9kFASvGECoPt36dFhhwOK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbIc8YJ%2FbtspK36dHrZ%2F9kFASvGECoPt36dFhhwOK0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;537&quot; height=&quot;914&quot; data-filename=&quot;03.png&quot; data-origin-width=&quot;537&quot; data-origin-height=&quot;914&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인스펙터에서는 잘 표시 되어서 나온다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 오랫만에 게시물을 올리면서&amp;nbsp; 예전 게시물들을 찾아봤는데. 너무 옛날에 올린것들이라. 안 맞는게 많은거 같다...&lt;/p&gt;</description>
      <category>Program/Unity</category>
      <category>unity #Dictionary #Inspector</category>
      <author>헛소리</author>
      <guid isPermaLink="true">https://hanamoni.tistory.com/31</guid>
      <comments>https://hanamoni.tistory.com/31#entry31comment</comments>
      <pubDate>Wed, 2 Aug 2023 14:22:21 +0900</pubDate>
    </item>
    <item>
      <title>NGUI  Scroll View - Spring 관련.</title>
      <link>https://hanamoni.tistory.com/25</link>
      <description>&lt;p&gt;오랫만에 업데이트하는 블로그 내용.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Momentum And Spring&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;옵션을 주면.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;양끝.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;1~10번까지의 리스트가 있다면.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;1번에서 &amp;nbsp;리스트에 없는 0번위치까지 드래그가 되서 다시 1번으로 스프링되서 돌아오는 방식이다.(10번도 마찬가지 없는 11번으로 갔다가 다시 원래 10번으로 돌아옴)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Momentum&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;옵션은.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그냥 정확히 끝에 1번이나 10번에서 멈춰서 양끝으로 더이상 드래그가 되질 않는 방식이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이 두개를 합쳐서&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Momentum And Spring&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;옵션을 주고.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;한쪽방향은 더이상 못움직이게. &amp;nbsp; 한쪽방향은 스프링처럼 돌아오게 하려면.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;UIScrollView - 클래스에서.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div&gt;public bool m_BottomStop = false;&lt;/div&gt;&lt;div&gt;public bool m_TopStop = false;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;line-height: 1.5;&quot;&gt;변수 선언.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;line-height: 1.5;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;public void Drag () 의&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Vector3 constraint = mPanel.CalculateConstrainOffset(bounds.min, bounds.max);&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;if (constraint.magnitude &amp;gt; 1f)&lt;/div&gt;&lt;div&gt;{&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; MoveAbsolute(offset * 0.5f);&lt;/div&gt;&lt;div style=&quot;margin-left: 2em;&quot;&gt;mMomentum *= 0.5f;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;이부분에.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;if (constraint.magnitude &amp;gt; 1f)&lt;/div&gt;&lt;div&gt;{&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;MoveAbsolute(offset * 0.5f);&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;mMomentum *= 0.5f;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;line-height: 1.5;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//StopOption.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (m_BottomStop&amp;nbsp;== true)&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (offset.y &amp;gt; 0)&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;RestrictWithinBounds(true, canMoveHorizontally, canMoveVertically);&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (m_TopStop == true)&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (offset.y &amp;lt; 0)&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;RestrictWithinBounds(true, canMoveHorizontally, canMoveVertically);&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;이렇게 적어주고&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;m_BottomStop 과&amp;nbsp;&lt;span style=&quot;line-height: 1.5;&quot;&gt;m_&lt;/span&gt;&lt;span style=&quot;line-height: 1.5;&quot;&gt;TopStop&lt;/span&gt;&lt;span style=&quot;line-height: 1.5;&quot;&gt;&amp;nbsp; &amp;nbsp;에 True 값을 넣어줘서. 값을 셋팅해서 사용하면된다.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;line-height: 1.5;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;line-height: 1.5;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;line-height: 1.5;&quot;&gt;왼쪽 오른쪽도 만들고싶다면.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;line-height: 1.5;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;line-height: 1.5;&quot;&gt;offset.x 를 활용하면 된다.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Program/Unity</category>
      <author>헛소리</author>
      <guid isPermaLink="true">https://hanamoni.tistory.com/25</guid>
      <comments>https://hanamoni.tistory.com/25#entry25comment</comments>
      <pubDate>Tue, 23 Feb 2016 15:02:10 +0900</pubDate>
    </item>
    <item>
      <title>13개의 구슬 양팔저울문제.</title>
      <link>https://hanamoni.tistory.com/23</link>
      <description>&lt;p&gt;13개의 구슬이 존재하고 그 중 1개의 구슬 무게는 다르다(무거운지 가벼운지 모른다)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이 때 양팔저울 3번을 사용해서 다른 무게의 구슬을 구하라.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;------------------------------------------------------&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;예전에 떠돌던 12개의 구슬에서 한번 더 업그레이드 한거 같다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이론만 안다면 쉬운문제다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;-------------------------------------------------------&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;모든 구슬에 숫자를 새긴다. 1~13까지&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이하 숫자는 구슬이라고 보면 됨.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;첫번째 양팔저울 사용&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;1 2 3 4 &amp;nbsp; &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; 5 6 7 8 &amp;nbsp; &amp;nbsp; &amp;nbsp; 의 구슬을 잰다. &amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;첫번째 양팔저울에서 기울었을 경우&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;1~8번까지의 구슬에 무게가 다른 구슬이 존재한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;두번째 양팔저울 사용.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;1 7 8 &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; 5 6 2 &amp;nbsp; 의 구슬을 잰다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이렇게 쟀을경우&lt;/p&gt;&lt;p&gt;(2-1) 기울은 쪽이 바뀌었으면. 양팔저울 재는 곳을 이동한 7 8 2 구슬중에 하나가 무게가 다른공이고&lt;/p&gt;&lt;p&gt;(2-2) 기울은 쪽이 바뀌지 않았으면 그대로 있는 구슬인 1 5 6 구슬중의 하나가 무게가 다른공이다.&lt;/p&gt;&lt;p&gt;(2-3) 기울기가 수평을 유지하게 되면. 재지 않은 3 4 구슬중의 하나가 무게가 다른공이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;(2-1) 일 경우&amp;nbsp;&lt;/p&gt;&lt;p&gt;세번째 양팔저울 사용&lt;/p&gt;&lt;p&gt;7 &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp;8 &amp;nbsp; &amp;nbsp; &amp;nbsp;을 잰다.&lt;/p&gt;&lt;p&gt;기울기가 수평을 유지하게 되면. 2가 무게가 다른구슬&lt;/p&gt;&lt;p&gt;기울기가 바뀌면. 8 이 무게가 다른구슬&lt;/p&gt;&lt;p&gt;기울기가 그대로이면 7이 무게가 다른구슬&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;(2-2)일 경우.&lt;/p&gt;&lt;p&gt;세번째 양팔저울 사용&lt;/p&gt;&lt;p&gt;5 &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp;6 &amp;nbsp; &amp;nbsp; &amp;nbsp; 을 잰다.&lt;/p&gt;&lt;p&gt;기울기가 수평을 유지하게 되면. 1이 무게가 다른구슬&lt;/p&gt;&lt;p&gt;기울기가 바뀌면. 5 가 무게가 다른구슬&lt;/p&gt;&lt;p&gt;기울기가 그대로이면 6이 무게가 다른구슬&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;(2-3)일 경우&lt;/p&gt;&lt;p&gt;세번째 양팔저울 사용&lt;/p&gt;&lt;p&gt;3 &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp;(4를 제외한 무게가 다르지않다고 판명난 구슬 한개) &amp;nbsp; &amp;nbsp; &amp;nbsp;를 잰다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;기울기가 수평이면 4가 무게가 다른구슬&lt;/p&gt;&lt;p&gt;기울기가 그대로이면 3이 무게가 다른구슬.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;첫번째 양팔저울에서 기울지 않았을경우.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;9 ~ 13 의 다섯개 구슬안에 무게가 다른구슬이 존재한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;두번째 양팔저울 사용&lt;/p&gt;&lt;p&gt;9 10 11 &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; (12,13을 제외한 다른 구슬 3개)&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이렇게 재면.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;(2-1)양팔저울의&amp;nbsp;기울기가 수평이 아닐때.&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt; line-height: 1.5;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt; line-height: 1.5;&quot;&gt;무게가 다른 구슬 하나가 &amp;nbsp;9 10 11 중에 하나 있다면.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;무게가 가벼운지 무거운지 알수가 있다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;9 10 11 이 내려가면 . &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;무게가 다른 하나의 구슬은 무거운 구슬&lt;/p&gt;&lt;p&gt;9 10 11 이 올라가면&lt;/p&gt;&lt;p&gt;무게가 다른 하나의 구슬은 가벼운 구슬이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;(2-2)양팔저울의 기울기가 수평인경우.&lt;/p&gt;&lt;p&gt;12 와 13중의 하나가 무게가 다르다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;(2-1)일 경우&amp;nbsp;&lt;/p&gt;&lt;p&gt;세번째 양팔저울 사용&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;9 &amp;nbsp; | &amp;nbsp; 10 을 잰다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;2-1에서 이미 무게가 다른 구슬은 무거운지 가벼운지. 알수 있었기 때문에.&lt;/p&gt;&lt;p&gt;무게가 가벼운 구슬일 경우엔 올라가 있는 쪽이 13개중 다른구슬일테고.&lt;/p&gt;&lt;p&gt;무게가 무거운 구슬일 경우엔 내려가 있는 쪽이 13개중 다른구슬이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;9 와 10이 수평을 유지한다면&amp;nbsp;&lt;/p&gt;&lt;p&gt;11 이 다른 구슬이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;(2-2)일경우&amp;nbsp;&lt;/p&gt;&lt;p&gt;세번재 양팔저울 사용.&lt;/p&gt;&lt;p&gt;12 &amp;nbsp;| &amp;nbsp; (13을 제외한 다른구슬 1개) &amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;기울어 졌으면 &amp;nbsp; 12번 구슬이 무게가 다른구슬.&lt;/p&gt;&lt;p&gt;기울지 않았으면 13번 구슬이 무게가 다른 구슬이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Daily</category>
      <author>헛소리</author>
      <guid isPermaLink="true">https://hanamoni.tistory.com/23</guid>
      <comments>https://hanamoni.tistory.com/23#entry23comment</comments>
      <pubDate>Wed, 3 Jun 2015 12:11:39 +0900</pubDate>
    </item>
    <item>
      <title>Unity 파일 저장 그리고 불러오기. Serialize 사용법.</title>
      <link>https://hanamoni.tistory.com/21</link>
      <description>&lt;P&gt;파일을 저장할때. &lt;/P&gt;
&lt;P&gt;내가 만든 클래스를 가볍게 리스트로 만들어 &lt;/P&gt;
&lt;P&gt;파일을 저장하는 방법.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;C# 기준.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1. 파일 저장.&lt;/P&gt;
&lt;P&gt;//내 저장할 리스트.&lt;/P&gt;
&lt;P&gt;List&amp;lt;MyData&amp;gt;&amp;nbsp;m_MyData= new List&amp;lt;MyData&amp;gt; ();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BinaryFormatter&amp;nbsp;_binary_formatter = new BinaryFormatter();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;//각 플랫폼별 폴더 지정하는건 &lt;A href=&quot;http://blog.naver.com/nameisljk/110157303742&quot;&gt;http://blog.naver.com/nameisljk/110157303742&lt;/A&gt;&amp;nbsp; &amp;lt;-- 요 블로그에 잘 설명이 되있음&lt;/P&gt;
&lt;P&gt;//폴더와 파일이름 을 넣음&amp;nbsp;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;FileStream&amp;nbsp;_filestream = File.Create(Application.persistentDataPath + &quot;/TestSave.dat&quot;);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;//내가 저장할 리스트를 넣음.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;_binary_formatter .Serialize(filestream, m_MyData); &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;filestream .Close();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2. 파일 불러오기&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;//내가 파일을 만든 파일 혹은 불러올 파일이 있는지 없는지를 체크함.&lt;/P&gt;
&lt;P&gt;bool&amp;nbsp;_fhile_check&amp;nbsp;= File.Exists(pathForDocumentsFile(Application.persistentDataPath + &quot;/TestSave.dat&quot;));&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BinaryFormatter&amp;nbsp;_binary_formatter = new BinaryFormatter();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;//파일을 불러옴.&amp;nbsp; FileMode - Open 설정. &lt;/P&gt;
&lt;P&gt;FileStream&amp;nbsp;_filestream = File.Open( (pplication.persistentDataPath + &quot;/TestSave.dat&quot;) FileMode.Open);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;//불러온 파일을 변환. &lt;/P&gt;
&lt;P&gt;//내가 저장할 리스트 변수에 형변환해서 넣어줌.&lt;/P&gt;
&lt;P&gt;m_MyData= (List&amp;lt;MyData&amp;gt;)_binary_formatter .Deserialize(_lestream );&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;filestream .Close();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;3.&lt;/P&gt;
&lt;P&gt;여기에서 Serialize 를 사용하기 위해선&amp;nbsp; try ~ catch 문으로 감싸줘야 함.&lt;br /&gt;Serialize 에 자신이 만든 클래스를 넣기 위해선 자신이 만든 클래스 위에 [System.Serializable] 를 선언해줘야 함.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;ex)&lt;/P&gt;
&lt;P&gt;[System.Serializable]&lt;br /&gt;public class MyData&lt;br /&gt;{&lt;/P&gt;
&lt;P style=&quot;MARGIN-LEFT: 2em&quot;&gt;private int m_Index = 0;&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;4.&lt;/P&gt;
&lt;P&gt;using UnityEngine;&lt;br /&gt;using System.Collections;&lt;/P&gt;
&lt;P&gt;//List&lt;br /&gt;using System.Collections.Generic;&lt;/P&gt;
&lt;P&gt;//try catch Exctption&lt;/P&gt;
&lt;P&gt;using System;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;//Filestream &lt;br /&gt;using System.IO;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;//BinaryFormatter 등등&lt;br /&gt;using System.Runtime.Serialization;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;using System.Runtime.Serialization.Formatters.Binary;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;br /&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <category>Program/Unity</category>
      <author>헛소리</author>
      <guid isPermaLink="true">https://hanamoni.tistory.com/21</guid>
      <comments>https://hanamoni.tistory.com/21#entry21comment</comments>
      <pubDate>Tue, 17 Feb 2015 11:36:05 +0900</pubDate>
    </item>
    <item>
      <title>일괄적으로 Texture Import Setting 변경</title>
      <link>https://hanamoni.tistory.com/20</link>
      <description>&lt;P&gt;작업을 하다보니..&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;새로 등록한 이미지들의 Import Setting 바꿔주는 부분이 귀찮아서...&lt;/P&gt;
&lt;P&gt;기존 작업방식은 추가한것들 한꺼번에 클릭후 Inspector 에서 동일하게 바꿔주는 방법이였는데..&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;정말 귀찮아서..만든 클래스.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;사용법은 &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Assets 폴더 안에 Editor 폴더를 만들고 혹은 거기에 넣고 &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;텍스쳐들이 들어있는 폴더나 바꾸고자 하는텍스쳐에 마우스 오른버튼을 클릭하면. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;생성되어있는 MySpriteSet&amp;nbsp; 이라는 메뉴를 클릭하면 사용자가 기본설정해논 텍스쳐 옵션대로 모든 텍스쳐가 셋팅된다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;스크립트 속 기본이 되는 텍스쳐&amp;nbsp;옵션은 사용자에 맞춰 변경하면 됨. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/2225E34454CB32BD01&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/unknown.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;SetTexture.cs&lt;/a&gt;&lt;/span&gt;&lt;/P&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Program/Unity</category>
      <author>헛소리</author>
      <guid isPermaLink="true">https://hanamoni.tistory.com/20</guid>
      <comments>https://hanamoni.tistory.com/20#entry20comment</comments>
      <pubDate>Fri, 30 Jan 2015 16:33:26 +0900</pubDate>
    </item>
    <item>
      <title>LitJson, SimpleJson, XML 비교</title>
      <link>https://hanamoni.tistory.com/19</link>
      <description>&lt;P&gt;클라에서 사용할 DB를 만들기 위해 &lt;/P&gt;
&lt;P&gt;XML과 Json 형식을 테스트 해보았습니다.&lt;/P&gt;
&lt;P&gt;용량&lt;/P&gt;
&lt;P&gt;원본 Excel 파일 - 약 1.3메가&lt;/P&gt;
&lt;P&gt;XML 파일로 변환 - 약 8메가&lt;/P&gt;
&lt;P&gt;Json 파일로 변환 - 약 3.7메가&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;읽어와서 자료형으로 저장하는데까지 걸리는 시간. (비율만 보시면됩니다.)&lt;/P&gt;
&lt;P&gt;Unity&amp;nbsp;자체 지원&amp;nbsp;Xml로 파싱 - 10초&lt;/P&gt;
&lt;P&gt;SimpleJson&amp;nbsp;으로 Json 파싱 - 10.5초 ~ 11초&lt;/P&gt;
&lt;P&gt;LitJson으로 Json 파싱 - 20초&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;코드에서 사용하기 편리한순서.&lt;/P&gt;
&lt;P&gt;LitJson &amp;gt; SimpleJson&amp;nbsp;== Xml&lt;/P&gt;
&lt;P&gt;LitJson 은 불러올때 형식을 맞춰서 클래스로 바로 저장가능하기때문에 편합니다.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;결론..&lt;/P&gt;
&lt;P&gt;클라와 서버간의 통신시 Json으로 주고받을땐 LitJson 으로 편하게. DB 내용이 많아지면 많아질수록. 너무 느림. 간단한 통신시에는 편함.&lt;/P&gt;
&lt;P&gt;어플 용량에 신경써줘야 할경우 SimpleJson 으로&lt;/P&gt;
&lt;P&gt;어플 용량에 신경쓸필요없이 속도만 낼경우 XML &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <category>Program/Unity</category>
      <author>헛소리</author>
      <guid isPermaLink="true">https://hanamoni.tistory.com/19</guid>
      <comments>https://hanamoni.tistory.com/19#entry19comment</comments>
      <pubDate>Thu, 29 Jan 2015 17:15:27 +0900</pubDate>
    </item>
    <item>
      <title>LayoutInflater</title>
      <link>https://hanamoni.tistory.com/15</link>
      <description>LayoutInflater&amp;nbsp; ?&amp;nbsp; &amp;lt;&amp;lt; --- 오늘 처음 이걸 봤는데 ( 1~2시간전에 봤다.)&lt;br /&gt;&lt;br /&gt;... 인터넷에서 설명들을 찾아보니 엄청 복잡하네 -ㅅ-;&lt;br /&gt;&lt;br /&gt;뭐 쓰는 법은 다른 분들 블로그에 많을테니.. 일단 그냥 설명만 적어야겠다..&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;일단&amp;nbsp; import android.view.LayoutInflater;&amp;nbsp; 해주고....&lt;br /&gt;&lt;br /&gt;음.. 대충 내가 이해하기론 그렇다.&lt;br /&gt;&lt;br /&gt;SetContentView 한 레이아웃위에 .. &lt;br /&gt;&lt;br /&gt;다른레이아웃. &amp;lt;-- 팝업창같은 느낌?&amp;nbsp; &lt;br /&gt;&lt;br /&gt;을 띄울때 사용한다고나 할까? &lt;br /&gt;&lt;br /&gt;자식레이아웃으로 들어간다고나할까하는 느낌이다...&lt;br /&gt;&lt;br /&gt;더 설명이 필요한가 -ㅅ-;; ㅋㅋㅋ&lt;br /&gt;&lt;br /&gt;</description>
      <category>Program/Android</category>
      <author>헛소리</author>
      <guid isPermaLink="true">https://hanamoni.tistory.com/15</guid>
      <comments>https://hanamoni.tistory.com/15#entry15comment</comments>
      <pubDate>Tue, 7 Sep 2010 17:49:58 +0900</pubDate>
    </item>
    <item>
      <title>아 이게 이 에러 였구나.......</title>
      <link>https://hanamoni.tistory.com/13</link>
      <description>[2010-08-23 11:18:22 - XXXXXXX] Failed to upload XXXXXXX.apk on device 'XXXXXXXXXX'&lt;br /&gt;[2010-08-23 11:18:22 - XXXXXXX] java.io.IOException: Unable to upload file: timeout&lt;br /&gt;[2010-08-23 11:18:22 - XXXXXXX] Launch canceled!&lt;br /&gt;&lt;br /&gt;본인은 갤럭시 S 를 개발용 폰으로 쓰고 있다. 어느 날 부터. &lt;br /&gt;&lt;br /&gt;저런 메세지가 뜨기 시작하더니 갤럭시 S 에 디버깅이 안되기 시작..&lt;br /&gt;&lt;br /&gt;올리는데 시간이 초과했다나 머라나..&lt;br /&gt;&lt;br /&gt;저번에 갤럭시 S 펌업을 하면서 무슨 문제가 생긴 모양인데...&lt;br /&gt;&lt;br /&gt;좀 작은 예제용 프로젝트들은 잘 갤럭시에서 디버깅이 되지만 정작.. 내가 디버깅해야할&lt;br /&gt;&lt;br /&gt;내 프로젝트는... 디버깅이 안되는 상황... 흙..&lt;br /&gt;&lt;br /&gt;이제서야 그 해결책을 겨우 찾았다...&lt;br /&gt;&lt;br /&gt;이렇게 간단할 줄이야...&lt;br /&gt;&lt;br /&gt;이클립스 설정만 바꾸면 해결 되어지는 문제였다..... 이런 된장...&lt;br /&gt;&lt;br /&gt;방법은&lt;br /&gt;&lt;br /&gt;Window -&amp;gt; Preferences -&amp;gt; Android -&amp;gt; DDMS &lt;br /&gt;&lt;br /&gt;로 가면 &lt;br /&gt;&lt;br /&gt;오른쪽 중간쯤에 위치한&lt;br /&gt;&lt;br /&gt;ADB connection time out (ms) :&amp;nbsp; &lt;br /&gt;&lt;br /&gt;라는게 존재한다..&lt;br /&gt;&lt;br /&gt;별다른 내용이 없다면. 4000 &amp;lt;- 으로 초기 설정되어 있을것이다..&lt;br /&gt;&lt;br /&gt;이 수치를 마구마구 늘려주면 된다...&lt;br /&gt;&lt;br /&gt;난 100000 (100초)까지 올렸다. &lt;br /&gt;&lt;br /&gt;어우 이렇게 간단한걸... 왜 안되나 고민을 하며.. &lt;br /&gt;&lt;br /&gt;apk 파일을 만들고 adb install 로 계속 셋팅해주면서... 디버깅을 하고 있었다니.. &lt;br /&gt;&lt;br /&gt;나도 참 노가다다 인생이다 노가다 인생...후...&lt;br /&gt;</description>
      <category>Program/Android</category>
      <author>헛소리</author>
      <guid isPermaLink="true">https://hanamoni.tistory.com/13</guid>
      <comments>https://hanamoni.tistory.com/13#entry13comment</comments>
      <pubDate>Mon, 23 Aug 2010 16:13:15 +0900</pubDate>
    </item>
  </channel>
</rss>