GSI

Only the original thread that created a view hierarchy can touch its views


이런 오류가 날때가 있다.

무심고 아무 스레드나 코드에 UI 업데이트를 하는 부분을 추가 하면 발생 한다.


단순하게 아래 코드와 같이 실행하면 된다.


해당 클래스에 아래 코드를 추가 한다.

final Handler handler = new Handler()
{
public void handleMessage(Message msg)
{
((InterDrawItemAdapter)list.getAdapter()).notifyDataSetChanged();
}
};

UI를 해야 할때 아래 코드를 추가 한다.

Message message = handler.obtainMessage();
handler.sendMessage(message);

이상.

Posted by gsi
:

Button을 Prefab로 등록한후 게임상에서 환경에 따라서 Button을 여러개 생성해야할 경우가 생긴다.

부모가 되는 GameObject의 Transform 객체 하부로 연결하면 된다.


> GameController 는 Main Camera 에 스크립트로 등록한다.

> uiRoot는 UI의 최상의 Canvas 객체이다.

> tileButton는 Prefab로 등록되어 있는 버튼 객체이다.


Start() 함수에서

Instantiate (tileButton); 이 코드만 실행하면 Root의 자식으로 생기기 때문에 

원래 의도한 Canvas의 자식으로 생성되지 않는다.

아래와 같은 코드로 하게 되면 자식으로 등록이 된다.


-- 코드 --

using UnityEngine;

using UnityEngine.UI;

using System.Collections;


public class GameController : MonoBehaviour {


public GameObject uiRoot;

public Button tileButton;


// Use this for initialization

void Start () {

Button child = Instantiate (tileButton);

child.transform.parent = uiRoot.transform;

}

// Update is called once per frame

void Update () {

}

}


하지만 위와 같이 하면 동작은 되지만 아래와 같은 메시지가 뜨게 된다.

Parent of RectTransform is being set with parent property. Consider using the SetParent method instead, with the worldPositionStays argument set to false. This will retain local orientation and scale rather than world orientation and scale, which can prevent common UI scaling issues.


이 경우 SetParent()를 사용하면 된다.


child.transform.parent = uiRoot.transform;

child.transform.SetParent (uiRoot.transform);

Posted by gsi
:

UI Image 객체의 Width를 코드상에서 줄이는 방버은 아래와 같습니다.


using UnityEngine.UI;

네임 스페이스 지정합니다.


public Image ScoreBar;

객체를 연결하기 위해서 선언을 합니다.

에디터 상에서 Image 객체를 연결합니다.


ScoreBar.rectTransform.sizeDelta = new Vector2 (120, 14);


이렇게 하면 Width의 값이 120으로 Height의 값이 14로 변경됩니다.


--이상--

Posted by gsi
:

UICanvas 전환효과주기 소스


최근에 공부하면서 심플하게 처리하는 방법 정리한 자료 입니다.


유니티_Canvas전환_코드.pdf


UICanvasSwitch2.zip


Posted by gsi
:

[더블오 2기 - 20화 UI 스샷

UI 2009. 2. 23. 03:51 |

01234567

Posted by gsi
: