Hey wie kann ich in Unity ein scrypt erstellen dan mein schleim gegner alle 5 sekunden nach vorne zum gegner springt?

... komplette Frage anzeigen

2 Antworten

Du machst https://docs.unity3d.com/ScriptReference/Rigidbody.AddForce.html in die Richtung, in der er springen soll, speicherst den Punkt, von dem er gesprungen ist und prüfst dann in Update(), ob https://docs.unity3d.com/ScriptReference/Vector3.Distance.html größer ist als die gewünschte Sprungweite, dann nimmst du die Force wieder weg: http://answers.unity3d.com/questions/543399/remove-force-from-moving-object.html

Damit das alle 5 Sekunden passiert, speicherst du die Zeit ab, zu der der Schleim zuletzt gesprungen bist, siehe https://docs.unity3d.com/ScriptReference/Time.html und dann setzt du das als Bedingung in Update(), dass der Schleim springen kann, indem du das mit der momentanen Zeit vergleichst ( neue Zeit - alte Zeit >= 5 Sekunden).

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Kevinsteineet
22.07.2017, 19:22
Danke,ich habs erstmal so gemacht 

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class schleimBewegung : MonoBehaviour {

    private Rigidbody2D rb;

    public int jump = 500;

    public int neueZeit;

    public int alteZeit;

    public bool jumpn = false;

    // Use this for initialization

    void Start () {

        rb = GetComponent<Rigidbody2D> ();

    }

    

    // Update is called once per frame

    void Update () {

        if (neueZeit - alteZeit >= 5)

            {

            jumpn = true;

        }

        if (jumpn){

            rb.AddForce (new Vector2 (400, jump));

            jumpn = false;}

    }

}

wie kann ich das jetzt mit der zeit machen`? hab komplett 0 plan
0

Ich weiß ehrlichgesagt nicht, wie ich diese Aneinanderreihung an Wörtern entziffern soll?

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?