Potential C ++ Scope -Problem [geschlossen]C++

Programme in C++. Entwicklerforum
Anonymous
 Potential C ++ Scope -Problem [geschlossen]

Post by Anonymous »

Das Problem
Ich arbeite in einem Spiel an einer Charaktercontroller -Klasse. Wenn sich der Charakter aufhört, sich zu bewegen, soll er allmählich zu einem Stopp langsamer werden, anstatt abrupt zum Stillstand zu gehen. Aus irgendeinem Grund "funktioniert es" nur richtig, wenn ich eine relevante Variable aus dem Interpolationsalgorithmus ausgibt. Es kann mit Std :: Cout, Printf oder einfach in eine Textdatei geschrieben werden. Die betreffenden relevanten Variablen können nicht unter Verwendung von Haltepunkten debuggen werden, da sie von einer zeitbezogenen Variablen abhängig sind, die in einem anderen Thread festgelegt ist, nämlich die der Zeit zwischen dem letzten und dem aktuellen Rahmen, der allgemein als "Delta-Zeit" bezeichnet wird. Ich habe ein Video auf YouTube gepostet, um ein gründlicheres visuelleres Hilfe meines Dilemmas zu erhalten:
Zusammenfassung: Verwenden Sie COUT und es funktioniert. Verwenden Sie keine Cout, es funktioniert nicht.

Code: Select all

float t = brakeRate * Time::DeltaTime();
lastMovement.x = Tmath::Lerp(lastMovement.x, zero, t);
lastMovement.y = Tmath::Lerp(lastMovement.y, zero, t);
sceneObject->transform.position.x += lastMovement.x;
sceneObject->transform.position.z += lastMovement.y;
cout 
#include 
#include 

void Lerp();
float initialValue = 22.0f;
float targetValue = 0.0f;

void SetTimeValues();
float lastTime;
float deltaTime;

int main()
{
glfwInit();
GLFWwindow* window = glfwCreateWindow(200, 200, "Minimal Reproducible Example", NULL, NULL);
glfwMakeContextCurrent(window);
while (!glfwWindowShouldClose(window))
{
SetTimeValues();
Lerp();
}
return 1;
}

void Lerp() {
initialValue = initialValue + (deltaTime * (targetValue - initialValue));
std::cout

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post