AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi delphi sprite verschwindet zu früh
Thema durchsuchen
Ansicht
Themen-Optionen

delphi sprite verschwindet zu früh

Ein Thema von Mautstelle · begonnen am 9. Feb 2004 · letzter Beitrag vom 8. Feb 2005
Antwort Antwort
Mautstelle

Registriert seit: 9. Feb 2004
15 Beiträge
 
#1

delphi sprite verschwindet zu früh

  Alt 9. Feb 2004, 18:51
hiho.... ich schreibe grade ein GTA ähnliches Spiel mit DelphiX,

Als erstes habe ich eine Map, die aus einem Jpg bild besteht, und einen Typ, der immer
in der Mitte vom Bildschirm ist. Wenn ich auf die tasten drücke bewegt sich die
Map, d.h. der typ kann durch die gegend laufen. Bis hierhin kein problem, nur
jetzt habe ich extra Sprites für Gebäude (um auf kollisionen usw. zu prüfen), die Gebäude
bewegen sich mit der karte:

Delphi-Quellcode:
 
procedure THaus.DoMove(MoveCount: integer);
begin
inherited DoMove(MoveCount);
 
 X:=Karte.X+500;
 Y:=Karte.Y+800;
 {wenn man die karte bewegt, bewegt sich das haus mit (mit abstand 500 und 800 zum Kartenrand)}

end;
Das Haus bewegt sich auch und ist sichtbar, aber nur manchmal. Wenn ich unter das Haus laufe, ist alles kein Problem, das Haus wird auf dem DXDraw gezeichnet, bis es dann oben aus dem bild geht. Das Problem taucht auf, wenn ich vom Haus aus nach oben laufe, das Haus verschwindet dann bereits, wenn eigentlich noch die Hälfte vom Haus zu sehen sein sollte... (hoffe mal das versteht man)


Das Haus habe ich im Oncreate von form1 erstellt:

Delphi-Quellcode:
 Haus1:=THaus.Create(DXSpriteEngine1.Engine); {Thaus ist vom Typ TImageSprite}
 Haus1.Image:=FOrm1.DXImageList1.Items[5];
 Haus1.Width:=Haus1.Image.Width;
 Haus1.Height:=Haus1.Image.Height;
 Haus1.Visible:=true;
danke schon mal für antworten
  Mit Zitat antworten Zitat
9. Feb 2004, 19:06
Dieses Thema wurde von "Daniel" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Multimedia" verschoben.
Die Rubrik "Neuen Beitrag zur Codelib hinzufügen" ist nicht für Fragen, sondern eher für Lösungen gedacht.
ATwardz

Registriert seit: 12. Mai 2003
205 Beiträge
 
Delphi 7 Professional
 
#3

Re: delphi sprite verschwindet zu früh

  Alt 9. Feb 2004, 20:25
Hi,

habe vor kurzen ein Programm mit DelphiX geschrieben welches über Netzwerk funktioniert und habe dein beschriebenes Problem nit, ich weiss jedoch das ich es auch beim coden mal hatte!
Lieder weiss ich nicht mehr wie ich es in den Griff bekommen habe!
Ich glaube aber das es mit folgendem in verbindung steht!

So sollte der Timercode aussehn!
Delphi-Quellcode:
procedure TForm1.DXTimer1Timer(Sender: TObject; LagCount: Integer);
begin
  Dxinput1.update;
  Dxspriteengine1.Move(1);
  DXdraw1.Surface.Fill(0);
  Dxspriteengine1.Draw;
  DXdraw1.Flip;
end;
Wichtig bei allen Move Methoden
  inherited domove(movecount); Benutzt du auch einen DXtimer(viel schneller als normaler) Stellt den Interval auf 0 das ist Maximum!


Wenn du nicht weiter kommst, poste etwas mehr code damit man mal ausprobieren kann!

Vie4lleicht hat es ja schon was gebracht

@wardz
-->-->
Dreamteam: Delphi und Bier!
  Mit Zitat antworten Zitat
Mautstelle

Registriert seit: 9. Feb 2004
15 Beiträge
 
#4

Re: delphi sprite verschwindet zu früh

  Alt 10. Feb 2004, 15:01
Danke erstmal für die Antwort, ich habe einen DXTimer mit Interval 0.
Den ganzen block mit DXDraw.flip und so habe ich, auch, ebenso das inherited.

