Zurück zum Anfang ! -> brauche hilfe zur "Grundlage"

Posted By: ratz

Zurück zum Anfang ! -> brauche hilfe zur "Grundlage" - 04/05/15 13:23

Hallo

Diese frage beziht sich auf eine Grundlage und da ich mit 3dGameStudio mal angefange habe .. hoffe ich ihr könnt mir helfen ...

Sicherlich hat der ein oder andere gesehn , dass ich nicht mehr oft hier im Forum bin.

Das liegt zu einem daran , dass ich bis vorkurzen eine Ausbildung gemacht habe (Zierpflanzenbau XD ) und dass ich momentan viel für android schreibe ->

Das ganze mache ich mit der App: C4Droid (c++ compiler 4€ )

-> dafür gibt es auch ein SDL1/2 und Gcc plugin
-> und mit diesen beiden sachen sowie andere tutorials
hab ich auch schon echt viele sachen geschrieben laugh
2d Spiele ect..

So ..... Jetz versuche ich mich an 3D Programmierung unter Android -> das ganze geht nicht so einfach da es für mobile
device eine spizal lib gibt: OpenGL ES ..

-> im cc-tool example (kann man sich im store runterladen)
gibt es ein example wie man auf Android mit wenig code sowie SDL2 ein OpenGL ES cube ausführt...

__________________________________________________


Das problem dabei ist dass OpenGL ES (ich benutze 1.0)
keine surface(Bilder) so öffnen kann sondern erst ein converter schreiben muss und und und ...auch hier mache ich vortschritte


-> Jetz zur frage:

bei diesem opengl kram gibt es eine function namens

glTranslate(x,y,z) // - ermöglicht das bewegen eine objects

...

und jetz bin ich auf was ganz faszinierendes gestoßen:

ein code aus dem Netz zeigt:
Code:
...
void setCamera()
{
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glRotatef(CAMERA_X.orientation[0], 1,0,0);
glRotatef(CAMERA_X.orientation[1], 0,1,0);
glRotatef(CAMERA_X.orientation[2], 0,0,1);
glTranslatef(-CAMERA_X.position[0],-CAMERA_X.position[1],CAMERA_X.position[2]);
}
...

// dann steuerung ...

void checkKeyPresses()
{

if (GetAsyncKeyState(VK_LEFT) )
{
CAMERA_X.position[0] += sin(DEGTORAD(CAMERA_X.orientation[1]-90)) * linearSpeed;

CAMERA_X.position[2] += cos(DEGTORAD(CAMERA_X.orientation[1]-90)) * linearSpeed;
}

if (GetAsyncKeyState(VK_RIGHT))
{
CAMERA_X.position[0] += sin(DEGTORAD(CAMERA_X.orientation[1]+90)) * linearSpeed;
CAMERA_X.position[2] += cos(DEGTORAD(CAMERA_X.orientation[1]+90)) * linearSpeed;
}

if (GetAsyncKeyState(VK_UP))
{
CAMERA_X.position[0] += sin(DEGTORAD(CAMERA_X.orientation[1])) * linearSpeed;
CAMERA_X.position[2] += cos(DEGTORAD(CAMERA_X.orientation[1])) * linearSpeed;
}

if (GetAsyncKeyState(VK_DOWN) )
{
CAMERA_X.position[0] -= sin(DEGTORAD(CAMERA_X.orientation[1])) * linearSpeed;
CAMERA_X.position[2] -= cos(DEGTORAD(CAMERA_X.orientation[1])) * linearSpeed;
}

if (GetAsyncKeyState(VK_INSERT))
{
linearSpeed += .1;
angularSpeed += .1;
}

if (GetAsyncKeyState(VK_DELETE))
{
if (!(linearSpeed < 0)) linearSpeed -= .1;
if (!(angularSpeed < 0)) angularSpeed -= .1;
}
}



[/code]

-> wie functioniert das mit der doppel.variable[+array]
wie kann ich das benutzen ??


war schon in 2 Foren damit unterwegs.. keine antwort .. nur dass ich dazu grundlagen braüchte... und da ich mal mit 3d gamestudio angefangen hab zu programmieren ,

hoffe ich ihr könnt mir da mehr helfen

-> was sagt der punkt den dazischen und wie setze ich diese "doppel.variable"

so?
Code:
float  camera_x = 0.0f
float  orentaion[2]
float  position[2]
...

Posted By: FBL

Re: Zurück zum Anfang ! -> brauche hilfe zur "Grundlage" - 04/05/15 15:13

Also damit bist du hier mal im komplett falschen Forum... da solltest du eher ein Forum suchen, wo du auch entsprechende Themenbereiche hast, z.B.:

http://zfx.info/
Posted By: Feindbild

Re: Zurück zum Anfang ! -> brauche hilfe zur "Grundlage" - 04/05/15 16:15

CAMERA_X ist ein Objekt, das ein Property namens position hat, welches wiederum ein Array ist.
https://msdn.microsoft.com/en-us/library/x9afc042.aspx

Wie du auf die Idee kommst, diese Frage hier zu posten, kann ich mir beim besten Willen nicht erklären.
© 2024 lite-C Forums