コード例 #1
0
    private void ShootFireball(Vector3 direction, Vector3 startPos)
    {
        GameObject bullet = Instantiate(Fireball, startPos + direction, new Quaternion());

        bullet.GetComponent <Rigidbody>().velocity = direction.normalized * speed_Fireball;
        Do_damage do_damage = bullet.GetComponent <Do_damage>();

        do_damage.damage       = enemy_Stats.attack.GetValue();
        do_damage.blockable    = false;
        do_damage.damageLayer  = 8;
        do_damage.splashDamage = false;
        do_damage.statusEffekt = statusEffekt;
        do_damage.effectDamage = effectDamage;
    }
コード例 #2
0
    private void ShootBullet(Vector3 direction, Vector3 startPos)
    {
        GameObject bullet = Instantiate(attackObj, startPos + direction, new Quaternion());

        bullet.GetComponent <Rigidbody>().velocity = direction.normalized * projectile_speed;
        Do_damage do_damage = bullet.GetComponent <Do_damage>();

        do_damage.damage       = player_stats.attack.GetValue();
        do_damage.damageLayer  = 9;
        do_damage.splashDamage = splashDamage;
        do_damage.statusEffekt = statusEffekt;
        do_damage.effectDamage = effectDamage;
        if (bigBullet)
        {
            bullet.transform.localScale *= 2;
        }
    }
コード例 #3
0
 /*public void attack(){
  *          RaycastHit hit;
  *          Vector3 direction = Player_stats.player.transform.position- transform.position;
  *          if (Physics.Raycast(transform.position, direction, out hit, Mathf.Infinity)){
  *              if(hit.collider.gameObject.layer == 8 /*player* /){
  *                  GameObject bullet = Instantiate(attackObj, transform.position+direction.normalized*offset_distance, new Quaternion());
  *                  bullet.GetComponent<Rigidbody>().velocity = direction.normalized *projectile_speed;
  *                  Do_damage do_damage = bullet.GetComponent<Do_damage>();
  *                  do_damage.damage = enemy_Stats.attack.GetValue();
  *                  do_damage.damageLayer = 8;
  *              }
  *          }
  * }*/
 // Update is called once per frame
 void Update()
 {
     if (enemy_Stats.attackReady)
     {
         //Ray ray = new Ray(transform.position, Player_stats.player.transform.position- transform.position);//mainCam.ScreenPointToRay(Input.mousePosition);
         RaycastHit hit;
         Vector3    direction = Player_stats.player.transform.position - transform.position;
         //Physics.Raycast(ray, out hit);
         if (Physics.Raycast(transform.position, direction, out hit, Mathf.Infinity))
         {
             if (hit.collider.gameObject.layer == 8 /*player*/)
             {
                 GameObject bullet = Instantiate(attackObj, transform.position + direction.normalized * offset_distance, new Quaternion());
                 bullet.GetComponent <Rigidbody>().velocity = direction.normalized * projectile_speed;
                 Do_damage do_damage = bullet.GetComponent <Do_damage>();
                 do_damage.damage       = enemy_Stats.attack.GetValue();
                 do_damage.damageLayer  = 8;
                 do_damage.statusEffekt = statusEffekt;
                 do_damage.effectDamage = effectDamage;
             }
         }
     }
 }