Dieser code funktioniert nicht weil die variable "camera" nicht bekannt ist.
wollte den move() teil unten eigentlich in eine extra .h datei tun aber das geht ja auch nicht.
gibts eine lösung für mein problem?
würde gern eigene funktionen so schreiben und diese auch in extra dateien auslagern, oder wenigstens seperat im code.
wenn jedoch immer die betreffenden variablen nicht bekannt sind, dann weiß ich auch nicht weiter...
so hier erstmal der code
#include "stdafx.h"
#include "test.h"
#include <xors3d.h>
#include <iostream>
#include "defs.h"
#include "movement.h"
int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{
xGraphics3D(1366, 768, 32, false, true);
xHidePointer();
int camera = xCreateCamera();
xPositionEntity(camera, 70, 60, 80);
int light = xCreateLight();
xPositionEntity(light, 50, 60, 60);
xRotateEntity(light, 45, 45, 45);
int terrain = xLoadMesh("media/terrain.b3d");
xPositionEntity(terrain, 0, 0, 0);
int hud_left = xLoadImage("media/hud-left.png");
while(!xKeyDown(KEY_ESCAPE))
{
move();
xRenderWorld();
xDrawImage(hud_left, -25, 575);
xFlip();
}
return 0;
}
int move()
{
if(xKeyDown(KEY_W)) xMoveEntity(camera, 0, 0, 1);
if(xKeyDown(KEY_S)) xMoveEntity(camera, 0, 0, -1);
if(xKeyDown(KEY_A)) xMoveEntity(camera, -1, 0, 0);
if(xKeyDown(KEY_D)) xMoveEntity(camera, 1, 0, 0);
return 0;
}
und hier ist camera nicht bekannt und deshalb gehts nicht.
gibts eine einfache lösung ohne class/singleton?
muss doch einfacher gehen...globale variable muss doch irgendwie gehen