AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Image Koordinaten herrausfinden

Ein Thema von HISTHIS · begonnen am 10. Mär 2009 · letzter Beitrag vom 10. Mär 2009
Antwort Antwort
HISTHIS

Registriert seit: 5. Dez 2008
13 Beiträge
 
#1

Image Koordinaten herrausfinden

  Alt 10. Mär 2009, 09:26
Hallo Leute


Ich will die Koordinaten eines Bildes herraus finden.

Es geht darum das sich ein Image über das Form bewegt und wenn es am ende angekommen ist soll es sich umdrehen.

nur weis ich nicht wie ich dem Image sagen soll wenn es an den Koordinaten angekommen ist das es sich umdrehen soll.


HISTHIS
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Image Koordinaten herrausfinden

  Alt 10. Mär 2009, 09:30
Guten Morgen,

Du kennst die linke obere Ecke und die Breite des Bildes
addiere diese beiden Daten und schaue ob sie größer als linke Ecke Form +
Formbreite sind.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#3

Re: Image Koordinaten herrausfinden

  Alt 10. Mär 2009, 09:33
Die Koordinaten hast du doch schon?
.Top und .Left

.Height und .Width gibt es auch noch


Image.Top + Image.Width = unteres Ende des Image (nur etwas Mathe halt)
$2B or not $2B
  Mit Zitat antworten Zitat
HISTHIS

Registriert seit: 5. Dez 2008
13 Beiträge
 
#4

Re: Image Koordinaten herrausfinden

  Alt 10. Mär 2009, 09:56
Danke für eure Antworten,
aber wie soll ich das in eine Abfrage schreiben?

HISTHIS
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Image Koordinaten herrausfinden

  Alt 10. Mär 2009, 10:13
Du bewegst doch das Image, in dieser Routine kannst
Du auch die Abfrage machen ob eine Grenze erreicht wurde.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#6

Re: Image Koordinaten herrausfinden

  Alt 10. Mär 2009, 10:14
Pseudocode:
Code:
Wenn ((linke Bildseite + Bildbreite) > (Formularbreite - Rand)) oder (linke Bildseite < Rand) dann
  horizontal umdrehen;
Wenn ((obere Bildseite + Bildbhöhe) > (Formularhöhe - Rand)) oder (obere Bildseite < Rand) dann
  vertikal umdrehen;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#7

Re: Image Koordinaten herrausfinden

  Alt 10. Mär 2009, 10:32
Delphi-Quellcode:
{Form}.Width = Formularbreite
{Form}.ClientWidth = Formularbreite - Rand

... .ClientHeight
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#8

Re: Image Koordinaten herrausfinden

  Alt 10. Mär 2009, 10:58
Mit "Rand" hatte ich ein selbstdefiniertes Offset gemeint, meist will man ja nicht ganz an den Rand stößen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
HISTHIS

Registriert seit: 5. Dez 2008
13 Beiträge
 
#9

Re: Image Koordinaten herrausfinden

  Alt 10. Mär 2009, 11:30
Danke noch mal für eure Antworten habe das jetz so gemacht
//enemys = Das ist das Gegner Bild das steht
//enemyw = Das ist das Gegner Bild das sich bewegt

Im moment läuft er nur bis zum Rand und fängt wieder von vorne an.
Muss erst noch die Bilder bearbeiten die nach links laufen.


Delphi-Quellcode:
  if enemyw.left > 600 then
    begin
      enemys.left := enemys.left -30;
      enemyw.Left := enemyw.Left -30;

     if enemyw.left <600 then
       begin
          while enemyw.left >0 do
            begin
              enemys.left := enemys.left -30;
              enemyw.Left := enemyw.Left -30;
      end;
    end;
  end;

HISTHIS
  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 19:35 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