Also habe ich 2 Spielobjekte Spieler und Puck. Immer wenn der Spieler den Puck berührt (kollidiert), möchte ich, dass der Puck an den Spieler hängt. Bis jetzt kann ich den Puck zum Spieler teleportieren, aber ich will das nicht. Ich möchte Puck an leeren Spielobjekt Faultier anhängen, die ich als Kind in meinen Player gelegt habe.Verknüpfe ein Spielobjekt mit einem anderen, wenn sie kollidieren
Here's my code
public class CollisionDetector : MonoBehaviour {
GameObject empty; //declare empty GameObject called "empty"
Vector3 pos; //declare empty Vector3
GameObject player;
public bool collided;
void Start() {
empty = GameObject.Find("holdSlot"); //Appends actual gameobject called "Empty" to our 'empty' variable we recently declared
player = GameObject.Find("Player"); //Appends actual gameobject called "Player" to our 'player' variable we recently declared
collided = false;
pos = empty.transform.position; //ettii holdSlotin paikan ja laittaa sen "pos" nimelle
}
void OnCollisionEnter(Collision col) {
if (col.gameObject.tag == "Player")
{
//Do something on collide
//transform.position = pos;
collided = true;
}
}
void Update() {
if (collided == true)
{
transform.position = pos;
}
}
}
Sie können ein GameOjbect nicht an ein anderes GameObject anhängen. Sie hängen Skripte an GameObjects an. Was meinst du mit anhängen? – Programmer
Können Sie nicht einfach Ihr Objekt bei Kollision zu einem 'leeren' Kind machen und die lokale Position auf' Vector3.zero' setzen? – Hellium
Ich mache ein Hockeyspiel. Also möchte ich, dass mein Puck meinen Player anbringt, wenn der Spieler ihn berührt. –