Unity c# for designer - 5강 (미니게임 만들며 Script 배우기)
NGUI를 이용한 캐릭터 이동
원활한 수업을 위해 예제 리소스들을 미리 배치해 두었습니다.(무료어셋)
오늘은 캐릭터를 정해진 값 만큼 부드럽게 이동하는 코드와 캐릭터를 부드럽게
따라가는 스크립트를 작성하겠습니다.
캐릭터 이동 스크립트
using UnityEngine; using System.Collections; public class CharMove : MonoBehaviour { public GameObject Target; private bool OnForward = false; private float TargetPosition; private float TargetSetPosition; public float MovePower = 50.0f; // Use this for initialization void Start () { }
// Update is called once per frame void Update () {
if(OnForward){
Target.gameObject.transform.position += new Vector3(MovePower,0,0)*Time.deltaTime; TargetPosition = Target.gameObject.transform.position.x; if(TargetPosition >= TargetSetPosition){ OnForward = false; } } } public void CharForwardMove(){ Debug.Log ("Forward!"); TargetSetPosition = Target.gameObject.transform.position.x + MovePower; OnForward = true; } public void CharRightMove(){ Debug.Log ("Right!"); } public void CharLeftMove(){ Debug.Log ("Left!"); } } |
부드럽게 따라가는 카메라 이동 스크립트
using UnityEngine; using System.Collections; public class Cam : MonoBehaviour { public Transform Target; public Transform Camera; private Vector3 CamPos; public float CamX; public float CamY; public float CamSpeed; // Use this for initialization void Start () {
}
// Update is called once per frame void Update () { CamPos = new Vector3 (Target.position.x + CamX , CamY, Target.transform.position.z); Camera.transform.position = Vector3.Lerp (Camera.transform.position, CamPos, Time.smoothDeltaTime * CamSpeed); } } |
플레이 영상
과제
외쪽이동, 오른쪽 이동코드를 작성해 오세요.~ (캐릭터 회전은 다음시간에 알려드립니다.)
'Unity공부 > Unity C# 사내 스터디' 카테고리의 다른 글
Unity c# for designer - 6강(회전,충돌) (0) | 2017.01.23 |
---|---|
Unity c# for designer - 5강 보충 수업 (0) | 2016.12.02 |
Unity c# for designer 4강 / 클래스 (0) | 2016.11.28 |
Unity c# for designer 3강 / 제어문 (0) | 2016.08.19 |
Unity c# for designer 2강 / 연산자 (0) | 2016.08.01 |