|
Verfasser |
Nachricht |
DoubleDD_aka_domis4
Durchstarter
Beiträge: 62
Gruppe: User
Registriert seit: Sep 2011
Status:
Offline
Danke erhalten: 8
|
[C] mitscrollender Hintergrund
Ich bin recht weit fortgeschritten, mit dem Technischen in meinem homebrew. Auch ein eigenes Mappingsystem nenne ich mein Eigen^^
ich würde gerne, ein im Hintergrund sich bewegendes Bild zeichnen, dass zwar mit der Kamera läuft, jedoch keinen Rand anzeigt. Im Prinzip eben, der Teil, der am linken/rechten/unteren/oberen Teil verschwindet wieder im entgegengesetzter Richtung drawen.
mein Ansatz ist:
blitAlphaImageToScreen(0+camx,0+camy,480+camx,272+camy,grass ,0,0);
leider ist funktioniert das nur (falschherum) mit den y koordinaten und X steht an 464 fest. Irgendwo liegt ein Denkfehler^^
|
|
28.04.2012 11:17 |
|
|
|
vista200
Head of Awesomeness
Beiträge: 189
Gruppe: User
Registriert seit: Jul 2009
Status:
Offline
Danke erhalten: 139
|
RE: [C] mitscrollender Hintergrund
Ich musste den Post jetzt zehn Mal lesen und habe glaube ich immer noch nicht ganz verstanden, was Du machen willst...
Willst Du sowas wie eine Endlos-Karte haben? Die Figur würde sich sozusagen auf einer Kugel bewegen. Wenn sie immer nach oben (zum Nordpol) geht und einfach immer geradeaus, dann würde sie irgendwann am Südpol ankommen. Wenn sie weitergeht kommt sie da an, wo sie losgelaufen ist.
Da musst Du dann gucken, ob die Figur mittlerweile weiter gelaufen ist als die Map breit ist. Wenn die Karte z.B. 16 Felder breit ist, dann soll das 17. wieder das erste sein, richtig?
Mit ein bisschen Mathematik (Modulo lässt grüßen) kann man das Problem leicht lösen.
Hoffe, das hilft
Mit freundlichen Grüßen
wurzelbums
|
|
28.04.2012 15:03 |
|
|
|
DoubleDD_aka_domis4
Durchstarter
Beiträge: 62
Gruppe: User
Registriert seit: Sep 2011
Status:
Offline
Danke erhalten: 8
|
RE: [C] mitscrollender Hintergrund
ja, ist ein bisschen kompliziert zu erklären^^
die View ist 480x272 groß. In der View soll ein einfaches Bild gedrawt werden. Bis dahin kein Problem.
Wenn man sich allerdings bewegt, soll sich der inhalt des Bildes in entgegengesetzter Richtung bewegen, nicht jedoch das gesammte Bild.
es soll der Eindruck entstehen, dass das Bild unendlich groß ist. In wirklichkeit ist es nur 480x272
bisher habe ich das so gelöst:
camx/y = 64 //Kamerafokus
x/y = 64 // Spielerposition
im prinzip also camx/y = x/y
blitAlphaImageToScreen(0+camx,0+camy,camx+480,camy+272,grass ,camx-x,camy-y);
das ist das genaue Gegenteil vondem ich will^^das Bild bewegt sich entgegen der Kameraposition. Einfach umdrehen kann ich das natürlich nicht.
|
|
28.04.2012 15:33 |
|
|
|
Neutrosider
Developer
Beiträge: 2.442
Gruppe: Developer
Registriert seit: Feb 2010
Status:
Offline
Danke erhalten: 2325
|
RE: [C] mitscrollender Hintergrund
doch, sag einfach camx=-x und camy=-y
GEGEN ACTA, SOPA UND PIPA!
was sind ACTA, SOPA und PIPA?
Infos dazu hier (video), hier (video) und hier (website)
|
|
28.04.2012 16:43 |
|
|
|
DoubleDD_aka_domis4
Durchstarter
Beiträge: 62
Gruppe: User
Registriert seit: Sep 2011
Status:
Offline
Danke erhalten: 8
|
RE: [C] mitscrollender Hintergrund
so einfach dann doch nicht. ich habe anstatt camx/y eine neue definiert, um weiteren Problemen aus dem weg zu gehen.
int xcam=-x;
int ycam=-y;
blitAlphaImageToScreen(0+camx,0+camy,480+camx,272+camy,grass ,xcam+x,ycam+y);
leider bewegt sich das Bild in die falsche Richtung, sowie es an der X Koordinate bei +464 ein Ende hat.
|
|
28.04.2012 20:25 |
|
|
|