Kamera
Camera2D
Kamera för 2D-spel
Camera2D camera = new Camera2D(); // Skapa ny kamera
zoom
Hur inzoomad kameran ska vara.
camera.Zoom = 1f; // Bestämma zoomvärdet till 1
OBSERVERA: Om du inte bestämmer värdet för zoomen, så kommer kameran att bete sig underligt. Ge alltid kameran zoomvärde 1 (eller något annat) manuellt!
target
Den punkt i världen som kameran ska roteras kring, och som även dess zoom fokuseras på – samt den punkt dess offset ska utgå från.
camera.Target = new Vector2(400, 300);
offset
Kamerans offset är en 2d-vektor som beskriver hur långt från sin target kamerans övre vänstra hörn befinner sig – alltså hur långt den ska flyttas från sin ursprungsposition, relativt allt annat.
float screenWidth = Raylib.GetScreenWidth();
float screenHeight = Raylib.GetScreenHeight();
// Gör så att kamerans target hamnar i mitten av skärmen
camera.Offset = new Vector2(screenWidth / 2, screenHeight/2);
rotation
Hur roterad kameran ska vara.
camera.Rotation = 45; // Roterar kameran 45 grader
BeginMode2D() / EndMode2D()
Används för att, mellan Raylib.BeginDrawing() och Raylib.EndDrawing(), avgränsa vilka delar som ska ritas relativt kameran. I de flesta spel betyder det "hela själva spelet". Utanför BeginMode / EndMode ritar man ut UI-element och sådant som inte ska påverkas av kamerans rotationer och förflyttningar.
BeginMode2D vill ha en kamera som första parameter.
Raylib.BeginMode2D(camera);
Raylib.ClearBackground(Color.LIGHTGRAY);
Raylib.DrawRectangle(390,290,10,10,Color.RED);
Raylib.EndMode2D();
Last updated
Was this helpful?