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 95 von 101   « Erste     4585939495 9697     Letzte »    
Benutzerbild von igel457
igel457

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

Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]

  Alt 9. Jul 2009, 21:02
In "OnCreate" ist Application.MainForm nil.
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 Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]

  Alt 10. Jul 2009, 07:48
Autsch. Das erklärt das natürlich. Wieder was gelernt und Problem gelöst
  Mit Zitat antworten Zitat
Vasco da Gama

Registriert seit: 2. Aug 2009
131 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]

  Alt 5. Aug 2009, 18:24
Hallo, wie kann ich AdFont anpassen?(Schriftart, Größe etc.)
Flo
Programmiere inzwischen hauptsächlich mit C++. Nicht böse werden
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

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

Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]

  Alt 5. Aug 2009, 18:30
Einfach folgendes:
Delphi-Quellcode:
  font := AdDraw.Fonts.GenerateFont('Tahoma', 12, [afBold]);
  font.Color := clRed;
  font.TextOut(...);
Wichtig: Die Fontvariable nicht freigeben, darum kümmert sich der Fontmanager.
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
Vasco da Gama

Registriert seit: 2. Aug 2009
131 Beiträge
 
Delphi 2009 Professional
 
#5

Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]

  Alt 5. Aug 2009, 18:32
Danke, werd ich probieren.
Flo
Programmiere inzwischen hauptsächlich mit C++. Nicht böse werden
  Mit Zitat antworten Zitat
Vasco da Gama

Registriert seit: 2. Aug 2009
131 Beiträge
 
Delphi 2009 Professional
 
#6

Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]

  Alt 10. Aug 2009, 17:56
Hallo, ich habe eine Klasse (TEinheit) von TImageSprite abgeleitet und dort einige Eigenschaften hinzugefügt.
Gibt es irgendeine Möglichkeit, dass das folgende funktioniert?:
    AdSpriteEngine2.GetSpriteAt(p.x, p.y).angeklickt := true; angeklickt ist eine der neuen Eigenschaften(Boolean) aber da GetSpriteAt ein Sprite liefert, kennt er das nicht.
Kann mir jemand helfen?
Danke und mfG

PS(Edit): Das mit den Fonts klappt inzwischen, danke
Flo
Programmiere inzwischen hauptsächlich mit C++. Nicht böse werden
  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.4.5.1, 31.12.08]

  Alt 10. Aug 2009, 18:42
Dann caste es doch.
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
Vasco da Gama

Registriert seit: 2. Aug 2009
131 Beiträge
 
Delphi 2009 Professional
 
#8

Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]

  Alt 10. Aug 2009, 18:53
Ah, vielen Dank.
Flo
Programmiere inzwischen hauptsächlich mit C++. Nicht böse werden
  Mit Zitat antworten Zitat
fui-tak

Registriert seit: 24. Okt 2008
117 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]

  Alt 22. Aug 2009, 14:53
Hallo, ich hab da nochmal ein Problem:
Ich bin im Moment dabei bei meinem Leveleditor für mein Spiel von TImage zu Andorra zu wechseln. Das eigentliche Spiel läuft schon super mit Andorra.

