コード例 #1
0
    // Update is called once per frame
    void Update()
    {
        // It rotates
        timer         += Time.deltaTime;
        view_direction = new Vector3(Mathf.Cos(timer), Mathf.Sin(timer), 0.0f);


        fov.Set_View_Dir(view_direction);

        // If it sees the player for the first time, it spawns a random enemy type
        if ((fov.visibleTargets.Count >= 1) && (!is_activated))
        {
            is_activated = true;

            int        enemy_id  = Random.Range(0, enemies.Length);
            GameObject enemy_obj = Instantiate(enemies[enemy_id]);
            enemy_obj.transform.position = transform.position + new Vector3(0.0f, 1.0f, 0.0f);

            enemy_obj = Instantiate(enemies[enemy_id]);
            enemy_obj.transform.position = transform.position + new Vector3(0.0f, -1.0f, 0.0f);

            enemy_obj = Instantiate(enemies[enemy_id]);
            enemy_obj.transform.position = transform.position + new Vector3(1.0f, 0.0f, 0.0f);

            enemy_obj = Instantiate(enemies[enemy_id]);
            enemy_obj.transform.position = transform.position + new Vector3(-1.0f, 0.0f, 0.0f);
        }
    }
コード例 #2
0
    // Update is called once per frame
    void Update()
    {
        if (is_controlled)
        {
            rotation_y += Input.GetAxis("Mouse Y");
            rotation_x += Input.GetAxis("Mouse X");

            if (rotation_y < max_look_down)
            {
                rotation_y = max_look_down;
            }
            else if (rotation_y > max_look_up)
            {
                rotation_y = max_look_up;
            }

            rotation_origin.localEulerAngles = new Vector3(-rotation_y, rotation_x, transform.localEulerAngles.z);
        }
        else
        {
            fov.Set_View_Dir(transform.forward);
        }
    }