AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi DXDraw und die koordinaten.

DXDraw und die koordinaten.

Ein Thema von chrys · begonnen am 21. Jan 2003 · letzter Beitrag vom 29. Jan 2003
Antwort Antwort
chrys

Registriert seit: 21. Jan 2003
Ort: Italien
34 Beiträge
 
Delphi 6 Personal
 
#1

DXDraw und die koordinaten.

  Alt 21. Jan 2003, 21:45
hallo
ich arbeite an nem isometrischen tiles engine.
Bis jetzt leuft alles ganz super aber ich bekomme es einfach nciht hin das ich per mausClick die korekten koordinaten bekomme ... deshalb ist bei mir das gefuehl hochgekommen das ich da irgendwas falsch mache oder mir das falsch vorstelle ... hier ein wenig code ..

Code:
procedure TForm5.DXTimerTimer(Sender: TObject; LagCount: Integer);
begin
  if not DXDraw.CanDraw then exit;
  DXInput1.Update;
  if not DXDraw.CanDraw then exit;

  if isLeft in DXInput1.States then begin
     if ( startx > 2550) then begin
     startx:=2550;
     GlobalX:=GlobalX+scrollspeed;
     end
      else begin
     inc( startx, scrollspeed );
     GlobalX:=GlobalX-scrollspeed;
     end;
     end;
  if isRight in DXInput1.States then begin
     if ( startx < -3140 ) then begin
     startx:=-3140;
     GlobalX:=GlobalX-scrollspeed;
     end
     else begin
     dec( startx, scrollspeed );
    GlobalX:=GlobalX+scrollspeed;
     end;
     end;
  if isUp in DXInput1.States then begin
    if ( starty > 50) then begin
     starty:=50;
     GlobalY:=GlobalY-scrollspeed;
     end
     else begin
        inc( starty, scrollspeed );
        GlobalY:=GlobalY+scrollspeed;
     end;
     end;
  if isDown in DXInput1.States then begin
     if ( starty < -3000) then begin
        starty:=-3000;
        GlobalY:=GlobalY+scrollspeed;
     end
      else begin
     dec( starty, scrollspeed );
     GlobalY:=GlobalY-scrollspeed;
     end;
     end;
somit kann ich den bildschirm bewegen und die mappe scrollen
globalx und gloably waren die variablen in meinem versuch.Sie sollten festhalten wieviel ich gescrollt bin.

Code:
procedure TForm5.DXDrawMouseDown(Sender:TObject;Button : TMouseButton;Shift:TShiftState;X,Y:Integer);
var XClick,YClick:integer;
    xlogic,ylogic:integer;
begin
if(button = mbLeft)then begin
 if(unitsnotselected)then begin
    XClick:=X;
    YClick:=Y;
    end;
  end;
end;
mit der DXMouseDown .... will ich ganz einfach jetzt wissen auf welche koordinate ich geklickt habe ... das problem ist ja es waere keine grosse sache wenn das bild nicht scrollbar waere .
in xclick,yclick halte ich die koordinaten fest wo ich geklickt habe ...diese ist aber relativ zu der DXDraw oberflaechte also nicht zu der logischen koordinate.
ich dachte mir deshalb ich mache eine logische koordinate xlogic,ylogic
wobei :
xlogic:=X+globalx;
ylogic:=-Y+globaly: //habe hier -Y weil die koordiante negativ ist
//jeh weiter ich runter scrolle ... das weis ich weil wenn ich die
//tiles von hand ausrechne wo sie stehen kommen mit meiner metode
//negative nummern raus!


Wenn jemand einen tipp hat wie ich das loesen koennte waere ich dankbar.
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#2
  Alt 29. Jan 2003, 17:56
