AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Thema durchsuchen
Ansicht
Themen-Optionen

Andorra 2D [Ver. 0.4.5.1, 31.12.08]

Ein Thema von igel457 · begonnen am 24. Nov 2006 · letzter Beitrag vom 14. Sep 2011
Antwort Antwort
Seite 49 von 101   « Erste     39474849 50515999     Letzte »    
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#1

Re: Andorra 2D [Ver. 0.30 STABLE, 04.01.08]

  Alt 22. Feb 2008, 15:41
Komisch, die AdStandardFontGenerator.pas sollte durch das Definieren des Kompilerschalters deaktiviert werden:
Delphi-Quellcode:
//Auszug aus AdDraws.pas

uses
  SysUtils, Classes,
  AdClasses, AdTypes, AdList, AdPersistent,
  AdWindowFramework, AdDLLLoader,
  AdCanvas, AdBitmap, AdFontFactory, AdFont
  {$IFNDEF DO_NOT_INCLUDE_STD_FORMATS}
  ,AdStandardFontGenerator, AdSimpleCompressors, AdFormats
  {$ENDIF}
  {$IFNDEF DO_NOT_INCLUDE_STD_WINDOWMGR}
  ,AdComponentWindow
  {$ENDIF};
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Andorra 2D [Ver. 0.30 STABLE, 04.01.08]

  Alt 23. Feb 2008, 13:08
Hallo Andreas,
ich wollte gerade an Freggels II weitermachen, und muss erstmal alle Änderungen durchführen

Nun bekomme ich jetzt ständig Fehlermeldungen bezüglich des Fonts?
Kann ich jetzt kein Font zwischenspeichern und immer wieder verwenden?

Davon abgesehen:
Ich quäle mich gerade mit der AdGUI durch.
Und zwar habe ich das Problem dass er bei mir nichts anzeigt, obwohl ich alles so gemacht habe, wie verlangt.
Also ein Objekt davon erstellt, und das auch freigegeben.

Nun zeichnet er nichts, also dachte ich, im Tutorial stehe nicht, dass ich in der Schleife AdGUI.Draw schreiben müsste.
Also auch das gemacht, und es tauchte immerhin meine GUI auf, aber mehr auch nicht!
Also auch keinen Cursor...

Und auch habe ich mir "AdGUI.Draw" das Problem, dass das Formular nicht zentriert ist, obwohl die Eigenschaft auf "true" steht.

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Andorra 2D [Ver. 0.30 STABLE, 04.01.08]

  Alt 23. Feb 2008, 16:23
Hallo Fabian,

blättere in diesem Thread mal zwei Seiten zurück und schaue dann ganz unten - da habe ich das mit dem neuen Fontsystem schon einmal erklärt. Den von Fonts.GenerateFont zurückgegebenen Font kannst du natürlich zwischenspeichern.

Für den Fehler im GUI-Tutorial entschuldige ich mich, es müsste AdGUI.Update heißen.

Danke für die Fehlerbeschreibungen,
Andreas
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Andorra 2D [Ver. 0.30 STABLE, 04.01.08]

  Alt 23. Feb 2008, 16:25
o.O Was ist mit der DP los. Wo ist der Text hin:
Zitat von igel457:
Hallo Fabian,

blättere in diesem Thread mal zwei Seiten zurück und schaue dann ganz unten - da habe ich das mit dem neuen Fontsystem schon einmal erklärt. Den von Fonts.GenerateFont zurückgegebenen Font kannst du natürlich zwischenspeichern.

Für den Fehler im GUI-Tutorial entschuldige ich mich, es müsste AdGUI.Update heißen.

Danke für die Fehlerbeschreibungen,
Andreas
@ GUI:
Okay... Also irgendwas stimmt da nicht. Und zwar bewegt sich nicht die Maus...
Außerdem sieht das... Naja etwas gewöhnungsbedürftig aus.

