Avatar billede ditlev Juniormester
07. august 2001 - 22:55 Der er 4 kommentarer og
2 løsninger

Tegn en linie mellem to punkter

Er der en nem måde at tegne en linie mellem to punkter?

Jeg har to koordinater (x1,y1) og (x2,y2). Der skal tegnes en linie imellem punkterne.
Jeg kan få det til at virke ved at lave et movieclip med en linie. Dette movieclip placerer jeg på (x1,y1), således at linien starter derfra. Herefter beregner jeg vinklen mellem x-aksen og den dannede vektor, og roterer movieclippet svarende til vinklen. Endelig tilpasser jeg længden på linien vha. x-scale, efter at jeg har beregnet forholdet mellem den oprindelige linie og den ønskede længde...... En masse beregning med sinus og kvadratrod mm.
Temmeligt besværligt - findes der ikke en nemmere metode?
Ideelt set burde der være en kommando der hed drawLine (x1,y1:x2,y2), måske kommer den i Flash6.....

/Ditlev
Avatar billede lingoman Nybegynder
07. august 2001 - 23:24 #1
Hej ditlev,

Jeg kender en metode som er lidt mere lige til end at beregne vinkler.

Fidusen er at man tegner en kvadrat på 100 x 100 pixel i stedet for at starte med in linie.

I denne kvadrat går en linie fra (top,left) til (bottm, right). Resten af kvadraten er tom (usynlig)

Når man så gerne vil have en linie fra (x1,y1) til (x2,y2) sætter du (top,left) ved (x1,y1).

Derefter sætter vi _xscale og _yscale ved at beregne

newXscale = x2 - x1
newYscale = y2 - y1

Ideen er taget fra Gary Rosenzweig\'s Flash 5 fun & games
Avatar billede gotcha Nybegynder
07. august 2001 - 23:26 #2
Der er en langt nemmere, og også langt hurtigere, metode. Du kan bare lave en funktion, som hedder drawLine:

function drawLine (x1,y1,x2,y2,depth) {
  this.attachMovie(\"myLine\", \"myLine\" add depth, depth);
  shortName = this[\"myLine\" add depth];
  shortName._x = x1;
  shortName._y = y1;
  shortName._xscale = x2-x1;
  shortName._yscale = y2-y1;
}

Her vedhæfter vi et movie clip fra vores bibliotek (dette movie clip skal have navnet \"myLine\" under Linkage...). Desuden skal dette movie clip består af en linie, som er 100 pixels bred og lang. Yderligere skal liniens øverste venstre hjørne befinde sig ved registreringspunktet (det sorte kryds) :)
Avatar billede ditlev Juniormester
07. august 2001 - 23:35 #3
Jeg får ikke prøvet eksemplerne af i aften, og jeg skal på arbejdet imorgen, men jeg er sikker på at det virker, når det kommer fra jer to ;o)

gotcha hvis du har ovenstående på en .fla kunne du så ikke lige sende den, da det ville hjælpe forståelsen lidt..

Tak for hjælpen...
Avatar billede ditlev Juniormester
07. august 2001 - 23:44 #4
Hov... adressen er
anders.ditlev@dadlnet.dk
Avatar billede lingoman Nybegynder
17. oktober 2001 - 00:31 #5
Hej Ditlev,

Læste en Draw Line tutorial og kom i tanke om dit spørgsmål.
http://www.actionscripts.org/tutorials/intermediate/Draw_a_line/index.shtml

Det er længe siden vi har hørt noget fra dig! Håber at du har det godt :)
mvh geo
Avatar billede ditlev Juniormester
17. oktober 2001 - 16:59 #6
Hej Geo,

Takker for linket, jeg har nu fået det til at virke efter jeres fine forklaringer, men det er altid interessant at se, om man kan gøre det på en anden og mere smart måde.

Jeg har ikke været så aktiv på Eksperten på det seneste, da mange andre projekter har presset sig på.
M.h.t. Flash programmering er jeg ved at søsætte en ny udgave af min hjemmeside www.iqtest.dk hvor jeg har lavet en ny dansk test. Den skal pudses af, og jeg mangler en del funktioner endnu, men den er blevet temmelig populær, og den ligger faktisk pt. på 41. pladsen på Jubii\'s top 50 Hitliste!
Det er til denne side at jeg skal bruge drawline funktionen. Jeg lagre dataerne fra testen i en Access database, og vil herefter trække dem frem og lave en kurve over besvarelserne. Den skulle gerne vise noget der minder om normalfordelingen.
Jeg har således mange jern i ilden pt. men kigger da dagligt forbi på Eksperten for at se om jeg lige kan nå at svare på et spørgsmål eller to, men man skal jo være hurtig så det bliver ikke til så meget ligenu :o)

/Ditlev
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester