- Home /
 
               Question by 
               Nirose · Sep 11, 2014 at 01:50 PM · 
                javascriptaienemysidescroller  
              
 
              2D sidescroller ranged character shooting problem.
So i have been trying to create an archer in my 2d sidescroller, who has an invisible box infront of him, and when the player enter, i want the archer to fire arrows straightfoward (Kinda like the cannons in mario 3).
My idea was to make the arrow spawn at the archers position and fly forwards. But i am having some problems. Here is my code so far.
 #pragma strict
 
 var Attack : boolean;
 var Archer : boolean;
 var Ammo : GameObject;
 var AmmoSpawnPoint : Transform;
 var AmmoSpeed : float;
 var X : float;
 
 private var x : float;
 
 function Start () {
     Ammo = transform;
     X = transform.localScale.x;
 }
 
 function Update () {
     if (!Attack) {
             gameObject.GetComponent(EnemyPatrol).walkSpeed = 0.02;
             gameObject.GetComponent(AnimateTexture).rowNumber = 0;
             gameObject.GetComponent(AnimateTexture).colNumber = 0;
             gameObject.GetComponent(AnimateTexture).totalCells = 14;
             gameObject.GetComponent(AnimateTexture).fps = 8;
     } else {
             gameObject.GetComponent(EnemyPatrol).walkSpeed = 0.0;
             transform.localScale.x = -X;
             gameObject.GetComponent(AnimateTexture).rowNumber = 0;
             gameObject.GetComponent(AnimateTexture).colNumber = 0;
             gameObject.GetComponent(AnimateTexture).totalCells = 14;
             gameObject.GetComponent(AnimateTexture).fps = 9;
             Ammo.transform.position = AmmoSpawnPoint;
             Ammo.position += Ammo.forward * AmmoSpeed * Time.deltaTime;
                 
     }        
 }    
Here is my code for the invisible box, which works fine i believe.
 #pragma strict
 
 function OnTriggerEnter(other : Collider){
     if(other.tag == "Player"){
         transform.root.gameObject.GetComponent(EnemyAttack).Attack = true;
     }
 }
 
 function OnTriggerStay (other : Collider) {
     if (other.tag == "Player") {
         transform.root.gameObject.GetComponent(EnemyAttack).Attack = true;
     }
 }
 
 function OnTriggerExit(other : Collider) {
     if (other.tag == "Player") {
         transform.root.gameObject.GetComponent(EnemyAttack).Attack = false;
     }
 }
I am fairly new to coding, so if anyone could give me a few tips and tricks on how to do this.
               Comment
              
 
               
              Your answer
 
 
              koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                