Ich habe jetzt mal probiert mir die X und Y Koordinaten von dem Haus und von der
Karte auf Labeln anzeigen zu lassen. Dann komme ich zu dem Schluss, das ich das Haus
eigentlich sehen müsste, weil x und y im DXDraw Bereich sind.

Kann mir einer sagen, wo der x und y wert in meinem Image sind?? ich gehe mal
davon aus oben links in der ecke, oder??

Was ich noch beobachtet habe: das haus verschwindet wenn ich hoch gehe genau bei der hälfte.

Soll ich noch code posten? ich wüsste halt nicht was....

Ich könnte mir auch vorstellen, dass das problem bei "Haus:=Thaus.create(dxspriteengine1.engine)" liegt, weil ich da schreibe " Haus.Width:=Haus.Image.Width"
Lasse ich das letzte weg, funzts aber auch nicht....

thx für hinweise
  Mit Zitat antworten Zitat
ATwardz

Registriert seit: 12. Mai 2003
205 Beiträge
 
Delphi 7 Professional
 
#5

Re: delphi sprite verschwindet zu früh

  Alt 10. Feb 2004, 15:12
Delphi-Quellcode:
Haus:=Thaus.create(dxspriteengine1.engine);
Haus.Width:=Haus.Image.Width"
hast du denn vorher auch das bild zugewiesen?Also:
Delphi-Quellcode:
 Haus:=THaus.Create(dxspriteengine1.Engine);
 Haus.Image:=DXImageList1.Items.Find('Haus');
 Haus.Width:=DXImageList1.Items.Find('Haus').Width;
 Haus.height:=DXImageList1.Items.Find('Haus').height;
 Haus.z:=-2;//Das sollte immer grössser sein als dein Background!sonst wird
            //es überlagert!
benutzt du eine Animation oder einen einfache Sprite?
Wenn du willst kannste dein Projekt mal hochladen dann stell ich das so wie meines ein!

@wardz
-->-->
Dreamteam: Delphi und Bier!
  Mit Zitat antworten Zitat
Mautstelle

Registriert seit: 9. Feb 2004
15 Beiträge
 
#6

Re: delphi sprite verschwindet zu früh

  Alt 10. Feb 2004, 19:11
hi atwardz! ich habe grade mal eine kopie von meinem programm zum hochladen gemacht
da dachte ich mir, ich lass die unwichtigen sachen ausm quelltext raus, weils sonst ja nur verwirrt.
Aber jetzt taucht das problem nicht mehr auf

ich glaube jetzt werde ich den fehler finden, wenn ich vergleiche... also danke für deine hilfe
gruß
  Mit Zitat antworten Zitat
Mautstelle

Registriert seit: 9. Feb 2004
15 Beiträge
 
#7

Re: delphi sprite verschwindet zu früh

  Alt 11. Feb 2004, 16:11
so, jetzt hab ich das problem, ich weiss nur nicht wie ich es umgehen soll...


ich hab nämlich sowas wie eine splash, wo danach ein menü kommt. das menü ist auf einem panel,
wenn man bei dem menü auf start klickt soll dass spiel anfangen. d.h. klickt man auf start
passiert folgendes:

Delphi-Quellcode:
DXDraw1.Show;
panel1.Visible:=false;
ShowCursor(false); //versteckt den mauszeiger
hmm... und warum malt er nur wegen dem versteckten panel meine sprites nicht mehr ganz??
also ohne panel funzts. muss ich da vielleicht noch irgendetwas eingeben wie panel1.blabla
damit das teil nicht stört?? thx.
  Mit Zitat antworten Zitat
Elite-Koennen
(Gast)

n/a Beiträge
 
#8

Re: delphi sprite verschwindet zu früh

  Alt 8. Feb 2005, 09:48
Hallo !

Mautstelle, dein Problem ist auch bei mir nie aufgetreten. Hast du vielleicht dein Formular nicht in ein TDXForm umgewandelt ?

Delphi-Quellcode:
uses ...,DXClass

type
 TForm1 = class(TDXForm)
 private
 end;
Zitat von Mautstelle:
Als erstes habe ich eine Map, die aus einem Jpg bild besteht
Ich hätte hierbei eine Bitte: Könntest du mir mitteilen, wie du deine Map erstellst ? Dies würde mir möglicherweise bei einem von meinen DelphiX-Problemen helfen.
  Mit Zitat antworten Zitat
Elite-Koennen
(Gast)

n/a Beiträge
 
#9

Re: delphi sprite verschwindet zu früh

  Alt 8. Feb 2005, 09:54
Ups, was vergessen.

Texturen-Problem
  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 00:31 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