[Erledigt]Sprite verschwindet am oberen Bildschirmrand
-
Hallo,
ich habe hier eine seltsame Beobachtung gemacht.
Ich habe mir eine Funktion zum Sprite anzeigen und auch endlich für die Bewegung geschrieben.
Nun ist es ja so, wenn ich mit meinem Sprite an den Bildschirmrand komme, es ja darunter "geschoben" wird.
Allerdings ist es beim oberen Rand anders.
Wenn ich da auch nur mit einem Pixel unter den Rand komme, verschwindet mein komplettes Sprite, ich denke das sollte wohl nicht so sein
Hat da jemand Erfahrung mit?
-
Dann zeige dort einfach nicht das gesamte Sprite an, sondern nur noch den sichtbaren Teil. Also wenn z.b. 10 Pixel eines 32 Pixel Sprites oben raustehen, dann zeigst du nur noch die unteren 22 Pixel an. f'`8k
Gruß, TGGC (der kostenlose DMC Download)
-
Meine Vermutung ist einfach, das damit ein Sprite das Gültige Koordinatensystem verlässt. Die Startposition eines Sprites ist ja meist die linke obere ecke. Wenn die auf einmal auf pos -1 ist, ist das ggf ein undefinierter Zustand. Damit wird das Sprite ignoriert. Wenn ich das nach unten schiebe, bleibt ja die Startposition immer gültig (Ich bewege mich im gültigen Koordinatensystem) nur die Größe würde da beschnitten werden. Um das zu Prüfen musst du mal schauen was passiert wenn du den linken Bildschirmrand berührst. Was bei meiner Vermutung zum gleichen verhalten führen müsste (Sprite Verschwindet). Oder du wartest bis jemand postet ders genau weiß.
Was du dagegen machen kannst? Schauen ob das Sprite den Bildschirm nach oben verlässt und ggf selber zuschneiden. Ggf gibts dafür dann auch standardverhalten. Doch dazu müsste man wissen womit du arbeitest.
-
...
Ok, das ganze war mein Fehler
Ich habe die ZKoordinate anhand der YKoordinate berechnet. Sobald ich also mit Y im -Bereich war, wurde Z auch -. Und Z darf nur zwischen 0 und 1 liegen.mfg