Unity 3d silah kodu weapon script
Unity 3d silah kodu weapon script
özellik olarak;
herşey fonksiyonlara bölünmüştür.
örneğin;
--sarsordegistir(); // yazdığınız jarjörü değiştirir
--ateset(); //ateşeder
--raycasts sistemi ile daha kolay
--mermi yi ekrana yazdırır
- private var atesedebilirmi=true;
- var cikmayeri:Transform;
- var alevvv: GameObject;
- var sarsorsayisi=5;
- var birsarsordekimermi=30;
- var atisAraligi=0.5;
- var eksican:int=20;
- var mermiUI:UI.Text;
- var atessesi:AudioClip;
- var doldursesi:AudioClip;
- private var ilksarsor:int;
- var kan:GameObject;
- var toprak:GameObject;
- function Start () {
- GetComponent.<Animation>().Play("idle");
- alevvv.SetActiveRecursively(false);
- ilksarsor=birsarsordekimermi;
- }
- function Update () {
- if(Input.GetKeyDown("r")){
- sarsordegistir();
- }
- if(Input.GetButtonDown("Fire2")){
- if(Camera.main.fieldOfView==60){
- Camera.main.fieldOfView=10;
- }else{
- Camera.main.fieldOfView=60;
- }
- }
- if(Input.GetButton("Fire1")){
- ateset();}
- mermiUI.text=birsarsordekimermi+"/"+sarsorsayisi+"#";
- }
- function sarsordegistir(){
- if(sarsorsayisi!=0){
- GetComponent.<Animation>().Play("reload");
- GetComponent.<AudioSource>().clip=doldursesi;
- GetComponent.<AudioSource>().Play(70000);
- yield WaitForSeconds(4);
- birsarsordekimermi=ilksarsor;
- atesedebilirmi=true;
- GetComponent.<Animation>().Stop();
- sarsorsayisi--;
- }}
- function ateset(){
- if(atesedebilirmi){
- atesedebilirmi=false;
- GetComponent.<Animation>().Play("shoot");
- GetComponent.<AudioSource>().clip=atessesi;
- GetComponent.<AudioSource>().Play();
- birsarsordekimermi--;
- alevefek();
- var hit : RaycastHit;
- var fwd = cikmayeri.TransformDirection (Vector3.forward);
- if (Physics.Raycast (cikmayeri.transform.position, fwd,hit, 100)) {
- Debug.DrawLine (fwd, hit.point);
- if(hit.transform.gameObject.tag=="vucut"){
- Instantiate(kan,hit.point, Quaternion.identity);
- }
- if(hit.transform.gameObject.tag=="Untagged"){
- Instantiate(toprak,hit.point, Quaternion.identity);
- }
- if(hit.transform.gameObject.GetComponent.<can>()){
- hit.transform.gameObject.GetComponent.<can>().can-=eksican;
- }
- }
- yield WaitForSeconds(atisAraligi);
- GetComponent.<Animation>().Stop();
- if(birsarsordekimermi <= 0){
- sarsordegistir();
- atesedebilirmi=false;}
- else{
- atesedebilirmi=true;
- }
- }
- }
- function alevefek(){alevvv.SetActiveRecursively(true);yield WaitForSeconds(0.2);alevvv.SetActiveRecursively(false);}

Yorumlar
Yorum Gönder