Also ich kann nur sagen ich mache mehrere Teile und setze das Skelett dann für alle als Parent. Aber mit KI leider keine Ahnung

...zur Antwort

Also ich würde das so machen :

public class HP : MonoBehaviour
{
    private bool touched = false;
    private float touchedTime = 0;

    private int hp = 10;
    private void OnCollisionEnter(Collision other)
    {
        if (other.transform.tag.Equals("Enemy"))
        {
            touched = true;
            touchedTime = Time.time;
        }
    }

    private void Update()
    {
        if (touched)
        {
            if (Time.time - touchedTime > 2)
            {
                hp--;
                touched = false;
            }
        }
    }
}

Hab den Code jetzt nicht getestet, aber sollte eigentlich so funktionieren.

Und sorry für die späte Antwort

Und ja ich weiß es ist nicht die Performanteste art immer abzufragen ob es getoched wurde. Aber dafür die einfachste

...zur Antwort
CrossPlatformInputManager.GetButtonDown() Bewegungsknopf?

Hi,

Ich wandle gerade die Steuerung meines Unity Spiels in eine Android Steuerung um. Allerdings habe ich das Problem, das der Spieler die Knöpfe zu Bewegen nur einmal antippen kann und sie nicht gedrückt lassen kann. Gibt es eine alternative Methode?

Hier ist mein Code:

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityStandardAssets.CrossPlatformInput;

public class TouchMovement : MonoBehaviour
{
   public float jumpForce;
   public float speed;
   Animator playerAnimator;

   Rigidbody2D rb;

   bool grounded;

   void Start()
   {
       rb = GetComponent<Rigidbody2D>();
       playerAnimator = GetComponent<Animator>();
   }
   void Update()
   {
       if (CrossPlatformInputManager.GetButtonDown("Jump"))
       {
           if (grounded)
           {
               grounded = false;
               rb.AddForce(transform.up * jumpForce);
               playerAnimator.SetTrigger("Jump");
           }
       }
       if (CrossPlatformInputManager.GetButtonDown("Right"))
       {
           transform.Translate(new Vector2(1, 0) * speed);
       }
       if (CrossPlatformInputManager.GetButton("Left"))
       {
           transform.Translate(new Vector2(-1, 0) * speed);
       }
   }

   void OnCollisionEnter2D(Collision2D outher)
   {
       grounded = true;
   }
}
...zum Beitrag

Schau dir mal das Tutorial an : (86) Unity3D - Mobile Input / Controls / Thumbstick / Joystick - YouTube

Der erklärt das alles super XD

(Ich weiß er macht das alles für 3D... aber kannst du auch ganz easy auf 2D anwenden)

...zur Antwort

Also sieht für mich so aus als hättest du z.b im Input Manager den Button "attack" nie deklariert. Auch bei den Animationen. Gug halt mal Unter "Edit" -> "Project Settings..." -> "Input Manager" (also keine Ahnung ob es das auch wirklich ist. Aber sieht halt mal so aus)

...zur Antwort

Also das beste gratis Programm dafür ist Blender (blender.org - Home of the Blender project - Free and Open 3D Creation Software). Du kannst dort Charactere modellieren und Animieren. (ist aber gar nicht so einfach XD musst schon bissl künstlerisches Talent haben). Die Speicherdatei von Blender (also .blend) kannst du einfach in Unity per drag and drop reinziehen. Unity kann die lesen wie jede .obj oder .fbx datei auch.

Gut c# zu können wird dir nicht soo viel bringen. Das einzige was du damit nur machen kannst ist die animation passend zur Characterbewgung abspielen lassen...

...zur Antwort

Erst mal zum Perlin noise: Perlin noise ist in Unity schon vorimplementiert. Du brauchst es nur noch aufzurufen. Es generiert dir eine Map die ähnlich aussieht wie eine Primitive Minecraft Map. Im etwa so : (jede farbe steht für einen bestimmten wert zwischen 0 und 1. Diesen kannst du dir von der Perlinnoise funktion zurückgeben lassen und dann z.b. als höhe für Blöche (in minecraft) benutzen)

