Så bliver du nødt til at tegne de 2 linier selv....
Ellers kan du tegne med pattern, dvs du laver 6 forskellige bitmaps med 2 pixels på hver af dem, og så skal du selv holde styr på hvad for en af dem der skal bruges, ud fra hvilken retning der bliver tegnet.....
Prøv at kigge på Delphi´s egen "Image editor" med den kan du tegne din egen cursor, jeg kan ikke lige huske hvordan man implementere den i programmet, prøv at kigge i hjælpefilen!
Cursor, dette har intet med en cursor at gøre, men problemet er meget større end som så. Hvis du (sabine) ikke er særlig god til programmering, så har du et problem, for i en togbane, må linierne ikke krydse hinanden, dvs. At hvis en bruger tegner en streg, så ser det ser fint ud, men problemet opstå når brugeren derefter vil tegne en linie fra slut puntet til et nyt punkt, for så kan det ske at du skal fjerne noget fra den forrige linie fordi det er parallelt, for at det skal ser godt ud.... Og den eneste måde du kan dette på, er at have en tabel over alle linierne, og gentegne bitmappet hver gang.....
Det er noget af en opgave du har givet dig ud på.....
Hvis der skal være mellemligende linier imellem de 2 linier, så kan du snyde ved at tegne 2 linier oven på hinanden, hvor du laver pen størrelsen stor på den ene linie, og lille på den anden, så vil du få en skæring på alle samle punkterne.....
Jeg håber du forstår lidt af hvad jeg snakker om.....
Jo jeg ved godt at det er lidt af opgave jeg har påtaget mig og nej jeg er den beste programør
der skal være linier i mellem de to paralelle linier, så det ser ud som et rigtig spor. og det gør ikke noget at man kan tegne henover et andet spor da programmet er til folk i modelbane klubber
jeg forstår det meste af det, men ikke det sidste. Hvad mener du med 2 linier oven på hinanden ?
Jeg mener, du kan jo sætte en canvas pen størrelse til f.eks. 10, og tegne en linie, og derefter sætte pen størrelsen til 5 og ændre farven på pen.color, og tegne nødagtig oven på den anden linie....Dette er en snavset løsning, og hvis jeg skulle lave det ville jeg som sagt have en tabel med samtlige linier i og så tegne det hele op på ny, hver gang der blev tegnet en ny linie.....
Hvad med at tegne sporene som en ren, almindelig linje. Og når så det er overstået, tegnes op som togspor - evt. med flere streger oven i hinanden. Således er det kun den underlæggende tynde streg du skal holde styr på - resten er bare en flot måde at vise den på.
Se det jeg gerne vil have lavet er et program hvor man kan tegne sin togbane ind og sætte sine sporskift på ovs. og have mulligheden få at trykke på et sporskift og få en eller anden event.
Om det er en linie eller om det er to paralelle linier er lige meget nu. Jeg skal bare kunne tegene banen ind og kunne gemme det og hente det igen
Jeg kan på sabine\'s seneste kommentar godt se at et lighedstegn slet ikke er nok, da det Sabine søger lader til at være et komplet program til at designe f.eks. en modeljernbane og det er en del mere arbejde end det oprindelige spørgsmål lægger op til.
Er det meningen at sporene skal være af forudbestemt længde, bredde osv., eller skal man kunne tegne en fuldstændig tilfældig jernbane? Hvis du forstår...
Hvis sidstnævnte er tilfælde så kan jeg ikke sige andet end, ja, du HAR påtaget dig noget af en opgave.
Hvis førstnævnte derimod er tilfælde er problemet en smule mindre, men alligvel... Jeg har nogle ideer til hvordan du kan tegne de forskellige typer spor, men hvis du bagefter ønsker at kunne klikke på dem for at kunne flytte dem eller skifte spor, er du nødt til at lagre alt information om banen for at kunne gå tilbage og gribe fat i en bestemt del bagefter. Til gengæld er det derefter ikke så svært at lagre alt den information i en fil...
Du kunne f.eks enten bruge et virtuelt grid (og evt. tegne det) så når du bevæger din muse-cursor og er det indenfor et kvadrat i grid\'et kan du putte et bitmap på x,y positionen af kvadratet. Med højre muse-knap kunne du så vælge imellem forskellige bitmaps (en vandret togskinne, eller skrå o.s.v)
Det eneste der skal gemmes, hvis der skal det, er gridposition og bitmap nr.
Du kan bruge et Image og en Imagelist f.eks til selve det grafiske.
Ulempen er at man skal klikke sig frem til hele togbanen istedet for at frihånds tegne hvor programmet tvinger linierne til at ligge i rækkefølge.
Måske er det muligt at gøre det glidende, idet at så længe man holder venstre muse-knap trykket ned og trækker cursoren hen over tegnefeltet vil der tegnes en spor i hver kvadrat i dit grid. Men så skal der holdes øje med hvilken retning cursoren er i, og om der trækkes op, ned eller til siderne. (Lige som i simcity eller lign.)
Ex. man er ved at tegne et vandret spor også trækkes musen opad, så skal programmet ændre sidste kvadrat til et buet eller skråt spor. Man kunne evt. også derefter klikke sig frem for at rette evt. fejl
Jeg tænker mig til at selve det grafiske er nemt at lave, men intelligensen som holder øje med hvad man laver er mere komplex !
Hvad går programmet ud på ? Og hvad har du lavet indtil videre ?
Heh sad lige og tænkte over sagen efter at have læst hele dialogen igennem igen. Mit lille prog er uhyre simpelt, det kan tegne togskinner vandret og lodret, men holder ikke styr på evt. fejl.
Og det er ret komplex og tidskrævende at kode sig frem til det ønskede !!
Jeg ville stadig holde standpunkt ved at klikke sig frem til hver togskinne og vælge type med højre muse-knap, istedet for frihåndstegning.
Jeg har selv været medlem af en model jernbane klub, og der laver man ikke en bane på 2 sec, det tager lang tid for en togskinne, og hvis der skal designes i et program, ser jeg ikke klikke-metoden for dårlig...
Hej Webb. ja Thomas er mit navn. Men eksperten ville ikke tage som brugernavn så jeg bruger min datteres navn
Jeg vil gerne se det du har lave, du kan sende til T.Hjortby@Privat.dk Med hendsyn til hvad jeg har fået lavet nu på programmet, så kan jeg kun svare ingenting da jeg bliver ved med at hænge fast i den grafiske del
Til dem som har fulgt med, så har jeg skrevet noget kode for Thomas som virker tilfredstillende m.m. Til dem der vil se koden, mail mig venligst webb@chicks.dk
/Webb
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.