AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Dynamisches Sprite in DelphiX
Thema durchsuchen
Ansicht
Themen-Optionen

Dynamisches Sprite in DelphiX

Ein Thema von ghostdawg · begonnen am 31. Dez 2005 · letzter Beitrag vom 4. Jan 2006
Antwort Antwort
ghostdawg
(Gast)

n/a Beiträge
 
#1

Dynamisches Sprite in DelphiX

  Alt 31. Dez 2005, 18:24
Mein Gegenstand
Delphi-Quellcode:
  TGegenstand = class(TImageSprite)
    public
      procedure DoMove(MoveCount: Integer); override;
      constructor Create(AParent: TSprite); override;
    end;
Globale Vars:
prz:Integer;
Gegenstand:TGegenstand;

wird ja leider nur einmal erstellt:
Delphi-Quellcode:
constructor TGegenstand.Create(AParent: TSprite);
begin
  inherited Create(AParent);
  Image := Form1.DXImageList1.Items[prz];
  Width := Image.Width;
  Height := Image.Height;
  Visible := True;
end;
und bewegt:
Delphi-Quellcode:
DXSpriteEngine1.Move(1);
DXDraw1.Surface.Fill(0);
DXSpriteEngine1.Draw;
DxDraw1.Flip;
Nun möchte ich aber mit prz (das man im navi-menü bestimmen kann) die grafik des gegenstands verändern können. Wie kann ich nach einer Veränderung eine Aktualisierung hervorrufen? Kann ich den Constructor (hab von constructor keine ahnung, ich spiele heute zum ersten mal mit delphix rum) nochmal aufrufen? Wenn ja wie!

Frohes neues, und guten Rutsch!
ghostdog
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Dynamisches Sprite in DelphiX

  Alt 31. Dez 2005, 18:36
Hmm,

versuche doch eine neue Methode zu machen:

Delphi-Quellcode:
TGegenstand = class(TImageSprite)
    public
      procedure DoMove(MoveCount: Integer); override;
      constructor Create(AParent: TSprite); override;

      procedure ChangeImage(Index: Integer);
    end;


procedure TGegenstand.ChangeImage(Index: Integer);
begin
  Image := Image := Form1.DXImageList1.Items[prz];
  Width := Image.Width;
  Height := Image.Height;
end;
  Mit Zitat antworten Zitat
ghostdawg
(Gast)

n/a Beiträge
 
#3

Re: Dynamisches Sprite in DelphiX

  Alt 31. Dez 2005, 19:37
Wie rufe ich diese Prozedur/Methode dann auf? Ich habe alles mögliche versucht:

ChangeImage;
ChangeImage();
ChangeImage(1);
TGegenstand.ChangeImage;
ChangeImage(Index);

:/
  Mit Zitat antworten Zitat
JocalAreaNetwork

Registriert seit: 19. Aug 2005
35 Beiträge
 
Delphi 2006 Architect
 
#4

Re: Dynamisches Sprite in DelphiX

  Alt 1. Jan 2006, 13:19
Wenn deine Variable Gegenstand heißt, dann müsste es doch einfach nur das sein:

Gegenstand.ChangeImage(hier_dein_index)

Vorausgesetzt ist natürlich, dass der constructor bereits aufgerufen worden ist.
  Mit Zitat antworten Zitat
ghostdawg
(Gast)

n/a Beiträge
 
#5

Re: Dynamisches Sprite in DelphiX

  Alt 1. Jan 2006, 23:09
Schade, war wohl zu einfach um zu funzen. Wär perfekt gewesen:

Im Projekt Project1.exe ist eine Exception der KLasse EAccessViolation aufgetreten. Meldung: 'Zugriffsverletzung bei Adresse 0043CA76 in Modul 'Project1.exe' Schreiben von Adresse 0000000054'. Prozeß wurde angehalten. Fortfahren mit Einzelschritt oder Start.

Nach Fortfahren mit Start sagt er:
Zugriffsverletzung bei Adresse 0043CA76 in Module 'Project1.exe' Schreiben von Adresse 000000054.
  Mit Zitat antworten Zitat
ghostdawg
(Gast)

n/a Beiträge
 
#6

Re: Dynamisches Sprite in DelphiX

  Alt 2. Jan 2006, 18:19
Keiner hier der mich mit DelphiX auskennt?
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#7

Re: Dynamisches Sprite in DelphiX

  Alt 2. Jan 2006, 18:30
Hi,

zeig nochmal deinen kompletten Code (bzw. nur die relevanten Stellen).
  Mit Zitat antworten Zitat
Oxmyx

Registriert seit: 21. Sep 2004
499 Beiträge
 
#8

Re: Dynamisches Sprite in DelphiX

  Alt 2. Jan 2006, 18:59
Das hat nichts mit DelphiX zu tun, wenn du beim Aufruf von
Image := Form1.DXImageList1.Items[prz];
eine Zugriffsverletzung bekommst, liegt das zu 99% daran, dass du versuchst auf ein Bild zuzugreifen, dass es gar nicht in dieser ImageList gibt. Denk dran dass ein Computer meistens bei 0 zu zählen beginnt, d.h. wenn du in deiner ImageList beispielsweise 8 Bilder drin hast, gehen die möglichen Indizes von 0-7.
  Mit Zitat antworten Zitat
ghostdawg
(Gast)

n/a Beiträge
 
#9

Re: Dynamisches Sprite in DelphiX

  Alt 4. Jan 2006, 13:25
Dann sinds hier die 1%. Prz konnte nur von 2-5 festgelegt werden und ich habe acht bilder drin gehabt. Habs jetzt anders gemacht und ein Objekt statt Sprite definiert, was als normales Bild gehandelt wird. Habe gehört, das alte DelphiX, was ich benutzen muss, macht da gerne Probleme.
  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:37 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