Entwickler-Ecke
Multimedia / Grafik - Self.X und Self.Y bei DelphiX
Da_Knuddelbaer - Fr 28.02.03 10:21
Titel: Self.X und Self.Y bei DelphiX
Ich bins nochmal :P
Ich will die Koordinaten eines Sprites verändern. Beispielsweise lege ich im quellcode fest:
Quelltext
1: 2:
| X := Self.X; Y := Self.Y; |
Jetzt will ich das aber nicht, sondern ich will zu jedem X und Y den Wert Self.X per div 30 berechnen und dann mit 30 multiplizieren. Wenn ich das jedoch mache (auch mit zusätzlichen Variablen), dann sagt mir Delphi
| Zitat: |
| Operator ist auf diesen Operandentyp nicht anwendbar |
Wie behebe ich das Problem? Ich weiss dass Self.X und Self.Y jeweils vom Typ Double sind. Also ich müsste irgendwie von Double zu Integer und zurück konvertieren können um "div" anwenden zu können.
maximus - Fr 28.02.03 12:14
Hi,
da x und y vom typ double sind, brauchst du div nicht benutzen, da dies keine integer sind. mach es mit ganz normalen operatoren:
x := x/30*30 ; // <- das macht doch keinen sinn
...hä?
Da_Knuddelbaer - Fr 28.02.03 13:17
Titel: dochdoch, der Sinn ist schon noch vorhanden
hallo maximus,
DIV ist nicht das gleiche wie das normale dividieren. Div gibt beispielsweise bei 32 div 30 den Wert 1 zurück. Der Rest wird abgeschnitten. Anders ist das bei dem Befehl MOD, da wird der Rest wiedergegeben.
Wenn ich also einen Sprite bei den Koordinaten 32 | 94 hinsetze, dann erhalte ich über meine Rechnung (per DIV-Befehl)
32 div 30=1; 1*30=30=X
94 div 30=3; 3*30=90=Y
dadurch erreiche ich dass der sprite exakt in einem Feld erstellt wird und nicht scheps daneben.
Knuddelbaer
maximus - Fr 28.02.03 13:59
Schon klar! Hatte ich mir auch schon gedacht, dass du ein raster erstellen willst. Hat mich nur stutzig gemacht, weil ich erstma das operator problem beantwortet habe :)
was spricht gegen x := (trunc(x) div 30)*30 ?
mfg mx.
Da_Knuddelbaer - Fr 28.02.03 14:45
Ich denke genau den befehl habe ich gesucht :)
oh oh oh, sowas sollte man aber eigentlich wissen...
Thx!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!