Camera lock in Readme
This commit is contained in:
@@ -54,8 +54,8 @@ fn main() {
|
|||||||
## API-Überblick
|
## API-Überblick
|
||||||
|
|
||||||
- `PlatformConfig` – Titel, Fenster-/Framebuffer-Größe, optionales
|
- `PlatformConfig` – Titel, Fenster-/Framebuffer-Größe, optionales
|
||||||
`aspect_ratio` (Letterbox), Palette, VSync. Default = 800×600 Fenster,
|
`aspect_ratio` (Letterbox), Palette, VSync, `mouse_visible`, `mouse_capture`.
|
||||||
320×240 Framebuffer, 4:3, `palette::RGB332`.
|
Default = 800×600 Fenster, 320×240 Framebuffer, 4:3, `palette::RGB332`.
|
||||||
- `Platform::new(cfg)` – Fenster + GPU-Pipeline aufsetzen.
|
- `Platform::new(cfg)` – Fenster + GPU-Pipeline aufsetzen.
|
||||||
- `poll_events(timeout)` – GLFW-Events einlesen (`None` = blockierend).
|
- `poll_events(timeout)` – GLFW-Events einlesen (`None` = blockierend).
|
||||||
- `drain_events()` – Iterator über `Event` (`Key`, `Char`, `MouseMove`,
|
- `drain_events()` – Iterator über `Event` (`Key`, `Char`, `MouseMove`,
|
||||||
@@ -63,6 +63,27 @@ fn main() {
|
|||||||
- `framebuffer_mut()` – `&mut [u8]` der Länge `w*h`, je Pixel ein Paletten-Index.
|
- `framebuffer_mut()` – `&mut [u8]` der Länge `w*h`, je Pixel ein Paletten-Index.
|
||||||
- `present()` – Frame auf das Fenster bringen.
|
- `present()` – Frame auf das Fenster bringen.
|
||||||
- `should_close()` / `request_close()`.
|
- `should_close()` / `request_close()`.
|
||||||
|
- `set_mouse_visible(bool)` – Cursor anzeigen oder verstecken (freie Bewegung).
|
||||||
|
- `set_mouse_capture(bool)` – Cursor einsperren + verstecken (`CursorMode::Disabled`),
|
||||||
|
liefert unbegrenzte Bewegungsdeltas. Impliziert `mouse_visible = false`.
|
||||||
|
- `mouse_delta() -> (f32, f32)` – akkumulierte Mausbewegung seit dem letzten Aufruf
|
||||||
|
in Window-Pixeln, danach genullt. Nützlich für FPS-Kamerasteuerung.
|
||||||
|
|
||||||
|
### Cursor-Modi
|
||||||
|
|
||||||
|
| `mouse_visible` | `mouse_capture` | GLFW-Modus | Einsatz |
|
||||||
|
|---|---|---|---|
|
||||||
|
| `true` | `false` | Normal | Standard-UI |
|
||||||
|
| `false` | `false` | Hidden | Eigener Cursor im Framebuffer |
|
||||||
|
| `*` | `true` | Disabled | FPS-Kamera, unbegrenzte Deltas |
|
||||||
|
|
||||||
|
```rust
|
||||||
|
// FPS-Kamera
|
||||||
|
p.set_mouse_capture(true);
|
||||||
|
let (dx, dy) = p.mouse_delta();
|
||||||
|
yaw += dx * sensitivity;
|
||||||
|
pitch += dy * sensitivity;
|
||||||
|
```
|
||||||
|
|
||||||
## Paletten
|
## Paletten
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user