Unity5 Script Problem

Spieleentwicklung mit Autorensystemen und Toolkits - Will man Spiele entwicklen, ist es oft sinnvoll nicht erst seine eigene Engine zu entwickeln, sondern gleich mit einem ausgefeilten Autorensystem zu beginnen.
Forumsregeln
Bitte nur zu Engines und Toolkits posten, die auch eine eigene Entwicklungsumgebung anbieten. Zu Engines, die nur programmatisch angesprochen werden können, bitte hier posten.
Antworten
Benutzeravatar
starcow
Establishment
Beiträge: 523
Registriert: 23.04.2003, 17:42
Echter Name: Mischa Schaub
Kontaktdaten:

Unity5 Script Problem

Beitrag von starcow »

Hallo Leute

Ich habe folgendes Problem mit einem Script in Unity5. Dieses soll eigentlich die Player-Figur steuern.

Code: Alles auswählen

using UnityEngine;

[RequireComponent(typeof(Rigidbody))]

public class player_script_input : MonoBehaviour
{
    [SerializeField]
    private float speed = 10f;
    private player_script_motor motor;

    void Start()
    {
        motor = GetComponent<player_script_motor>();
    }

    void Update()
    {
        float xMove = Input.GetAxisRaw("Horizontal");
        float zMove = Input.GetAxisRaw("Vertical");

        Vector3 moveHorizontal = transform.right * xMove;
        Vector3 moveVertical = transform.forward * zMove;

        Vector3 velocity = (moveHorizontal + moveVertical).normalized * speed;

        motor.Move(velocity);
    }
}
Ist Unity einmal gestartet bewirkt eine Änderung der Variable "speed" nichts.
Unity muss komplett neu gestartet werden, ehe sich eine Änderung bemerkbar macht.
Wenn ich hingegen "speed" in der Funktion Update() einen neuen Wert zuweise, wird das ohne einen neustart des Programmes übernommen. Es reicht dann das einfache Neustarten des Spiels mit dem vorgesehenen Play-Button.
Kann sich das von euch jemand erklären?

Gruss starcow
Freelancer 3D- und 2D-Grafik
mischaschaub.com
Benutzeravatar
xq
Establishment
Beiträge: 1581
Registriert: 07.10.2012, 14:56
Alter Benutzername: MasterQ32
Echter Name: Felix Queißner
Wohnort: Stuttgart & Region
Kontaktdaten:

Re: Unity5 Script Problem

Beitrag von xq »

Wo/wann genau änderst du die variable "speed" denn, ohne dass sich etwas ändert? Falls du sie im inspector ändern willst, muss sie soweit ich weiß, public sein
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…

Programmiert viel in ⚡️Zig⚡️ und nervt Leute damit.
Benutzeravatar
starcow
Establishment
Beiträge: 523
Registriert: 23.04.2003, 17:42
Echter Name: Mischa Schaub
Kontaktdaten:

Re: Unity5 Script Problem

Beitrag von starcow »

MasterQ32 hat geschrieben:Wo/wann genau änderst du die variable "speed" denn, ohne dass sich etwas ändert? Falls du sie im inspector ändern willst, muss sie soweit ich weiß, public sein
Vielen Dank für deine Antwort MasterQ32!
Tatsächlich hab ich nicht realisiert, das ich mit diesem Code ein Eingabefeld im inspector erzeugt habe. Die Initialisierungswerte wurden dann folglich aus den Eingabefeldern gelesen, welche unverändert blieben. :mrgreen:

Aber Hauptsache Problem gelöst. Danke! :-)
Freelancer 3D- und 2D-Grafik
mischaschaub.com
Benutzeravatar
xq
Establishment
Beiträge: 1581
Registriert: 07.10.2012, 14:56
Alter Benutzername: MasterQ32
Echter Name: Felix Queißner
Wohnort: Stuttgart & Region
Kontaktdaten:

Re: Unity5 Script Problem

Beitrag von xq »

Gern geschehen :)
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…

Programmiert viel in ⚡️Zig⚡️ und nervt Leute damit.
Antworten