210711
unity_beginner #7
transform 이외에도 다른 component가 많다. 이런 component를 script 에서 읽기위해선 어떻게 하는가?
inspector 옆 설정 -> edit script
-아래 코드는 Ball의 Script이다
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Ball : MonoBehaviour // Ball -> 클래스의 이름 , MonoBehaviour -> 유니티 클래스에서 기본적으로 적어야하는 코드
{
int count = 1;
float startingPoint;
bool shouldPrintOver20 = true;
bool shouldPrintOver30 = true;
// Method
// Start is called before the first frame update 시작될 때
void Start()
{
Rigidbody myRigidbody = GetComponent<Rigidbody>();
Debug.Log("UseGravity?:"+myRigidbody.useGravity);
Debug.Log("Start"); //괄호안의 내용을 콘솔에 출력
startingPoint = transform.position.z;
}
// Update is called once per frame 매 프레임마다
void Update()
{
float distance;
distance = transform.position.z - startingPoint;
if(distance > 30)
{
if (shouldPrintOver30)
{
Debug.Log("Over 30:" + distance);
shouldPrintOver30 = false;
}
}
else if(distance > 20)
{
if (shouldPrintOver20)
{
Debug.Log("Over 20:" + distance);
shouldPrintOver20 = false;
}
}
}
}
useGravity 를 사용하는지 여부를 출력하도록 하였다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraWork : MonoBehaviour
{
GameObject ball;
// Start is called before the first frame update
void Start()
{
ball = GameObject.Find("Ball");
}
// Update is called once per frame
void Update()
{
Debug.Log("I am Camera. And ball is at " + ball.transform.position.z);
transform.position = new Vector3(0, ball.transform.position.y+3, ball.transform.position.z - 14);
}
}
카메라와 ball의 좌표를 고려해서 해당 좌표 만큼 거리를 두고 위치를 이동시키면 공을 계속 따라가도록 할 수 있음.
참고
https://programmers.co.kr/learn/courses/1/lessons/573#note