카테고리 없음 2016.04.27 15:14

소설 - 1


소설 - 2


소설 - 3


소설 - 4


소설 - 5


소설 - 6


소설 - 7


상점


로비


상품구매



posted by 헛소리

댓글을 달아 주세요

Program/Unity 2016.02.23 15:02

오랫만에 업데이트하는 블로그 내용.



Momentum And Spring 


옵션을 주면.


양끝.


1~10번까지의 리스트가 있다면.


1번에서  리스트에 없는 0번위치까지 드래그가 되서 다시 1번으로 스프링되서 돌아오는 방식이다.(10번도 마찬가지 없는 11번으로 갔다가 다시 원래 10번으로 돌아옴)


Momentum 


옵션은.


그냥 정확히 끝에 1번이나 10번에서 멈춰서 양끝으로 더이상 드래그가 되질 않는 방식이다.




이 두개를 합쳐서 


Momentum And Spring 


옵션을 주고.


한쪽방향은 더이상 못움직이게.   한쪽방향은 스프링처럼 돌아오게 하려면.



UIScrollView - 클래스에서.


public bool m_BottomStop = false;
public bool m_TopStop = false;

변수 선언.

public void Drag () 의 

Vector3 constraint = mPanel.CalculateConstrainOffset(bounds.min, bounds.max);

if (constraint.magnitude > 1f)
{
    MoveAbsolute(offset * 0.5f);
mMomentum *= 0.5f;

}

이부분에.


if (constraint.magnitude > 1f)
{
MoveAbsolute(offset * 0.5f);
mMomentum *= 0.5f;

       //StopOption.
       if (m_BottomStop == true)
       {
             if (offset.y > 0)
               RestrictWithinBounds(true, canMoveHorizontally, canMoveVertically);
        }
        if (m_TopStop == true)
        {
              if (offset.y < 0)
                 RestrictWithinBounds(true, canMoveHorizontally, canMoveVertically);
         }
}

이렇게 적어주고

m_BottomStop 과 m_TopStop   에 True 값을 넣어줘서. 값을 셋팅해서 사용하면된다.


왼쪽 오른쪽도 만들고싶다면.

offset.x 를 활용하면 된다.
                        









posted by 헛소리

댓글을 달아 주세요

  1.  Addr  Edit/Del  Reply blueasa

    정보 땡큐~ :)

    2016.02.23 15:38 신고

Daily 2015.06.03 12:11

13개의 구슬이 존재하고 그 중 1개의 구슬 무게는 다르다(무거운지 가벼운지 모른다)


이 때 양팔저울 3번을 사용해서 다른 무게의 구슬을 구하라.


------------------------------------------------------


예전에 떠돌던 12개의 구슬에서 한번 더 업그레이드 한거 같다.


이론만 안다면 쉬운문제다.


-------------------------------------------------------


모든 구슬에 숫자를 새긴다. 1~13까지


이하 숫자는 구슬이라고 보면 됨.


첫번째 양팔저울 사용


1 2 3 4      |     5 6 7 8       의 구슬을 잰다.  



첫번째 양팔저울에서 기울었을 경우


1~8번까지의 구슬에 무게가 다른 구슬이 존재한다.


두번째 양팔저울 사용. 


1 7 8     |     5 6 2   의 구슬을 잰다.


이렇게 쟀을경우

(2-1) 기울은 쪽이 바뀌었으면. 양팔저울 재는 곳을 이동한 7 8 2 구슬중에 하나가 무게가 다른공이고

(2-2) 기울은 쪽이 바뀌지 않았으면 그대로 있는 구슬인 1 5 6 구슬중의 하나가 무게가 다른공이다.

(2-3) 기울기가 수평을 유지하게 되면. 재지 않은 3 4 구슬중의 하나가 무게가 다른공이다.



(2-1) 일 경우 

세번째 양팔저울 사용

7    |    8      을 잰다.

기울기가 수평을 유지하게 되면. 2가 무게가 다른구슬

기울기가 바뀌면. 8 이 무게가 다른구슬

기울기가 그대로이면 7이 무게가 다른구슬


(2-2)일 경우.

세번째 양팔저울 사용

5    |    6       을 잰다.

기울기가 수평을 유지하게 되면. 1이 무게가 다른구슬

기울기가 바뀌면. 5 가 무게가 다른구슬

기울기가 그대로이면 6이 무게가 다른구슬


(2-3)일 경우

세번째 양팔저울 사용

3    |    (4를 제외한 무게가 다르지않다고 판명난 구슬 한개)      를 잰다.


기울기가 수평이면 4가 무게가 다른구슬

기울기가 그대로이면 3이 무게가 다른구슬.







