Zitat:
Es ist einfach, und da er ja anscheinend nicht mit Höhen & Co Arbeitet dürfte es wirklich kein Großer Aufwand sein, aber um die Wertevergabe kommt er so oder so nicht rum( Alphawert )!
Erstens: Höhen sollen (irgendwann) auch mal noch rein. Mein Problem ist: Wie Zeichne ich so eine schöne Alpha überblendung. Das ganze sollte auch noch recht performant sein.
Momentan gehe ich mit meinem Hintergrund so vor:
Delphi-Quellcode:
procedure TBackgroundRenderer.Render;
var px,py:integer;
begin
px := trunc(engine.X) mod ftextures.Items[0].Width;
py := trunc(engine.Y) mod ftextures.Items[0].height;
with buffer.canvas do
begin
draw(px,py,texbuff);
end;
end;
Render wird nur aufgerufen, wenn sich der Hintergrund verändert. (Also scrollt).
Textbuff ist ein TBitmap Buffer, der die Haupttectur enthält und etwas größer als der Bildschirm ist. Dieser wird dann in den Buffer geschriben.
Gezeichnet wird das dann so:
Delphi-Quellcode:
procedure TBackgroundRenderer.DoDraw;
begin
with engine.surface.canvas do
begin
draw(0,0,buffer);
release;
end;
end;
Es wäre im Endefekt also kein Problem auf den "Buffer" das geblendete Bild jedesmal wenn ich das Bild verschiebe zu malen. Das ginge recht schnell. Nur wie rendere ich das mit dem Alpha am besten?