ik ben een isometrishe engine aan het schrijven die isometrish allerlei hokjes kan planten die in een dbase staan, nu wil ik deze hokojes aan de hand van hun id (wat er uit ziet als een coordinaat) allemaal op het scherm pleuren.
het hokje 0-0 komt bovenin de punt en 50-50 onderin, hiertussen liggen natuurlijk 2498 ander hokjes die allemaal aan moeten sluiten.
hiervoor had ik een stuk code geschreven die volgens mij zou moeten werken. (wiskundig iig wel, aldus mijn berekeningen)
als er nog iemand wakker genoeg om hiernaar te kijken, want ik kom er niet uit,
zonder de settype( "integer") kwam er overal -750 uit en met komt er -720 uit.
waarom?
ikke niet snappe.
het hokje 0-0 komt bovenin de punt en 50-50 onderin, hiertussen liggen natuurlijk 2498 ander hokjes die allemaal aan moeten sluiten.
hiervoor had ik een stuk code geschreven die volgens mij zou moeten werken. (wiskundig iig wel, aldus mijn berekeningen)
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
| <? $width=30; // width of each image $height=30; // height of each image $isometricheight=$height/2; // the difference that couses isometry to apear in height $isometricwidth=$width/2; // the difference that couses isometry to apear in width $rows=50; $cols=50; function getlocation($coords) { global $width, $height, $isometricheight, $isometricwidth, $rows, $cols; $centerline=$rows/2; $subarray=explode($coords, "-"); // make sure we explode the coords into to seperate peices x and y // get the y coordinates by calculations. $subarray[0]=settype($subarray[0], "integer"); $subarray[1]=settype($subarray[1], "integer"); if (settype($subarray[0], "integer") % 2 == 1) { $y=(((settype($subarray[0], "integer")/2)*$height)+$isometricheight); // deze interger is dus oneven en is dus niet lief, deze moet 15 meer verschven worden } else { $y=(settype($subarray[0], "integer")/2)*$height; } // get the x coordinates by calculations. if (settype($subarray[1], "integer") % 2 == 1) { $x=(((settype($subarray[1], "integer")/2-$centerline)*$width)+$isometricwidth); // deze interger is dus oneven en is dus niet lief, deze moet 15 meer verschven worden } else { $x=(settype($subarray[1], "integer")/2-$centerline)*$width; } echo"<div id=\""; echo $coords; echo"\" style=\"position:absolute; left="; echo $x; echo"px; top="; echo $y; echo"px\">$coords</div>"; } // ff met de dbase connecten // en dan de zooi door de functie laten tekenen function dbconnect() { mysql_pconnect("***", "*****", "****" ); mysql_select_db("*******") or die ("Unable to select database"); } dbconnect(); $result=mysql_query("select * from hokjes"); while(list($id, $bgr, $inh, $p1, $p2, $p3, $p4, $site, $owner)=mysql_fetch_array($result)) { getlocation($id); } ?> |
als er nog iemand wakker genoeg om hiernaar te kijken, want ik kom er niet uit,
zonder de settype( "integer") kwam er overal -750 uit en met komt er -720 uit.
waarom?
ikke niet snappe.
openkat.nl al gezien?