첫번째 양팔저울에서 기울지 않았을경우.



9 ~ 13 의 다섯개 구슬안에 무게가 다른구슬이 존재한다.


두번째 양팔저울 사용

9 10 11    |     (12,13을 제외한 다른 구슬 3개) 


이렇게 재면.


(2-1)양팔저울의 기울기가 수평이 아닐때.


무게가 다른 구슬 하나가  9 10 11 중에 하나 있다면. 


무게가 가벼운지 무거운지 알수가 있다.


9 10 11 이 내려가면 .   

무게가 다른 하나의 구슬은 무거운 구슬

9 10 11 이 올라가면

무게가 다른 하나의 구슬은 가벼운 구슬이다.


(2-2)양팔저울의 기울기가 수평인경우.

12 와 13중의 하나가 무게가 다르다.



(2-1)일 경우 

세번째 양팔저울 사용


9   |   10 을 잰다.


2-1에서 이미 무게가 다른 구슬은 무거운지 가벼운지. 알수 있었기 때문에.

무게가 가벼운 구슬일 경우엔 올라가 있는 쪽이 13개중 다른구슬일테고.

무게가 무거운 구슬일 경우엔 내려가 있는 쪽이 13개중 다른구슬이다.


9 와 10이 수평을 유지한다면 

11 이 다른 구슬이다.



(2-2)일경우 

세번재 양팔저울 사용.

12  |   (13을 제외한 다른구슬 1개)  


기울어 졌으면   12번 구슬이 무게가 다른구슬.

기울지 않았으면 13번 구슬이 무게가 다른 구슬이다.






'Daily' 카테고리의 다른 글

13개의 구슬 양팔저울문제.  (0) 2015.06.03
아아 파견온지 둘째날.  (0) 2010.09.07
posted by 헛소리

댓글을 달아 주세요

Program/Unity 2015.04.21 18:47

NGUI 새로운 버젼.. 


해상도가 안맞아서 해상도에 맞게 늘릴려고 만든. 코드.


UIRoot 에서


기준을 1280 X 720 할때.


Inspector Window 에서 설정.

Scaling Style - Constrained On Mobiles

Content Width - 1280 Fit  Check 

Content Height - 720 Fit  Check



UIRoot 스크립트 에서  변경.



void Update ()  에서.


mTrans.localScale = new Vector3(size, size, size);  < -  이코드를 




float x_value = (screen.x / 1280f);

float temp_value = (720f * x_value);

float y_value = screen.y / temp_value;


mTrans.localScale = new Vector3(size , size * y_value, size );


요렇게 변경하면


기준 1280 x 720 으로 잡고 모든해상도에 맞게 잘 늘어나거나 줄어든다.





posted by 헛소리