Nun mein Problem: Im OnCreate-Ereignis Erzeuge ich das ganze Andorra-Zeugs und anschließend meine Sprites und weise ihnen als Breite und Hoehe 48 zu und als X und Y Werte ihre Position im 2 dimensionen Array multipliziert mit 48 (Sprite[1,1] hat also die Koordinaten 48/48.
Das ganze wird aber nicht so dargestellt. Die Sprites werden vergrößert, aber immernoch schön aneinander dargestellt, als hätte man Breite, Höhe, X und Y verändert. Wenn ich mir die Koordinaten der Maus auf dem Bildschirm ausgeben lasse, sehe ich das die Sprites auf dem Bildschirm ca. 100 Pixel hoch und 125 Pixel breit sind. Lasse ich mir die Daten aber mit ShowMessage ausgeben sind sie so wie sie sollen.

Hier noch etwas Code der relevant sein müsste:
Delphi-Quellcode:
TLevelEditorSprite = class(THintergrundBild)
        tag: integer;
        hint: string;
end;

procedure TLevelEditor.FormCreate(Sender: TObject);
var i,h: integer;
const startgroesse = 48;
begin
    Timer1.Interval := 100;
    zoom := startgroesse;
    Panel1.caption := '';

    left := Form1.left + 20;
    top := Form1.top + 20;

    ListBox1.OnKeyDown := FormKeyDown;
    Label1.caption := '';
    Label2.caption := 'Steuerung:'+#13#10+
                      'Bewegen der Oberfläche: W,A,S,D'+#13#10+
                      'Quellcode generieren: M'+#13#10+
                      'Vergrössern/Verkleinern: +/-';
    Label3.caption := 'Größe: '+IntToStr(startgroesse)+'*'+IntToStr(startgroesse);
    Panel2.caption := '';

    for i := 0 to StrToInt(Form1.objektZurueckgeben(-1)) do
       ListBox1.Items.Add(Form1.objektZurueckgeben(i));
    ListBox1.ItemIndex := 0;
    Image1.Picture.Bitmap.LoadFromFile( programmpfad+'bilder\'+ListBox1.Items.Strings[ListBox1.ItemIndex]+'.bmp');


    AdDraw := TAdDraw.Create(Panel1);
    AdDraw.DllName := programmpfad+'AndorraDX93D.dll';
    if AdDraw.Initialize then
    begin
        //Application.OnIdle := Idle; //Ich rufe das ganze in einem Timer auf
        AdImageList := TAdImageList.Create(AdDraw);
        Form1.AndorraBilderZuweisen(AdImageList);

        AdSpriteEngine := TSpriteEngine.Create(nil);
        AdSpriteEngine.Surface := AdDraw;
        AdPerCounter := TAdPerformanceCounter.Create;


        setLength(hb,15,10);

        for i := 0 to high(hb) do
          for h := 0 to high(hb[0]) do
            bildErzeugen(i,h,startgroesse);

        panelAnpassen;

        label4.caption := 'Spalten: '+IntToStr(high(hb)+1)+' Zeilen: '+IntToStr(high(hb[0])+1);
    end;
end;



procedure TLevelEditor.bildErzeugen(xNummer,yNummer,groesse:integer);
begin
    hb[xNummer,yNummer] := TLevelEditorSprite.Create(AdSpriteEngine);
    Form1.hbdatenZuweisen(hb[xNummer,yNummer],0,AdImageList);
    with hb[xNummer,yNummer] do
        begin
          hint := IntToStr(xNummer)+'t'+IntToStr(yNummer);

          X := xNummer * groesse;
          Y := yNummer * groesse;
          width := groesse;
          height := groesse;
          visible := true;
        end;
end;


procedure TLevelEditor.panelAnpassen;
begin
   Panel1.Width := Round((high(hb)+1)*zoom);
   Panel1.Height := Round((high(hb[0])+1)*zoom);
end;




procedure TForm1.hbdatenZuweisen(bild:THintergrundBild;objektNummer:integer;AndorraImageList:TAdImageList);
begin
   Bild.Image := AndorraImageList.Find(AnsiLowerCase(objektZurueckgeben(objektNummer)));
   with Bild do
   case objektNummer of
     0: begin
         wand := false;
         AnimActive := false;
         AnimLoop := false;
         AnimSpeed := 0;
         AnimStart := 0;
         AnimStop := 0;
        end;

     1: begin
        ...

     6: begin //Wand Haus
         wand := true;
         AnimActive := false;
         AnimLoop := false;
         AnimSpeed := 1;
         AnimStart := 1;
         AnimStop := 1;
         AnimPos := 0;
        end;
   end;
end;


procedure TForm1.AndorraBilderZuweisen(AndorraImageList: TAdImageList);
begin
        with AndorraImageList.Add('schuss') do
        begin
             Texture.LoadGraphicFromFile(programmpfad+'bilder\schuss.bmp',true,clWhite);
             PatternWidth := 20;
             PatternHeight := 20;
        end;
        with AndorraImageList.Add('scrollpfeile') do
        ...
  
        AndorraImageList.Restore;
end;
  Mit Zitat antworten Zitat
Vasco da Gama

Registriert seit: 2. Aug 2009
131 Beiträge
 
Delphi 2009 Professional
 
#10

Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]

  Alt 22. Aug 2009, 17:44
Ich hab jetzt nicht den ganzen Quelltext gelesen, aber wenn ich mich nicht irre, könnte
ScreenToClient(TPoint); helfen...?!
Flo
Programmiere inzwischen hauptsächlich mit C++. Nicht böse werden
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 95 von 101   « Erste     4585939495 9697     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 08:02 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