Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi [Andorra] Texturen vergrößern sich bei dynamischer Änderung (https://www.delphipraxis.net/115700-%5Bandorra%5D-texturen-vergroessern-sich-bei-dynamischer-aenderung.html)

Diamondback2007 16. Jun 2008 15:43


[Andorra] Texturen vergrößern sich bei dynamischer Änderung
 
Hallo,

habe jetzt noch ein Problem. Wenn ich in meinem Spiel dynamisch Texturen vergebe, werden diese nicht an die Größe des jeweiligen Sprites angepasst, sondern sind plötzlich riesig groß. Muss ich da beim Zuweisen irgendwie nochmal Restore oder aufrufen?
Die Texturen weise ich ganz normal über eine ImageListe zu.

gruß

igel457 16. Jun 2008 17:09

Re: [Andorra] Texturen vergrößern sich bei dynamischer Änder
 
Wenn du so etwas wie
Delphi-Quellcode:
AdImage2.Texture := AdImage1.Texture
machst, musst du nochmals AdImage2.Restore aufrufen.

Diamondback2007 17. Jun 2008 06:47

Re: [Andorra] Texturen vergrößern sich bei dynamischer Änder
 
Naja ich weise halt über Image meinen Sprites eine Textur zu. Könnte man das intern in der Engine nicht über eine Property mit einem Setter machen, der dann von selber Restore aufruft?

gruß

Diamondback2007 17. Jun 2008 08:15

Re: [Andorra] Texturen vergrößern sich bei dynamischer Änder
 
Hm...Also irgendwie klappt das nicht so ganz wie ich das will...
Hier mal der Code:

Laden der Grafiken:
Delphi-Quellcode:
procedure LoadTex;
begin
  SharedImageList.LoadFromFile('Data/Tex/Textures.ail');
  SharedImageList.Restore;
  [...]
end;
Und das Zuweisen:
Delphi-Quellcode:
procedure TMoneyDisplay.ShowValue;
var
  tmp                        : string;
  i                          : Integer;
begin
  tmp := IntToStr(FValue);
  for i := 0 to Length(DisplayObject) - 1 do
    DisplayObject[i].Image := SharedImageList.Find('0'); //Alle Zahlen null setzen, das klappt auch noch...

  for i := 0 to Length(tmp) - 1 do //Richtige Werte zuweisen
    DisplayObject[Length(tmp) - 1 - i].Image := SharedImageList.Find(tmp[i + 1]); //Hier das klappt dann nicht mehr...
//Auch wenn ich hier noch Restore irgendwie dahinter schreibe...
end;

igel457 17. Jun 2008 13:11

Re: [Andorra] Texturen vergrößern sich bei dynamischer Änder
 
Bei Sprites sollte das schon Funktionieren - ich schätze mal, dass DisplayObjects ein "array of TImageSprite" ist. Was genau geht denn nicht?
Debugge das doch einfach mal durch.

Diamondback2007 17. Jun 2008 13:23

Re: [Andorra] Texturen vergrößern sich bei dynamischer Änder
 
Ich weiß was nicht geht... :(
Meine Texturen sind nicht so groß wie die eigentlichen Sprites im Spiel bzw andersherum , sie sind größer. Das führt dazu, dass wenn ich eine neue Textur zuweise die Textur in ihrer vollen Größe dargestellt wird.
Der Umstand mit den texturen liegt eigentlich an der Power-of-two Limitierung von OGL. ISt da sbei dir auch noch so? Ich habe da sbei dir bis jetzt nur beim Backgroundsprite gelesen... Kann man auch noch-power-of-two-texturen nehmen?
Aber gibt es einen Trick, dass die Sprites ihre Größe nicht verändern? Restore bringt da leider auch nichts... :(

igel457 17. Jun 2008 13:43

Re: [Andorra] Texturen vergrößern sich bei dynamischer Änder
 
Andorra 2D kümmert sich automatisch darum die Texturen neu zu skalieren - daher kommt ja gerade der Bug bei den Backgroundsprites. Die Texturen dürfen nur die Größe 2048x2048 nicht überschreiten - sonst gibt es keinerlei Limitierungen.

Diamondback2007 17. Jun 2008 13:44

Re: [Andorra] Texturen vergrößern sich bei dynamischer Änder
 
Hmm...und warum klappt das dann bei mir nicht?Naja egal muss ich halt die texturen von der Größe Anpassen...

Diamondback2007 18. Jun 2008 09:19

Re: [Andorra] Texturen vergrößern sich bei dynamischer Änder
 
Wodran kann das denn liegen?... :(
Es klappt einfach nicht...
Sobald ich nach der Größenzuweisung des Sprites eine Textur ändere fliegt alles auseinander... :(
Es gibt keine fehler oder so, aber die Texturen bzw sogar die Sprites vergrößern sich auf die Originalgröße der Texturen...
Entweder ich bin zu blöd
Delphi-Quellcode:
Restore
zu verstehen oder hier stimmt was nicht...
Muss man etwas beachten wenn man aus einer Datei (ail) lädt?

mimi 20. Jun 2008 22:12

Re: [Andorra] Texturen vergrößern sich bei dynamischer Änder
 
Zitat:

Muss man etwas beachten wenn man aus einer Datei (ail) lädt?
Eine Gute Frage.... die ich mir auch schon gestellt habe...
Versuch doch mal bei einer Probe ob es hier am ail Format liegt oder an noch was anders.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:14 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