AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Hilfe bei Rechnung für Iso-Engine
Thema durchsuchen
Ansicht
Themen-Optionen

Hilfe bei Rechnung für Iso-Engine

Ein Thema von Yheeky · begonnen am 27. Jun 2005 · letzter Beitrag vom 27. Jun 2005
Antwort Antwort
Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#1

Hilfe bei Rechnung für Iso-Engine

  Alt 27. Jun 2005, 03:25
Hi,

ich bin gerade dabei eine Iso-Engine zu programmieren. Ich hab soweit die ersten Sachen erledigt. Nun geht´s ans Eingemachte. Ich habe euch ein Bild (Bild 1) zum Verständnis angehängt (bitte ansehen).

Dort erkennt ihr nun eine graue Fläche und weiße Rechtecke. Die grauen Tiles wurden genau in die weißen Rechtecke gezeichnet und dann nochmal mit halber Höhe und halber Breite versetzt gezeichnet. So entsteht der typische Iso-Effekt.

Die beiden Panels in der Leiste sagen folgendes aus: Das linke (8/0) zeigt die Mauskoordinaten (X/Y) bezüglich der Rechtecke an. Die rechte (4/2) die Pixelkoordinaten in diesem Rechteck.

Nun zu meiner Frage: Ich habe jetzt ein Tile (s.Bild 2). Diese hat wie ihr seht 4 Richtungen, in denen ja quasi kein Tile mehr ist (mit clFuchsia markiert). Wie kann ich nun per Code herausfinden, ob sich die Koordinaten auf dieser Fläche befinden?

Ich hoffe mir kann da jemand helfen. Danke.

Gruß Christian
Miniaturansicht angehängter Grafiken
bild_1_507.jpg  
Angehängte Grafiken
 
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Hilfe bei Rechnung für Iso-Engine

  Alt 27. Jun 2005, 06:35
Hallo Christian,

wenn möglich würde ich einfach die Pixel-Farbe testen:

Delphi-Quellcode:
function MouseOnShape(canvas: TCanvas; x, y: integer; hitColor: TColor): boolean;
begin
  Result := Canvas.Pixels[x, y] = hitColor;
end;
Die Koordinaten müssen natürlich entsprechend transformiert sein und eventuell ist es günstiger mit einer missColor und der Umkehrung der Bedingung zu arbeiten.

Grüße vom marabu
  Mit Zitat antworten Zitat
Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#3

Re: Hilfe bei Rechnung für Iso-Engine

  Alt 27. Jun 2005, 13:29
Hi Marabu,

diese Idee hatte ich auch, aber dies ist nicht möglich. Ich muss ja herausfinden, an welcher Seite des Tiles der Mauszeiger ist. Mir reicht ja leider nicht zu wissen, dass ich z.B. in dem Fuchsia farbenen Bereich bin. Ich muss ja noch wissen, ob links oben/unten oder rechts oben/unten. Weiss jemand wie ich das per Code herausfinden kann?

Gruß Christian
  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:14 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