Example #1
0
    // Update is called once per frame
    void Update()
    {
        p = GetComponent <ParticleSystem>();
        var main = p.main;

        if (Light_RorB.Get_color())
        {
            main.startColor = Color.red;
        }
        else
        {
            main.startColor = Color.blue;
        }
    }
Example #2
0
 // Update is called once per frame
 void Update()
 {
     if (Input.GetKeyDown(KeyCode.Space))
     {
         Light_RorB.Change_color();//この関数を使って赤と青の間で変わる。
     }
     if (Input.GetKeyDown(KeyCode.R))
     {
         Light_RorB.Change_color(true);//この関数を使って赤に変わる。
     }
     if (Input.GetKeyDown(KeyCode.B))
     {
         Light_RorB.Change_color(false);//この関数を使って青に変わる。
     }
 }
Example #3
0
    // Update is called once per frame
    void Update()
    {
        targetRay.origin    = localRayStartPos.transform.position;
        targetRay.direction = (transform.forward.normalized * rayEndLength - targetRay.origin).normalized;

        if (DebugMode)
        {
            var beem = Instantiate(Debug_BeemOBJ, localRayStartPos.transform.position, new Quaternion(0, 0, 0, 0), null);
            beem.GetComponent <Rigidbody>().AddForce(targetRay.direction * 500);
        }

        //Debug.DrawRay(targetRay.origin, targetRay.direction * rayDistance, Color.yellow, 0.1f, false);

        if (Physics.Raycast(targetRay, out raycast, rayDistance))
        {
            hitObject = raycast.collider.gameObject;
        }
        ////ここまでがレーザーが当たっているオブジェクトのデータの取得

        if (Input.GetMouseButtonDown(1))
        {
            switch (PlayerMagnet)
            {
            case MAGNET_PATTERN.PLUS:
                PlayerMagnet = MAGNET_PATTERN.MINUS;
                Light_RorB.Change_color(false);
                break;

            case MAGNET_PATTERN.MINUS:
                PlayerMagnet = MAGNET_PATTERN.PLUS;
                Light_RorB.Change_color(true);
                break;
            }
        }

        if (Input.GetMouseButton(0) && hitObject.tag == "plus")
        {
            TARGET_PLUS = true;
        }
        if (Input.GetMouseButtonUp(0) && hitObject.tag == "plus")
        {
            TARGET_PLUS = false;
        }

        //if (Input.GetKeyDown(KeyCode.Return) && hitObject.tag == "minus")//
        if (Input.GetMouseButton(0) && hitObject.tag == "minus")//
        {
            TARGET_MINUS = true;
        }
        if (Input.GetMouseButtonUp(0) && hitObject.tag == "minus")
        {
            TARGET_MINUS = false;
        }



        if ((PlayerMagnet == MAGNET_PATTERN.MINUS && TARGET_MINUS) || (PlayerMagnet == MAGNET_PATTERN.PLUS && TARGET_PLUS))
        {
            if ((transform.position - hitObject.transform.position).sqrMagnitude > minDistance)
            {
                Vector3 moveVec = (transform.position - hitObject.transform.position).normalized * moveSpeed;
                hitObject.GetComponent <Rigidbody>().MovePosition(hitObject.transform.position + moveVec);
            }
            else
            {
                //targetHere = false;
                hitObject.GetComponent <Rigidbody>().velocity = Vector3.zero;
                //TARGET_PLUS = false;
                //TARGET_MINUS = false;
            }
        }

        if ((PlayerMagnet == MAGNET_PATTERN.MINUS && TARGET_PLUS) || (PlayerMagnet == MAGNET_PATTERN.PLUS && TARGET_MINUS))
        {
            if ((transform.position - hitObject.transform.position).sqrMagnitude < maxDistance)
            {
                Vector3 moveVec = (transform.position - hitObject.transform.position).normalized * moveSpeed;
                hitObject.GetComponent <Rigidbody>().MovePosition(hitObject.transform.position - moveVec);
            }
            else
            {
                //targetHere = false;
                hitObject.GetComponent <Rigidbody>().velocity = Vector3.zero;
                //TARGET_MINUS = false;
                //TARGET_PLUS = false;
            }
        }
    }