코인 주머니를 딱 먹으면 그 값만큼 코인들이 주변에 퐁퐁퐁생겨나서 코인 개수 UI쪽으로 쇼로로로록 날아가는 그런 작업을 구현중입니다.
두트윈 사용중이구요
for (int i = 0; i < value; i++)
{
GameObject go = GameManager.instance.CoinEffect(new Vector3(transform.position.x + Random.Range(-0.2f, 0.2f), transform.position.y + Random.Range(-0.2f, 0.2f), 0));
go.transform.DOMove(GameObject.Find("UI_Coin_Sprite").transform.position, Random.Range(1.7f, 2.3f)).SetEase(Ease.InOutBack).OnComplete(() => {
GameManager.instance.CoinMod(1);
go.SetActive(false);
cnt++;
});
}
요런 식으로 지금 구현 중인데....
문제는 저 UI_Coin_Sprite.transform.position이 월드 좌표로 찍혀서 코인이 UI가 "있던 곳"으로 날아간다는 겁니다... 캐릭터는 끊임없이 움직이거든요.
이걸 스크린 좌표를 딱 정해서 날아가게끔 만들수는없나요?
따라가는건 코인에다가 스크립트 하나 박고 update 절에서 한다던가 하면 걍 편할거 같은데.. 코인이 많나?
코인이 이미 출발해서 움직이는 동안에도 목적지가 계속해서 바뀐다는건데... 이 사양에서는 update 안쓰는 방법으로 follow 할 수 있는 방법이 거의 없을 것 같음
쩝 결국 Update군요 감사합니다! 그렇게라도 해보겠습니다!
camera.WorldToScreenPoint(위치) 쓰면 변환된 값 반환되지 않음?
DOAnchorPos () 사용하면 됨 , 캔버스 이미지로 이동시키면 월드좌표에 영향을 안받음. 타겟위치는 rectTransform.localPosition.