Hier ist das Tutorial, dem ich folge:
https://www.youtube.com/ watch?v=XtQMytORBmM&t=588s
Problem: Ich versuche, einen Auslöser zu machen, damit der Spieler einen Punkt erhält, wenn der Vogel durch die Rohre geht. Aber das funktioniert nicht.
Mein Code (Nur Dateien, die zur Lösung dieses Problems benötigt werden)
LogicManager.cs
Code: Select all
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class LogicManager : MonoBehaviour
{
// Start is called once before the first execution of Update after the MonoBehaviour is created
public int playerScore;
public Text scoreText;
[ContextMenu("Increase Score")]
public void addScore(){
playerScore += 1;
scoreText.text = playerScore.ToString();
}
}
Code: Select all
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class PipeMiddleScript : MonoBehaviour
{
// Start is called once before the first execution of Update after the MonoBehaviour is created
public LogicManager logic;
void Start()
{
logic = GameObject.FindGameObjectWithTag("Logic").GetComponent();
}
// Update is called once per frame
void Update()
{
}
private void OnTriggerEnter2D(Collider2D collision){
logic.addScore();
}
}
Um sich die Komponenten anzusehen, sehen Sie sich den rechten Abschnitt der Bilder an.
Logic Manager
[img]https:// i.sstatic.net/2Q2vtkM6.png[/img]
Hier wird das mittlere Skript der Pipe festgelegt, während der Box Collider 2D (Komponente) in der Mitte der beiden Pipes festgelegt wird
Ergebnis

Der Text, in dem die Punktzahl gezählt wird.
Der Vogel

Das ist der Vogel
Ich habe versucht, ihn mithilfe von Chatgpt und Perplexity zu debuggen .ai.
Mein Ziel ist es, wenn der Vogel den Abzug trifft, ein Punkt zur Punktzahl oben links hinzugefügt wird.