using UnityEngine;

using System.Collections;


public class Sparks : MonoBehaviour

{


    public GameObject firstSpark;

    public GameObject secondSpark;

    public AudioClip FirstSound;

    public AudioClip secondSound;

    private int hit = 0;


    void OnCollisionEnter(Collision Col)

    {

        if (Col.gameObject.tag == "Bullet")

        {

            hit++;

            audio.PlayOneShot(FirstSound, 1.0f);

            GameObject newSpark1 =

                (GameObject)Instantiate(firstSpark, Col.transform.position,

                Quaternion.LookRotation(-Col.transform.position));

            Destroy(newSpark1, 3.0f);

            Destroy(Col.gameObject);

            if (hit >= 3)

            {

                GetComponent<CapsuleCollider>().enabled = false;

                Expolosion();

            }

        }

    }

            void Expolosion()

            {

                audio.PlayOneShot(secondSound, 1.0f);

                gameObject.AddComponent<Rigidbody>();

                GetComponent<Rigidbody>().AddForce(Vector3.up*1000f);


                GameObject newSpark2 = (GameObject)Instantiate (secondSpark,transform.position,Quaternion.identity);


                Destroy(newSpark2, 5.0f);

            Destroy(gameObject, 0.2f);

            }

        }


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

Bullet  (0) 2013.08.06
MyGizmo.cs  (0) 2013.08.06
bulletCtrl  (0) 2013.07.25
PlayerCtrl_V2  (0) 2013.07.25
PlayerCrtl  (0) 2013.07.25

using UnityEngine;
using System.Collections;

public class BulletCtrl : MonoBehaviour {
 
 public float Speed = 10.0f;
 

 // Use this for initialization
 void Start () {
  rigidbody.AddForce(transform.forward*Speed);
            // 힘을 넣는.addForce...
  
 }
 
}

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

MyGizmo.cs  (0) 2013.08.06
Spark.cs  (0) 2013.08.06
PlayerCtrl_V2  (0) 2013.07.25
PlayerCrtl  (0) 2013.07.25
PlayerCtrl_소스  (0) 2013.07.24

using UnityEngine;
using System.Collections;

public class PlayerCtrl : MonoBehaviour {
 
 
 [System.Serializable]
 
 public class Anims
 {
  public AnimationClip idle;
  public AnimationClip runForward;
  public AnimationClip runBackward;
  public AnimationClip runLeft;
  public AnimationClip runRight;
  
 }
 
 public Anims anims;
 public Animation anybody;
 public float Speed = 10.0f;
 public GameObject bulletPrefab;
 public Transform FirePos;

 // Use this for initialization
 void Start () {
  anybody.clip = anims.runForward;
  anybody.Play();
 }
 
 // Update is called once per frame
 void Update () {
  float v = Input.GetAxis("Vertical");
  float h = Input.GetAxis("Horizontal");
  
  transform.Translate(Vector3.forward * Speed * v * Time.deltaTime);
  transform.Translate(Vector3.right * Speed * h * Time.deltaTime);
  
  if(v>0.1f)
  {
   anybody.CrossFade(anims.runForward.name,0.3f);
  }
  else if(v<-0.1f)
  {
   anybody.CrossFade(anims.runBackward.name,0.3f);
   
  }
  else if(h>0.1f)
  {
   anybody.CrossFade(anims.runRight.name,0.3f);
  }
  else if(h<-0.1f)
  {
   anybody.CrossFade(anims.runLeft.name,0.3f);
  }
  else
   anybody.CrossFade(anims.idle.name, 0.3f);
  
  
  
  if(Input.GetMouseButtonDown(0))
 {
  StartCoroutine("Fire");   // 함수이름을 호출하는 부분. 멀티쓰레드로 업데이트 함수의 부담을 나눈다.
 }
 
 }
 
 
 
  IEnumerator Fire()
 {  // 무엇을 어디서 얼마나 회전시켜서 발사할 것인가를 GameObject타입의 newBullet에 대입한다.
  GameObject newBullet = Instantiate(bulletPrefab,FirePos.position,
             Quaternion.identity)as GameObject;    // 동적으로 할당해 주는것
  
  
  Destroy(newBullet,3.0f);
  
  yield return null;
  /*
  GameObject newBullet = (GameObject)Instantiate(bulletPrefab,FirePos.position,
             Quaternion.identity);   묵시적 형 변환
             */
  
  
 }
 
}

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

Spark.cs  (0) 2013.08.06
bulletCtrl  (0) 2013.07.25
PlayerCrtl  (0) 2013.07.25
PlayerCtrl_소스  (0) 2013.07.24
자동차게임 전체 스크립트  (0) 2013.07.23

using UnityEngine;
using System.Collections;

public class PlayerCtrl : MonoBehaviour {
 
 
 
 [System.Serializable]   //요걸 적어줘야 자바스크립트로 짠게 씨샵에서 된다.
 
 public class Anims
 {
  public AnimationClip idle;
  public AnimationClip runForward;
  public AnimationClip runBackward;
  public AnimationClip runLeft;
  public AnimationClip runRight;
 }
 
 public Anims anims;
 public Animation anybody;
 public float Speed =  10.0f;
 
 // Use this for initialization
 void Start () {
  
  anybody.clip = anims.idle;
  //anybody.clip = anims.runForward;
  anybody.Play();
  
 }
 
 // Update is called once per frame
 void Update () {
  float v = Input.GetAxis("Vertical");
  float h = Input.GetAxis ("Horizontal");
 
  transform.Translate(Vector3.forward * v * Time.deltaTime * Speed);
  transform.Translate(Vector3.right * h * Time.deltaTime * Speed);
  
  
  
  
  if(v > 0.1f)
  { // 동작을 혼합시켜 주는 함수 크로스페이드
   anybody.CrossFade(anims.runForward.name,0.3f); 
  }
  else if(v < -0.1f){
   anybody.CrossFade(anims.runBackward.name,0.3f); 
  }
  else if(h < -0.1f){
   anybody.CrossFade(anims.runLeft.name,0.3f); 
  }
  else if(h > 0.1f){
   anybody.CrossFade(anims.runRight.name,0.3f); 
  }else
   anybody.CrossFade(anims.idle.name,0.3f);
  
 }
}

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

bulletCtrl  (0) 2013.07.25
PlayerCtrl_V2  (0) 2013.07.25
PlayerCtrl_소스  (0) 2013.07.24
자동차게임 전체 스크립트  (0) 2013.07.23
도로밖으로 차 못나가게 하기  (0) 2013.07.22

+ Recent posts