[edit=0]Das mit der Maus hat sich erledigt! Der Connector fehlte.[/edit]
[edit=1]Ich habe eine Frage zur der AdImageList: Und zwar würde ich gerne wissen, wie viele Frames auf einen Bild sind Ich habe nämlich das Problem, sobald man eine andere Animation verwendet, es sein könnte dass die Frames unterschiedlich sind. So kann ich Beispielsweise keine anderen Bilder verwenden die mehr oder weniger als 8 Frames haben.

Konkretes Beispiel: Du erlaubst es deinen Spielern selber "Styles" zu entwerfen, also auch mit verschiedenen Figuren. Was ist aber wenn statt 8 Frames die Figur 12 Frames hat...

Btw.: Könnte man die Videos nicht so ähnlich machen, wie eine Animation? Also eine AdImageList schnell abspielen?[/edit]
[edit=2]Ich habe mal ein Beispielprojekt angehangen. Ruckelt leider, weil ich es nicht hingekriegt habe, jeden Frame einzeln abzufotographieren
Außerdem sind bestimmt einige Kniffe von A2D nicht umgesetzt Es sollte eigentlich nur als Beispiel dienen. Und das "Video" ist jetzt schon 50 MB groß... Aber da 7z auf 3 % ( ) runterkomprimiert hat kein Problem für die DP ^^

Eine Frage bezüglich des Kompressors: Ich hatte zuerst PNG genommen, aber da is nix passiert ?!
Übrigens solltest du das ModalResult von dem Cancelbutton im ILE auf mrCancel setzten (z.Zt. ist es mrOk)[/edit]

MfG
xZise
Miniaturansicht angehängter Grafiken
a2dundf2_123.png  
Angehängte Dateien
Dateityp: 7z a2dvid_111.7z (2,25 MB, 10x aufgerufen)
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Andorra 2D [Ver. 0.30 STABLE, 04.01.08]

  Alt 24. Feb 2008, 09:40
Hallo,

wie viele Frames (nach DelphiX Pattern genannt) auf einem Bild sind, kannst du über die Property AdImage.PatternCount herausfinden. Um Videos kümmere ich mich früher oder später - dann kannst du gleich MPEGs abspielen. Das schnelle Abspielen einer ImageList funktioniert zwar, benötigt aber unnötig viel Grafikkartenspeicher. Das ganze müsste per Multithreading und über einen Ringpuffer realisiert werden.

Um den Fehler mit dem Font auf deinem Screenshot kümmere ich dann auch noch, ich habe diesen selbst auch schon festgestellt.

Kannst du mir das mit dem PNG-Kompressor noch einmal näher erklären, ich verstehe nicht so ganz, was du meinst .

Hoffe geholfen zu haben,
Andreas
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#6

Re: Andorra 2D [Ver. 0.30 STABLE, 04.01.08]

  Alt 24. Feb 2008, 09:49
Hi Andreas,
Das mit dem PatternCount hatte ich auch gerade herausgefunden.

Und das Video mit der Liste hat auch einen Nachteil : Du hast keinen Sound...

Außerdem befindet sich bei GUI das Formular immernoch nicht in der Mitte

Und das mit dem PNG Kompressor ist behoben:
Ich hatte in der ImageList als Kompressor PNG genommen und dachte das reicht, aber stattdessen muss ich noch den Kompressor auf PNG setzten (von der ImageList, die die Bilder lädt).

Und ich habe eine Frage: Und zwar könnte ich irgendwie Bilder vergrößern / verkleinern? Ich habe das Problem das die Grundgröße 64 px ist, aber ich habe den Spieler in 96 px und zwei Objekte in 32 px. Ich hätte aber gerne alles auf 64 px skaliert

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#7

Re: Andorra 2D [Ver. 0.30 STABLE, 04.01.08]

  Alt 24. Feb 2008, 10:58
Das setzten des Kompressors sollte eigentlich nicht notwendig sein, sofern du die entsprechende Loader-Unit eingebunden hast.

