N
is leichter gesagt, als getan...
das problem ist ja, dass ich nicht einfach so einen scalierten bitmap zeichnen kann, da ja teile davon von einer vorstehenden ecke/wand verdeckt sein können, d.h. ich muss immer vertikale abschnitte nacheinander zeichnen. ich hab schon folgendes probiert (ansatz) komm aber noch nicht weiter: egal aus welchem winkel der strahl kommt, die koordinaten wo er jedesmal auf das objekt (wird noch als block behandelt) trifft, werden abgerundet und dann werden 0.5 addiert. da habe ich genau den mittelpunkt des blocks, wo ich dann das objekt zeichne. mittels dem pythagoras ist es ganz einfach, den abstand zwischen diesem mittelpunkt und der pos. des spielers auszurechnen. dann kann ich auch mittels acos/asin den winkel, in dem der mittelpunkt liegt, ausrechnen. die höhe des objektes/blocks habe ich mit der distanz auch schon ausgerechnet. die breite ist demzufolge gleich der höhe. was ich jetzt brauche, ist die x-position, auf der der mittelpunkt dargestellt werden würde (erstmal ganz unabhängig davon, ob der bildschirm wirklich so breit ist). dann müsste ich von dieser x-pos. die hälfte der breite/höhe abziehen bzw addieren, um jeweils die äußeren ränder zu bekommen. dann kann ich ganz einfach für jeden auf das objekt eintreffenden strahl (der winkel und die x-pos auf dem screen wird der funktion mitgegeben) ausrechnen, ob er überhaupt gezeichnet wird und wenn ja, welche vertikale linie von der textur genommen wird... das wars dann auch schon aber wiegesagt, mein problem ist die x-pos. des mittelpunkts...
cya l8r, todo