void Update() { if (input.PressedAction) { if (ray.hitSomething && ray.hitInfo.distance < maxDistance) { SpawnButton button = ray.hitInfo.collider.GetComponent <SpawnButton>(); if (button != null) { button.TryPress(); } } } }
//------------------------------------------------------- //////////////////////////// // Update is called once per frame void Update() { // Berechnung von den Bewegungen mit der Geschwindigkeitsvariable moveFB = Input.GetAxis("Vertical") * speed; moveLR = Input.GetAxis("Horizontal") * speed; // Berechnung von der Rotation mit der Mausempfindlichkeitsvariable rotX = Input.GetAxis("Mouse X") * sensitivity; rotY = Input.GetAxis("Mouse Y") * sensitivity; // Zusammenführung der Berechnungen von moveLR und moveFB in ein Vector3 Vector3 movement = new Vector3(moveLR, 0, moveFB); // Zusammenführung der Berechnungen von den Rotationsvariablen. X Rotation auf Boby und Kamera und Y Rotation nur auf Kamera. Y ist negiert damit die Bewegung mit der Maus nicht invertiert ist transform.Rotate(0, rotX, 0); eyes.transform.Rotate(-rotY, 0, 0); movement = transform.rotation * movement; player.Move(movement * Time.deltaTime); // Checkt nach ob die linke Maustaste gedrückt wird if (Input.GetMouseButtonDown(0)) { // Der Mittelpunkt des Bildschirms wird berechnet int x = Screen.width / 2; int y = Screen.height / 2; // Ein Ray wird von der Bildmitte verschickt Ray ray = mainCamera.GetComponent <Camera> ().ScreenPointToRay(new Vector3(x, y)); RaycastHit hit; // Wird geprüft ob der Ray ein Objekt trifft if (Physics.Raycast(ray, out hit, distanceToCube)) { // Wird geprüft ob der Cube die Farbe rot hat if (hit.collider.GetComponent <RedCube> () != null) { RedCube rc = hit.collider.GetComponent <RedCube> (); rc.LeftTrigger(); } // Wird geprüft ob der Cube die Farbe lila hat else if (hit.collider.GetComponent <PurpleCube> () != null) { //PurpleCube pc = hit.collider.GetComponent<PurpleCube> (); //pc.LeftTrigger (); } // Wird geprüft ob der Cube die Farbe blau hat else if (hit.collider.GetComponent <BlueCube> () != null) { BlueCube bc = hit.collider.GetComponent <BlueCube> (); bc.BlueCubeTrigger(); } // Wir geprüft ob der Cube ein Spawnknopf ist else if (hit.collider.GetComponent <SpawnButton> () != null) { SpawnButton sb = hit.collider.GetComponent <SpawnButton> (); sb.SpawnButtonPress(); } } } // Checkt nach ob die rechte Maustaste gedrückt wird if (Input.GetMouseButtonDown(1)) { // Der Mittelpunkt des Bildschirms wird berechnet int x = Screen.width / 2; int y = Screen.height / 2; // Ein Ray wird von der Bildmitte verschickt Ray ray = mainCamera.GetComponent <Camera> ().ScreenPointToRay(new Vector3(x, y)); RaycastHit hit; // Wird geprüft ob der Ray ein Objekt trifft if (Physics.Raycast(ray, out hit, distanceToCube)) { // Wird geprüft ob der Cube die Farbe rot hat if (hit.collider.GetComponent <RedCube> () != null) { RedCube rc = hit.collider.GetComponent <RedCube> (); rc.RightTrigger(); } // Wird geprüft ob der Cube die Farbe lila hat else if (hit.collider.GetComponent <PurpleCube> () != null) { //PurpleCube pc = hit.collider.GetComponent<PurpleCube> (); //pc.RightTrigger (); } // Wird geprüft ob der Cube die Farbe blau hat else if (hit.collider.GetComponent <BlueCube> () != null) { BlueCube bc = hit.collider.GetComponent <BlueCube> (); bc.BlueCubeTrigger(); } // Wir geprüft ob der Cube ein Spawnknopf ist else if (hit.collider.GetComponent <SpawnButton> () != null) { SpawnButton sb = hit.collider.GetComponent <SpawnButton> (); sb.SpawnButtonPress(); } } } }
protected void Start() { sb = GetComponent <SpawnButton>(); }