AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Merkwürdiger Darstellungs Fehler bei gif Animation
Thema durchsuchen
Ansicht
Themen-Optionen

Merkwürdiger Darstellungs Fehler bei gif Animation

Ein Thema von buster55 · begonnen am 30. Aug 2008 · letzter Beitrag vom 31. Aug 2008
Antwort Antwort
buster55

Registriert seit: 25. Nov 2007
88 Beiträge
 
#1

Merkwürdiger Darstellungs Fehler bei gif Animation

  Alt 30. Aug 2008, 19:01
Ich hab mal wieder ein 'Problemschen'
Ich habe aus SPass mal versucht eine Figur auf einem Hintergrund laufen zu lassen,
und das so:

Hintergrund ist TImage (normale JPG)
Die Figur ist wenn sie steht BMP
Sobald sie läuft, wird eine Gif-Animation abgespielt die dann verschoben wird (die Beine bewegen sich in dieser Ani.)
Allerdings zieht diese Gif-Ani die Kontur des Umfeldes mit sich die das Standbild hatte, das sieht dann so aus:
http://img377.imageshack.us/img377/5287/buggf0.png


ich hoffe mein Problem ist verständlich

Help me pls
  Mit Zitat antworten Zitat
Bastler

Registriert seit: 15. Aug 2006
153 Beiträge
 
Delphi 7 Personal
 
#2

Re: Merkwürdiger Darstellungs Fehler bei gif Animation

  Alt 30. Aug 2008, 21:28
Du musst beim Gif-Erstellen darauf achten, dass du das Antialias aus schaltest...

die Kante entsteht durch Pixel, die zwar sehr weiß, aber eben nicht rein-weiß (FFFFFF) sind - ich vermute jetzt mal, dass du weiß wegkeyst über Alpha-Farbe oder?

Hoffe geholfen zu haben...
Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber beim Universum bin ich mir noch nicht ganz sicher
(A. Einstein)
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Merkwürdiger Darstellungs Fehler bei gif Animation

  Alt 30. Aug 2008, 22:26
Zitat von Bastler:
Du musst beim Gif-Erstellen darauf achten, dass du das Antialias aus schaltest...

die Kante entsteht durch Pixel, die zwar sehr weiß, aber eben nicht rein-weiß (FFFFFF) sind - ich vermute jetzt mal, dass du weiß wegkeyst über Alpha-Farbe oder?

Hoffe geholfen zu haben...
Ist ja lustig. Daran sieht man, was man vom programmieren für eine merkwürdige Denk/Sichtweise bekommt. Der weiße Rand ist mir nämlich auch als erstes aufgefallen - Aber das ist glaube ich gar nicht sein Problem. Guck dir das zweite Bild nochmal genauer an
  Mit Zitat antworten Zitat
Sidewinder
(Gast)

n/a Beiträge
 
#4

Re: Merkwürdiger Darstellungs Fehler bei gif Animation

  Alt 30. Aug 2008, 23:34
echt irre der weiße Rand war auch bei mir das erste was ich gesehen habe...
jetzt aber zu seinem Prob...
es sieht so aus als würde er einen teil des
ganzen Bildes bewegen und nicht nur das Gif-image..
ein wenig Source-Code könnte die lösungs-findung
vereinfachen....

Oh man immer wenn ich online bin sind die herrschaften off
  Mit Zitat antworten Zitat
buster55

Registriert seit: 25. Nov 2007
88 Beiträge
 
#5

Re: Merkwürdiger Darstellungs Fehler bei gif Animation

  Alt 31. Aug 2008, 08:12
hi ihr beiden ich hoffe der source bringt uns weiter, hab ein wenig auskommentiert

Delphi-Quellcode:
procedure TForm1.backgroundClick(Sender: TObject);
begin


// x = Mauspos.
x := ScreenToClient( Mouse.CursorPos ).X -75;
// hier wird überprüft in welche Richtung er laufen muss, (dementsprechend 2 animationen)
if x < mainman.left then begin
mainman.Picture.LoadFromFile('pics/jaru4.gif');
end;
if x > mainman.left then begin
mainman.Picture.LoadFromFile('pics/jaru2.gif');
end;


timer1.Enabled := true ;
timer1.Interval := 1;
end;

procedure TForm1.Timer1Timer(Sender: TObject);

begin

// Das Laufen
if x < mainman.left then begin
mainman.Left := mainman.Left - 5 ;
end;

if x > mainman.left then begin
mainman.Left:= mainman.Left + 5;
end;
  Mit Zitat antworten Zitat
Sidewinder
(Gast)

n/a Beiträge
 
#6

Re: Merkwürdiger Darstellungs Fehler bei gif Animation

  Alt 31. Aug 2008, 12:47
hmmm... du hast also zwei bilder übereinander und bewegst
nur das aufliegende...
der code sieht ok aus, ich würde nur die if abfragen in ein
case of umbauen... aber der Bug wird dadurch nicht verschwinden..
eigenartig...
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#7

Re: Merkwürdiger Darstellungs Fehler bei gif Animation

  Alt 31. Aug 2008, 14:47
Hi, ich geb dir mal ein paar Tipps:

1. Setze das Timer-Intervall nicht unter 50, was defacto ungefähr das kleinste Intervall darstellt. Alles andere gibt nur Probleme, weil es z.B. auf unterschiedlichen Rechnern nicht gleichschnell läuft.

2. Bessere Code-Einrückung

3. Benutze keine TImages für Spiele... ich weiß, die meisten (ich auch) fangen damit an, aber das bringt einen ziemlich shcnell an die Grenzen, und zwar wegen folgendem: Instabilität (wie der Bug bei dir), langsamkeit, Flimmern bei Bewegungen und am wichtigsten: Die ganzen Images sind einfach schlecht zu verwalten. Wenn du jedes einzelne Objekt im Spiel mit einem Image darstellen willst, wirst du niemals fertig, weil du jedes mal den gesamten Code anpassen musst.

Alternativen:

1. Zeichne alles selber mit TCanvas und TBitmap, und benutze ein Hier im Forum suchenOffscreenbitmap um das Flimmern zu verhindern. das ganze ist recht einfach, in der Geschwindigkeit nicht ganz vorne, aber für deine Zwecke wohl ausreichend.

2. Hier im Forum suchenAndorra2D oder eine vergleichbare 2d-Engine: Hier kannst du wie professionelle Spiele die Hardwarebeschleunigung der Grafikkarte benutzen, was optisch und in der Geschwindigkeit Vorteile bringt - Ist allerdings IMO etwas schwieriger zu Handhaben als TCanvas und TBitmap. Dafür hast du hier auch schon einige Tools dabei, um Animationen einzubinden etc...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz