using UnityEngine;
using System.Collections;

public class Road : MonoBehaviour {
 
 public float speed = 3.0f;    // public을 넣지 않으면 Inspector에서 수정불가능.
 public float x = 0;
 public float y = 0;
 public float roadHeight = 6.0f;
 public float roadWidth = 6.0f;
 
 // Use this for initialization
 void Start () {   // 시작하기 전에 세팅이나 초기화.
  
  
 
 }
 
 // Update is called once per frame
 void Update () { // 게임이 종료될때 까지 계속해서 구동되는 부분.
  
  y = y + Time.deltaTime * speed;
  renderer.material.mainTextureOffset = new Vector2(x,-y);  // 위에서 밑으로 내려오는 건 음수 올라가는건 양수.
  // x z 축은 안움직이기 때문에 Vector2로 기본값 설정.
 }
}
 

 using UnityEngine;
using System.Collections;

public class Player : MonoBehaviour {
 
 public float Speed = 10.0f;
 // Use this for initialization
 void Start () {
  
 }
 
 // Update is called once per frame
 void Update () {
  float h = Input.GetAxis("Horizontal");    //input ->  입력  좌우로 움직이는 명령어Time.deltaTime.
  float v = Input.GetAxis("Vertical");
  
  transform.Translate(Vector3.right * h * Speed *Time.deltaTime);      //왼쪽으로 움직이면 음수값이 나오기 때문에 left는 따로 적을필요 없다.
  transform.Translate(Vector3.up * v * Speed *Time.deltaTime);
  
  /*
  float h = Input.GetAxis("Horizontal")*Time.deltaTime;      한문장으로 사용하는법.
  float v = Input.GetAxis("Vertical")*Time.deltaTime;
      */
  
  // 도로밖으로 차 못나가게 하기
  
  if(transform.position.x > 6.0f )
  {
   transform.position = new Vector3(6.0f,transform.position.y,transform.position.z);
  }
  if(transform.position.x < -6.0f)
  {
   transform.position = new Vector3(-6.0f,transform.position.y,transform.position.z);
  }
  
  if(transform.position.y > 7.0f )
  {
   transform.position = new Vector3(transform.position.x,7.0f,transform.position.z);
  }
  if(transform.position.y < -7.0f)
  {
   transform.position = new Vector3(transform.position.x,-7.0f,transform.position.z);
  }
   
 }
}

 using UnityEngine;
using System.Collections;

public class Enemy : MonoBehaviour {
 
 public float Speed = 1.5f;

 // Use this for initialization
 void Start () {
 
 }
 
 // Update is called once per frame
 void Update () {
  
  transform.Translate (Vector3.down * Speed * Time.deltaTime);
 
 }
}

 using UnityEngine;
using System.Collections;

public class SpawnerCar : MonoBehaviour {
 
 public GameObject Prefab1;
 public float nextTime = 0.0f;
 public float Rate = 0.5f;
 
 public Road road;
 // Use this for initialization
 void Start () {
  
  road = GameObject.Find("Road").GetComponent<Road>();      //하이라키 값. 스크립트값.
 
 }
 
 // Update is called once per frame
 void Update () {
  
  if(Time.time  > nextTime)
  {
   int i = Random.Range(1,4);  //실제로는 0~3 의 값
   if(i ==1)
   {
    EnemyCar1();
   }
   nextTime = Time.time + Rate;
  }
 
 }
 
 void EnemyCar1()
 {
  float addxpos = Random.Range(road.roadWidth, -road.roadWidth);
  Vector3 pos = new Vector3(addxpos,0,0) + transform.position;
  
  Instantiate(Prefab1,pos,Quaternion.identity); // 발사~ Prefab1을...무회전으로 하겠다.
 }
 
 
}

 

'유니티3D > 예제' 카테고리의 다른 글

PlayerCrtl  (0) 2013.07.25
PlayerCtrl_소스  (0) 2013.07.24
도로밖으로 차 못나가게 하기  (0) 2013.07.22
자동차 좌우 이동  (0) 2013.07.22
도로 움직이는 예제  (0) 2013.07.22

+ Recent posts