Warum wird die X Variable nicht angenommen?
|
C#-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Sphere2Controller : MonoBehaviour {
public float Speed = 1.0f;
float x = 1.0f;
Vector3 Richtung = new Vector3( x , 0.0f , 0.0f);
// Update is called once per frame
void Update () {
this.transform.position += Richtung * Speed * Time.deltaTime;
Debug.Log(x);
}
}
|
Bitte Code-Tags verwenden. Danke!
Ich weiß nicht genau was du meinst aber evtl. hilft meine Antwort dir ja weiter
Mit dem Schlüsselwort "this" sprichst du das Objekt an, mit dem dieser Script verbunden ist.
Heißt du ziehst den Script mit der linken Maus-Taste auf das Objekt was du bewegen möchtest, in diesem Fall vermute ich mal, ist das Objekt eine Kugel.
Hier eine minimale Verbesserung deines Codes:
public class Move : MonoBehaviour
{
public float Speed = 1.0f; // Geschwindigkeit der Kugel.
float x = 1.0f; // horizontale Bewegung.
void Update()
{
moveBall(); // In der Update Methode wird "moveBall()" aufgerufen und druchgängig aktualisiert.
}
void moveBall()
{
Vector3 Richtung = new Vector3(x, 0.0f, 0.0f);
// Der Script muss auf ein Objekt gezogen werden, damit es sich bewegt.
this.transform.position += Richtung * Speed * Time.deltaTime;
Debug.Log(x);
}
}
Falls du möchtest dass der Wert x stetig steigt (ich vermute mal das ist dein Ziel), musst du einfach die x Variable vergrößern:
public class Move : MonoBehaviour
{
public float Speed = 1.0f; // Geschwindigkeit der Kugel.
float x = 1.0f; // horizontale Bewegung.
void Update()
{
update
);
moveBall(); // In der Update Methode wird "moveBall()" aufgerufen und druchgängig aktualisiert.
}
void update
)
{
x += 0.1f;
}
void moveBall()
{
Vector3 Richtung = new Vector3(x, 0.0f, 0.0f);
// Der Script muss auf ein Objekt gezogen werden, damit es sich bewegt.
this.transform.position += Richtung * Speed * Time.deltaTime;
Debug.Log(x);
}
}
Dadurch wird der Ball stetig schneller und auch in der Konsole wird der Wert aktualisiert und angezeigt
Hoffe ich konnte dir helfen