Jump to content
Unity Insider Forum

mawue

Members
  • Content count

    10
  • Joined

  • Last visited

Community Reputation

0 Neutral

About mawue

  • Rank
    Member
  1. mawue

    Gameobject ansprechen

    Werte Expertinnen und Experten Ich habe ein generelles Anfängerproblem: wenn ich einem Gamobject ein Script hinzufüge, wie spreche ich dieses konkrete Objekt dann direkt in C# an. Aus der Java-Welt kenne ich den Begriff this, aber das ist in Unity glaub ich anders. Probiert habe ich folgendes: transform.Rotate(1, 1, 1); gameObject.transform.Rotate(1, 1, 1); this.GetComponent<GameObject>().transform.Rotate(1, 1, 1); Die ersten beiden Varianten funken, die 3. Variante nicht. Was ist die richtige, empfohlene Variante und warum? Vielen Dank vorab wueschn
  2. mawue

    Zeitzähler abrufen

    Hat super funktioniert, vielen Dank, du bist der Beste!!!! mawue
  3. mawue

    Zeitzähler abrufen

    Liebe Unity-Profis Ich habe leider wieder ein Problem. Ich habe ein kleines Spiel mit 3 Szenen gemacht. 1. Szene ist eine Startszene und in der 2. Szene wird gespielt. Während des Spiels hat man 3 Leben und es läuft eine Zeit mit. Nach dem Verlust des 3. Lebens wechselt das Spiel auf die 3. Szene und fragt nach Beenden oder Restart. Jetzt kommt mein Problem: es soll in der 3. Szene jedoch auch angezeigt werden, wie lange ich überlebt habe (in Sekunden). So wird der Timer in der 2. Szene angezeigt public class Ball : MonoBehaviour { public float myTimer = 0f;//Timer public int scorePlayer = 3;//3 leben public GUIStyle style; void OnGUI() { style.fontSize = 20; style.normal.textColor = Color.white; float x = Screen.width / 2f; float y = 30f; float width = 300f; float height = 50f; string text = "Lifes: " + this.scorePlayer + ", " + myTimer + " in Seconds"; GUI.Label(new Rect(x-(width/2), y, width,height),text,style); } So wird der Zähler herabgesetzt void gameEnding() { Debug.Log("End of Game"); Application.LoadLevel ("2");//ich habe mit Level 0 begonnen } void OnCollisionEnter(Collision collision) { if (collision.collider.name == "BorderLeft") { Debug.Log ("links beruehrt"); this.scorePlayer--; //Herunterzählen audio.Play(); if(this.scorePlayer == 0) { Debug.Log ("Spiel zu Ende: " + myTimer); gameEnding();//Wechsel zu Szene 3 } } Und so sollte in der 3. Szene die Dauer des Überlebens angezeigt werden. public class ReStartScript : MonoBehaviour { public Texture2D mainMenuButton; public Ball ball;//Referenz zu Szene 2 public GUIStyle style; void OnGUI () { ..... style.fontSize = 18; style.normal.textColor = Color.white; float x = Screen.width / 2f; float y = 70f; float width = 300f; float height = 50f; ball = new Ball ();//Objekt zur Klasse Ball in Szene 2!! string text = "You lived for: " + ball.myTimer + " in Seconds"; GUI.Label(new Rect(x-(width/2), y, width,height),text,style); Es werden aber leider immer nur 0 Sekunden angezeigt.Was mache ich falsch? Vielen Dank vorab mawue
  4. Das macht nur die Kugel schneller, ändert aber nicht einen Abprallwinkel. Ich weiß, dass das eigentlich das bouncy machen sollte, das funkt aber nicht.
  5. Hurra das wars tatsächlich: Der Code funkt jetzt mit: public float speed = 5.0f; void Start () { rigidbody.velocity = Vector3.right; } void FixedUpdate () { rigidbody.velocity = rigidbody.velocity.normalized*speed; } Das letzte Problem das ich noch habe (ich hoff ich bin nicht unverschämt): Die Pong-Kugel prallt jetzt einfach nur hin und her. Wie kann ich jetzt einbauen, dass sie mit jeder Berührung den Rückprallwinkel ändert? Danke ein letzesmal Mawue
  6. Das geht bei mir nicht richtig, er kriecht da immer mit der gleichen Geschwindigkeit dahin....egal, wie hoch die Speedvariable ist.
  7. Danke, das war es tatsächlich. Jetzt funktionieren auch beide angegebenen Methodenvon Silveryard!!!. Jetzt muss ich noch eine Dummy Frage stellen: ich habe an den Seitenrändern die Abprallfunktion Bouncy eingestellt, das funktioniert jetzt aber nicht mehr. Die Kugel weigert sich abzuprallen und will immer weiter in die gleiche Richtung. Wie muss ich jetzt darauf reagieren?? Sorry und danke vorab mawue
  8. Danke für die schnelle Antwort. Ich fürchte, das ist mir noch zu hoch. .... b.) hab ich noch nachgelesen, aber bei a.) steige ich aus. Wie macht man sowas???? Danke nochmals mawue
  9. Werte Profis Ich bin Einsteiger in Unity und habe ein wichtige Frage zu meinem ersten nachgebauten Pong Spiel. a.) Wie kann man eine Geschwindigkeit gleichmäßig verändern, die auch nicht abnehmen soll. Ich habe so eine Grundgeschwindigkeit hinbekommen, aber die ist viel zu langsam. b.) gibt es irgendeine gute Erklärung zu Vektoren und Geschwindigkeitsregeln, ich kapier das nicht ganz.... Vielen Dank Euch allen im Voraus mawue Hier mein Code: void Start () { // set start direction rigidbody.velocity = Vector3.right; } // Update is called once per frame void Update () { // keep the speed of 1 rigidbody.velocity = rigidbody.velocity.normalized; }
×