arbeites du mit DelphiX ?
wenn ja:
könntes du mir dein projekt mal an:
mimi_171@gmx.de
senden?
dann könnte ich dir vieleicht helfen
achja,ich schreibe auch mit DelphiX meine Spiele(http://mimi.l4k.de)

MFG
Michael Springwald
Michael Springwald
  Mit Zitat antworten Zitat
chrys

Registriert seit: 21. Jan 2003
Ort: Italien
34 Beiträge
 
Delphi 6 Personal
 
#3
  Alt 29. Jan 2003, 18:47
das ganze hat sich erledigt ...alles funktioniert wunderbar aber danke der nachfrage. Bis dann

hast du ne homepage von deinen projekten ?
wenn ja dann kommt doch mal bei mir vorbei
www.spqr-informatics.virtualpage.de
da kannst du ja dann in deinem gaestebuch einen eintrag hinterlassen ...weurde mich freuen was von dir zu hoehren.
ciao

PS: das projekt ist zu gross fuer e-mail.
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#4
  Alt 29. Jan 2003, 19:09
ja ich habe eine Hompage:
http://mimi.l4k.de

könntes du mir mal bitte beschreiben wie man sowas macht was du gemacht hast?

MFG
Michael Springwald
Michael Springwald
  Mit Zitat antworten Zitat
chrys

Registriert seit: 21. Jan 2003
Ort: Italien
34 Beiträge
 
Delphi 6 Personal
 
#5
  Alt 29. Jan 2003, 21:56
der link
http://www.mimi.gsource.de/astrar.html
ist down oder broken ...

was willst du den genau wissen uebers proggen?
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#6
  Alt 29. Jan 2003, 22:10
ich wollte was über iso wissen,also das was du da in deinem Progrmam hast, ich verstehe das leider nicht so gut.
Wie hast du das mit DelphiX geschaft ?
ich schreibe auch mit delphiX meine Programme
es währe toll wenn du mit eine beschreibung zu senden könntes oder das hier im forum rein posten.
Wie kann man so eine isometic ansicht erstellen ?
wie kann man später darauf in unterschiedlicher Größe Objekte bauen ?
also wie z.B in Age of Mythology ?
Danke für antworten

achja:
der link
http://www.mimi.gsource.de/astrar.html

funktioniert
MFG
MIchael Springwald
Michael Springwald
  Mit Zitat antworten Zitat
chrys

Registriert seit: 21. Jan 2003
Ort: Italien
34 Beiträge
 
Delphi 6 Personal
 
#7
  Alt 29. Jan 2003, 22:27
der link

http://www.astrar.de.vu/ ist immernoch broken ...

kontrolliere doch ein wenig besser befor du postest ..merci
[EDIT]der link geht jetzt [/EDIT]
was das ISO engine angeht ...ja das habe ich ganz alleine gemacht ...

ich kann dir eineige quellen nenne wo du infos bekommen kannst.
ich habe leider nicht si die zeit jetzt (heute) darauf einzu gehen weil habe morgen im institut zu sein.

http://www.isometrix.org/archives/ar...estructure.htm
http://www.minfos.de/wissen/iso.html
http://www.gamedev.net/reference/list.asp?categoryid=44
http://www.personal.dundee.ac.uk/~arkeys/tiles1.htm

ansonsten benutzt mal www.google.de da hat es tonnenweise sachen drauf.

ansonsten kann ich nur sagen das meine tiles engine auf dem bekannten DXDraw besteht und zusammen gesetzt ist aus vielen kleinen "TILES" welche dann eben die mappe ergeben.Ich rate dir allerdings die ziehle nicht so hoch zu stecken wie z.B in Age of Mythology .
Bedenke das ich an einem staatlichen italienischen institut fuer informatik studiere und deshalb die noetigen grundkenntnisse besitze.
Diese sind fundamental um eine grundstuktur fuer eine iso engine zu verstehen.OOP ist allerdings dabei nicht unbedingt notwendig da es auch tradizionell geht.
fuer weiter infos kannst du mir gerne schreiben oder posten ... hoffe habe dir ein wenig weiterhelfen koennen .
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 02: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