using UnityEngine;
using System.Collections;
public class Runner01 : MonoBehaviour {
public float speed;
void Start () {
}
void Update () {
this.transform.position += new Vector3 (speed, 0f, 0f);
}
}
Update() : 현재의 Script( Runner01 )을 가지고 있는 GameObject의 Transform.position의 값(x, y, z) 중에 x의 값을 speed 만큼 증가( 매프레임마다 speed 만큼 이동하게 된다.)
참고 : transform.Translate(new Vector3(Speed, 0.0f, 0.0f)); 함수를 사용해도 똑같은 결과를 낼 수 있음
using UnityEngine;
using System.Collections;
public class Runner02 : MonoBehaviour {
public float speed;
public Camera m_camera;
void Start () {
}
void Update () {
this.transform.position += new Vector3 (speed, 0f, 0f);
m_camera.transform.position += new Vector3 (speed, 0f, 0f);
}
}
using UnityEngine;
using System.Collections;
public class Runner03 : MonoBehaviour {
public float speed;
public Camera m_camera;
public Vector2 jumpvelocity;
void Start () {
}
void Update () {
this.transform.position += new Vector3 (speed, 0f, 0f);
m_camera.transform.position += new Vector3 (speed, 0f, 0f);
if (Input.GetKeyDown (KeyCode.Space)) {
this.GetComponent<Rigidbody2D>().AddForce(jumpvelocity,ForceMode2D.Impulse);
//ForceMode2D는 질량을 사용하여 rigidbody2D에게 즉시 충동 힘을 적용 시킵니다
//Impulse 모드는 폭발 또는 충돌의 힘으로 즉시 일어날 힘을 적용하는 데 유용합니다.
}
}
}
AddForce() : Vector 인자 만큼 Rigidbody에 힘을 가함
using UnityEngine;
using System.Collections;
public class Runner04 : MonoBehaviour {
public float speed;
public Camera m_camera;
public Vector2 jumpvelocity;
public bool collision_box;
void Start () {
}
void Update () {
this.transform.position += new Vector3 (speed, 0f, 0f);
m_camera.transform.position += new Vector3 (speed, 0f, 0f);
if (Input.GetKeyDown (KeyCode.Space) && collision_box) {
this.GetComponent<Rigidbody2D>().AddForce(jumpvelocity,ForceMode2D.Impulse);
}
}
void OnCollisionEnter2D(Collision2D other){
if (other.transform.tag == "Path") {
collision_box = true;
}
}
void OnCollisionStay2D(Collision2D other){
if (other.transform.tag == "Path") {
collision_box = true;
}
}
void OnCollisionExit2D(Collision2D other){
if (other.transform.tag == "Path") {
collision_box = false;
}
}
}