댓글을 달아 주세요

  1.  Addr  Edit/Del  Reply blueasa

    땡큐~

    2015.04.21 19:55 신고
  2.  Addr  Edit/Del  Reply 지나가던 개발자

    감사합니다.
    그런데 이럴시 스크롤 뷰 는 아예 출력이 안되는데요. 따로 처리가 필요할까요?

    2015.06.12 16:40
    •  Addr  Edit/Del 헛소리

      다른 문제가 있어보입니다.
      해당코드를 넣은 UIRoot를 사용한 스크롤뷰 데모버전에서는 문제가 없는것으로 확인했습니다.

      2015.06.17 12:38 신고
    •  Addr  Edit/Del 지나가던 개발자

      답변 감사합니다. 제가 NGUI 최신 버전이라서 그런것인지.
      현재 NGUI Example 7 에서도 같은 현상이 발견되네요;;
      여하튼 답변 감사합니다^^

      2015.06.19 15:09
  3.  Addr  Edit/Del  Reply ㅇㅇ

    디버그에 The name `screen' does not exist in the current context 뜨는뎅..

    버전이 다른지 void Update();에는 screen 변수 선언부분이 없나봐요..

    일단 update()에 Vector2 screen = NGUITools.screenSize; 넣어서 변수 선언 하는걸로 해결했는데 맞는지 모르겠네요..

    2015.06.22 01:05
  4.  Addr  Edit/Del  Reply 지나가던 개발자

    문제를 해결하지 못해서 다시 한번 질문을 드립니다.
    혹 screen.x , y 가 Screen.width / Screen.height 이 맞는지요?

    2015.07.01 23:08
    •  Addr  Edit/Del 헛소리

      예예 맞습니다.
      현재화면 크기와 기본으로 설정해놓은 1280 / 720 의 비율을 구하기 위한 식입니다.

      2015.07.05 21:23 신고
  5.  Addr  Edit/Del  Reply 지나가던 개발자

    안녕하세요. 문제가 제대로 해결이 안되어서 한가지 여쭤보겠습니다.
    현재 위의 코드가 잘 되는데요.
    혹 UIPanel 에서 SoftClip 시 아예 (판넬 안에 있는 자식들이)나타나지 않거나 제대로 클리핑이 되지 않는데요.
    혹 이에 대한 것을 경험한 적이 있으신지 궁금합니다.
    그리고 혹 NGUI 버전 좀 알 수 있을까요?

    2015.07.13 16:31

Program/Unity 2015.02.17 11:36

파일을 저장할때.

내가 만든 클래스를 가볍게 리스트로 만들어

파일을 저장하는 방법.

 

C# 기준.

 

1. 파일 저장.

//내 저장할 리스트.

List<MyData> m_MyData= new List<MyData> ();

 

 

 

BinaryFormatter _binary_formatter = new BinaryFormatter();

 

//각 플랫폼별 폴더 지정하는건 http://blog.naver.com/nameisljk/110157303742  <-- 요 블로그에 잘 설명이 되있음

//폴더와 파일이름 을 넣음 .

 

FileStream _filestream = File.Create(Application.persistentDataPath + "/TestSave.dat");

 

//내가 저장할 리스트를 넣음.

 

_binary_formatter .Serialize(filestream, m_MyData);

 

filestream .Close();

 

 

 

 

2. 파일 불러오기

 

//내가 파일을 만든 파일 혹은 불러올 파일이 있는지 없는지를 체크함.

bool _fhile_check = File.Exists(pathForDocumentsFile(Application.persistentDataPath + "/TestSave.dat"));

 

 

BinaryFormatter _binary_formatter = new BinaryFormatter();

 

//파일을 불러옴.  FileMode - Open 설정.

FileStream _filestream = File.Open( (pplication.persistentDataPath + "/TestSave.dat") FileMode.Open);

 

//불러온 파일을 변환.

//내가 저장할 리스트 변수에 형변환해서 넣어줌.

m_MyData= (List<MyData>)_binary_formatter .Deserialize(_lestream );


filestream .Close();

 

 


3.

여기에서 Serialize 를 사용하기 위해선  try ~ catch 문으로 감싸줘야 함.
Serialize 에 자신이 만든 클래스를 넣기 위해선 자신이 만든 클래스 위에 [System.Serializable] 를 선언해줘야 함.

 

ex)

[System.Serializable]
public class MyData
{

private int m_Index = 0;

}

 

 

 

4.

using UnityEngine;
using System.Collections;

//List
using System.Collections.Generic;

//try catch Exctption

using System;  

//Filestream
using System.IO; 

//BinaryFormatter 등등
using System.Runtime.Serialization; 

using System.Runtime.Serialization.Formatters.Binary;

 


 


 

 

 

 

 

 

 

 

posted by 헛소리

댓글을 달아 주세요

  1.  Addr  Edit/Del  Reply ㅋㅋㅋㅋ

    바보야 ㅋㅋㅋㅋ 메롱

    2015.02.18 13:45

Program/Unity 2015.01.30 16:33

작업을 하다보니..

 

새로 등록한 이미지들의 Import Setting 바꿔주는 부분이 귀찮아서...

기존 작업방식은 추가한것들 한꺼번에 클릭후 Inspector 에서 동일하게 바꿔주는 방법이였는데..

 

정말 귀찮아서..만든 클래스.

 

사용법은

 

Assets 폴더 안에 Editor 폴더를 만들고 혹은 거기에 넣고

 

텍스쳐들이 들어있는 폴더나 바꾸고자 하는텍스쳐에 마우스 오른버튼을 클릭하면.

 

생성되어있는 MySpriteSet  이라는 메뉴를 클릭하면 사용자가 기본설정해논 텍스쳐 옵션대로 모든 텍스쳐가 셋팅된다.

 

스크립트 속 기본이 되는 텍스쳐 옵션은 사용자에 맞춰 변경하면 됨.

 

 

 

SetTexture.cs

 

posted by 헛소리

댓글을 달아 주세요

Program/Unity 2015.01.29 17:15

클라에서 사용할 DB를 만들기 위해

XML과 Json 형식을 테스트 해보았습니다.

용량

원본 Excel 파일 - 약 1.3메가

XML 파일로 변환 - 약 8메가

Json 파일로 변환 - 약 3.7메가

 

읽어와서 자료형으로 저장하는데까지 걸리는 시간. (비율만 보시면됩니다.)

Unity 자체 지원 Xml로 파싱 - 10초

SimpleJson 으로 Json 파싱 - 10.5초 ~ 11초

LitJson으로 Json 파싱 - 20초

 

코드에서 사용하기 편리한순서.

LitJson > SimpleJson == Xml

LitJson 은 불러올때 형식을 맞춰서 클래스로 바로 저장가능하기때문에 편합니다.

 

결론..

클라와 서버간의 통신시 Json으로 주고받을땐 LitJson 으로 편하게. DB 내용이 많아지면 많아질수록. 너무 느림. 간단한 통신시에는 편함.

어플 용량에 신경써줘야 할경우 SimpleJson 으로

어플 용량에 신경쓸필요없이 속도만 낼경우 XML

 

posted by 헛소리

댓글을 달아 주세요

Program/Android 2010.09.07 17:49
LayoutInflater  ?  << --- 오늘 처음 이걸 봤는데 ( 1~2시간전에 봤다.)

... 인터넷에서 설명들을 찾아보니 엄청 복잡하네 -ㅅ-;

뭐 쓰는 법은 다른 분들 블로그에 많을테니.. 일단 그냥 설명만 적어야겠다..


일단  import android.view.LayoutInflater;  해주고....

음.. 대충 내가 이해하기론 그렇다.

SetContentView 한 레이아웃위에 ..

다른레이아웃. <-- 팝업창같은 느낌? 

을 띄울때 사용한다고나 할까?

자식레이아웃으로 들어간다고나할까하는 느낌이다...

더 설명이 필요한가 -ㅅ-;; ㅋㅋㅋ

'Program > Android' 카테고리의 다른 글

LayoutInflater  (0) 2010.09.07
아 이게 이 에러 였구나.......  (0) 2010.08.23
posted by 헛소리

댓글을 달아 주세요

Daily 2010.09.07 17:33
파견 온지 이틀 댔구나...

우우우.... 소스 분석중....

FB 리더 ? 오픈소스인데..  좀 여러개를 섞어놔서 .. 파악하는데 시간이 걸릴듯..

대충 책갈피 할 위치를 찾긴 찾은거 같은데...

이거 왜이렇게 꼬아놓은건지.. ㄷㄷ 힘들다 힘들어..

날씨는 점점 풀려서 시원해지고 있는건지 태풍때문에 바람이 불어 지금만 시원한건지 모르겠네.

아우 ㅋㅋㅋ

날씨는 시원하구 이제 곧 추워지겠지 ㅠ_ㅠ

내옆엔 ? ㅠ_ㅠ

곧 솔로부대 탈출할까? ㅠ_ㅠ

'Daily' 카테고리의 다른 글

13개의 구슬 양팔저울문제.  (0) 2015.06.03
아아 파견온지 둘째날.  (0) 2010.09.07
posted by 헛소리

댓글을 달아 주세요

Program/Android 2010.08.23 16:13
[2010-08-23 11:18:22 - XXXXXXX] Failed to upload XXXXXXX.apk on device 'XXXXXXXXXX'
[2010-08-23 11:18:22 - XXXXXXX] java.io.IOException: Unable to upload file: timeout
[2010-08-23 11:18:22 - XXXXXXX] Launch canceled!

본인은 갤럭시 S 를 개발용 폰으로 쓰고 있다. 어느 날 부터.

저런 메세지가 뜨기 시작하더니 갤럭시 S 에 디버깅이 안되기 시작..

올리는데 시간이 초과했다나 머라나..

저번에 갤럭시 S 펌업을 하면서 무슨 문제가 생긴 모양인데...

좀 작은 예제용 프로젝트들은 잘 갤럭시에서 디버깅이 되지만 정작.. 내가 디버깅해야할

내 프로젝트는... 디버깅이 안되는 상황... 흙..

이제서야 그 해결책을 겨우 찾았다...

이렇게 간단할 줄이야...

이클립스 설정만 바꾸면 해결 되어지는 문제였다..... 이런 된장...

방법은

Window -> Preferences -> Android -> DDMS

로 가면

오른쪽 중간쯤에 위치한

ADB connection time out (ms) : 

라는게 존재한다..

별다른 내용이 없다면. 4000 <- 으로 초기 설정되어 있을것이다..

이 수치를 마구마구 늘려주면 된다...

난 100000 (100초)까지 올렸다.

어우 이렇게 간단한걸... 왜 안되나 고민을 하며..

apk 파일을 만들고 adb install 로 계속 셋팅해주면서... 디버깅을 하고 있었다니..

나도 참 노가다다 인생이다 노가다 인생...후...

'Program > Android' 카테고리의 다른 글

LayoutInflater  (0) 2010.09.07
아 이게 이 에러 였구나.......  (0) 2010.08.23
posted by 헛소리

댓글을 달아 주세요