Bild zum Beitrag

Und zu den Chunks:

Es kommt ganz darauf an welches Spiel du machen möchtest. DAS universelle Script für Chunks gibt es nicht. Außerdem kannst du nicht einfach ein CHUNK script schreiben. Du musst dein ganzen Spiel eben so modular aufbauen, dass es sich in diesen Chunks zusammenfassen lässt

Und sorry für die Späte Antwort XD

...zur Antwort

Du kannst auch Kabel im Pc umstecken und damit berechnungen durchführen XD

...zur Antwort

Ja also pyhton ist an sich nicht schwer. Aber unterscheidet sich meiner Meinung nach doch etwas von anderen Programmiersprachen. Vorteil von Phython : Weit verbreitet und auf Windows Linux und MacOS supportet

...zur Antwort

Wenn du richtig anfangen willst dann zieh dir erst mal Theoretische Informatik rein. Gleichzeitig dazu kannst du versuchen die Dinge die da erklärt werden in Java oder vllt auch c# umzusetzten. Und dann erst mal viel Coden üben und viel Geduld mitbringen.

...zur Antwort

Also so viel ich weiß kannst du immer nur eine Rendering Kamera haben. ABER du kannst den Camera output der 2ten Kamera als Textur ausgeben lassen und diese dann auf deinem Overlay anzeigen... je nach dem was du machen willst bringt dir das vllt ja was.

...zur Antwort

Also ich bin kein profi, aber wenn du nicht vorhast deinen pc total zu überlasten oder zu overclocken tuns auch ganz einfache lüfter falls dir das Risiko mit Wasserkühlung zu hoch ist. (Aber ganz ehrlich, das so nen Ding Undicht ist passiert ja auch nicht von einfach so)

...zur Antwort

Du darfst nicht das Script auf dieses Feld ziehen, sondern musst das Script auf ein GameObject ziehen und dann dieses GameObject auf das Feld. Dann erscheint die Funktion da auch

...zur Antwort

Ich hoffe ich hab deine Frage richtig verstanden, aber das währe mein vorschlag:

int c = 0;
while(c < 4)
{
    System.out.println(c);
    c++;
}

do
{
    c++;
    System.out.println(c);
}while(c < 7);

for(int i = c + 1; i <= 10; i++)
{
    System.out.println(i);
}
...zur Antwort

Download - Unity (unity3d.com) (und brauchst dann noch Visual Studio, aber das kannst du beim installieren von Unity mit dazu wählen) vielleicht auch noch nützlich währe Blender : Download — blender.org

...zur Antwort

Also ich hätte jetzt einfach mal TextMeshProUGUI mit TMP_Text ersetzt aber weiß nicht genau ob das dir was helfen wird

...zur Antwort

Click einfach das Bild an in dem Alle Bilder sind --> dann gehe in den Inspector rechts --> Da wo dann single steht clickst du und wählst multiple --> geh dann unten auf Apply --> Dann auf Sprite Editor --> Im Sprite editor dann oben auf Slice --> wähl hier dann Automatic --> und dann slice --> jetzt gehst du auf apply --> und jetzt wenn du das sprite im Project folder ausklappst hast du alle bilder einzeln

Bild zum Beitrag

Bild zum Beitrag

Bild zum Beitrag

...zur Antwort

also schau mal der fehler liegt in der For schleife: hier mein Code wie ich diese jetzt in deinem Fall machen würde

for (int i = 0; i < 25; i++){
  JButton button = new JButton();
  button.addActionlistener(this);
  button.setBackground(Color.gray);
  button.setSize(50, 50);
  feld.add(button);
}

Du hast Vergessen den Button auf dein "feld" hinzuzufügen. (Vielleicht noch als Tip :Du hast alle deine Buttons in einem Array gespeichert und fängst an dieses Array mit der Zahl 1 zu durchlaufen. Ein Array beginnt allerdings bei 0 😜)

...zur Antwort

Sorry für die Blöde format vom Code hatte das nicht besser hinbekommen

...zur Antwort