Bilder kannst du einfach über die StretchDraw-Prozedur während der Laufzeit vergrößert/verkleinert darstellen. Anders musst du wohl zu einem Grafikprogramm deines Vertrauens greifen.

Wenn du sonst noch Fragen hast, melde dich einfach,
Andreas
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#8

Re: Andorra 2D [Ver. 0.30 STABLE, 04.01.08]

  Alt 24. Feb 2008, 14:19
Zitat von igel457:
[...]Bilder kannst du einfach über die StretchDraw-Prozedur während der Laufzeit vergrößert/verkleinert darstellen. Anders musst du wohl zu einem Grafikprogramm deines Vertrauens greifen.[...]
Hmmm, und wie meinst du das mit dem StrechDraw?

Weil wenn ich "<SpriteEngine>.Draw;" mache, was müsste ich dann umstellen?

Ich könnte natürlich auch die Bilder vergrößern/verkleinern.

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#9

Re: Andorra 2D [Ver. 0.30 STABLE, 04.01.08]

  Alt 24. Feb 2008, 14:28
Achso, du möchtest Sprites in der Größe anpassen - dazu sollte es reichen die "Width" bzw. "Height" Property entsprechend einzustellen. Im Notfall musst du die Prozedur "DoDraw" deines Sprites überschreiben. Schau dazu einfach mal in den Quellcode von TImageSprite.DoDraw
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#10

Re: Andorra 2D [Ver. 0.30 STABLE, 04.01.08]

  Alt 24. Feb 2008, 15:18
Okay, dann werde ich wohl eher die Bilder auf eine Größe bringen.

Wo wir gerade bei Größe sind:
Kann ich irgendwie sagen, wann zwei Sprites kolidieren?
Weil ich habe einen Diamanten und eine schmale Person. Nun kolidieren die schon, sobald das eine Sprite das andere berührt.

Außerdem bekomme ich jetzt eine AV. Ich weiß zwar wie ich die auslöse, habe aber keine Ahnung, wie ich verhindere, dass sie ausgelöst wird ohne dabei den Auslöser zu entfernen. xD
Also ich habe mehrere Sprite Klassen:
Delphi-Quellcode:
TFrInteractiveObject = clas(TImageSprite);

TFrPlayer = class(TFrInteractiveObject);
Wenn nun ein Objekt vom Typ TFrPlayer sich bewegt rufe ich "Collision" auf und damit auch "DoCollision". Dort überprüfe ich, ob das Objekt, mit dem es kolidert von TFrInteractiveObject ist.
Nun bewege ich das weiter (wie die Person), und teste dann, ob das Objekt mir irgendwas koldiert (z.B. einer Wand).
Wenn ich die zweite Überprüfung entferne funzt alles, ansonsten bekomme ich eine AV, und bleibt in folgender Funktion hängen (Zeile 14).
Delphi-Quellcode:
procedure TSprite.Collision2;
var
  i: Integer;
begin
  //Cancel if this sprite doesn't support collisions.
  if CanDoCollisions then
  begin
    if (Self<>FEngine.FCollisionSprite) and
        OverlapRect(FEngine.FCollisionRect,BoundsRect) and
        TestCollision(FEngine.FCollisionSprite) then
    begin
      FEngine.FCollisionCount := FEngine.CollisionCount + 1;
      FEngine.FCollisionSprite.DoCollision(self, FEngine.FCollisionDone);
      if FEngine.FCollisionSprite.Deaded or (not FEngine.FCollisionSprite.CanDoCollisions) then
      begin
        FEngine.CollisionDone := true;
      end;
    end;
    if not FEngine.FCollisionDone then
    begin
      for i := 0 to FList.Count - 1 do
      begin
        FList[i].Collision2;
        if FEngine.CollisionDone then
        begin
          break;
        end;
      end;
    end;
  end;
end;
MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 49 von 101   « Erste     39474849 50515999     Letzte »    


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 19:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz