示例#1
0
        public override void Initialize(GameObject owner)
        {
            base.Initialize(owner);

            transform = (Transform)GetComponent <Transform>();
            velocity  = (Velocity)GetComponent <Velocity>();
            sprite    = ((SpriteRenderer)GetComponent <SpriteRenderer>()).Sprite;

            PlayerProjectile = GameManager.GetPrefab("RedProjectile");


            projectileSprite = ((SpriteRenderer)PlayerProjectile.GetComponent <SpriteRenderer>()).Sprite;

            health = 7;

            playerOrigin        = new Vector2(360, 580) - sprite.GetCenter();
            flippedPlayerOrigin = VectorMath.RotatePoint(playerOrigin, new Vector2(360, 360), (float)Math.PI) - sprite.GetDimensions();

            transform.Position = playerOrigin;

            isFlipped = false;

            slowSpeed   = 100f;
            normalSpeed = 300f;
        }
    public void ShootTowards(GameObject target)
    {
        PlayerProjectile the_projectile = Instantiate(projectile_used, transform.position, Quaternion.identity);
        Vector2          direction      = new Vector2(0.0f, 1.0f);

        direction.Normalize();
        the_projectile.transform.rotation = Quaternion.Euler(0, 0, Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg + 90.0f);
        the_projectile.GetComponent <Rigidbody2D>().velocity = direction * projectile_speed;
        the_projectile.Target(target);
        // Slightly faster projectiles in the boss stage
        if (spawner.name == "BellSpawner")
        {
            the_projectile.speed = 1.7f * projectile_speed;
        }
        else
        {
            the_projectile.speed = projectile_speed;
        }
        Debug.Log("Shooting the " + spawner.name);
    }
示例#3
0
    public void ShootFromTurret(bool left, string turretName)
    {
        playerShipTurret            = playerShipBody.transform.Find(turretName).gameObject;
        playerTurretShootPoint_left = playerShipTurret.transform.Find("PlayerTurretBarrelLeft").transform.Find("PlayerTurretShootPoint").gameObject;
        if (left == false)
        {
            playerTurretShootPoint_right = playerShipTurret.transform.Find("PlayerTurretBarrelRight").transform.Find("PlayerTurretShootPoint").gameObject;
        }

        float   projectileAngleInRad = transform.Find("PlayerShipBody").transform.Find(turretName).transform.eulerAngles.z *Mathf.Deg2Rad * -1;
        Vector3 projectilePosition   = playerTurretShootPoint_left.transform.position;

        if (!left)
        {
            projectilePosition = playerTurretShootPoint_right.transform.position;
        }
        PlayerProjectile projectile = Instantiate(playerProjectile, projectilePosition, playerShipTurret.transform.rotation) as PlayerProjectile;

        projectile.GetComponent <SpriteRenderer>().sortingOrder = 2;
        projectile.SetupProjectile(turretName, projectileAngleInRad);
    }