Avatar billede thingholm.dk Nybegynder
14. maj 2002 - 13:50 Der er 16 kommentarer og
1 løsning

localToGlobal

Hejsa

Jeg har en lille udfordring med localToGlobal.

Jeg har et movieclip, hvis sti er:

_root.man.arm.aim

Jeg har så lavet en funktion, som hedder shoot(). Når denne funktion køres, vil jeg gerne have x og y koordinaterne på "aim". Disse koordinater skal være de globale - dvs. ikke koordinaterne i forhold til "arm".

Håber at nogen kan hjælpe.

VH

Anders
Avatar billede thingholm.dk Nybegynder
14. maj 2002 - 14:22 #2
ja ha ha, det har jeg sgu set :-)

Men jeg synes ikke at den giver mening.

VH

Anders
Avatar billede hoejrup Nybegynder
14. maj 2002 - 14:46 #3
Det er hellere ikke alle der skal forstå programmering, så det skulle
du måske overlade til en professionel programmør.

/per
Avatar billede thingholm.dk Nybegynder
14. maj 2002 - 15:01 #4
Det var dog det mest latterlige svar jeg endnu har set herinde. Hvis du ikke vil svare på spørgsmålet, synes jeg at du skulle lade være med at spilde min (og din) tid.
Avatar billede hoejrup Nybegynder
14. maj 2002 - 15:24 #5
Det kan godt være at et ikke giver mening, men det er ekstremt simpelt.

/per
Avatar billede hoejrup Nybegynder
14. maj 2002 - 15:24 #6
Det kan godt være at det ikke giver mening, men det er ekstremt simpelt.

/per
Avatar billede hoejrup Nybegynder
14. maj 2002 - 15:52 #7
Du skal bare sætte følgende as på dit aim movieclip:

point.x = aim._x;
point.y = aim._y;
localToGlobal(point);
_root.GlobalPointx = point.x
_root.GlobalPointy = point.y

/per
Avatar billede thingholm.dk Nybegynder
14. maj 2002 - 16:08 #8
Mange tak. Men skal der ikke oprettes et nyt object?
Avatar billede thingholm.dk Nybegynder
14. maj 2002 - 16:09 #9
Og kan man ikke lave kalkulationen ude fra roden (en funkttion i roden)?
Avatar billede hoejrup Nybegynder
14. maj 2002 - 16:14 #10
Velbekomme!

Hvad skal du bruge det nye objekt til?

Tænker du på din x position: _root.man.arm.aim._x

Det har jeg godt nok ikke prøvet, men det virker ikke logisk.

/per
Avatar billede thingholm.dk Nybegynder
14. maj 2002 - 16:17 #11
Jeg har denne funktion som gerne skulle sytte de globale værdier ud:

function shoot () {
    point.x = man.arm.aim._x;
    point.y = man.arm.aim._y;
    man.arm.aim.localToGlobal(point);
    GlobalPointx = point.x;
    GlobalPointy = point.y;
    trace (_root.GlobalPointx);
    trace (_root.GlobalPointy);
}

Men det spiller sgu ikke rigtig. Stien til "aim" er stadig:


_root.man.arm.aim
Avatar billede hoejrup Nybegynder
14. maj 2002 - 16:22 #12
Jeg tror ikke din metode virker, men du mangler stadigvæk at sætte _root. på dit kode:

function shoot () {
    point.x = _root.man.arm.aim._x;
    point.y = _root.man.arm.aim._y;
    _root.man.arm.aim.localToGlobal(point);
    GlobalPointx = point.x;
    GlobalPointy = point.y;
    trace (_root.GlobalPointx);
    trace (_root.GlobalPointy);
}

/per
Avatar billede thingholm.dk Nybegynder
14. maj 2002 - 16:37 #13
Hej igen

Det ser ud til at der skulle laves et nyt object alligevel :-)

Denne kode virker:

    point = new object();
    point.x = _x;
    point.y = _y;
    localToGlobal(point);
    _root.GlobalPointx = point.x;
    _root.GlobalPointy = point.y;
Avatar billede hoejrup Nybegynder
14. maj 2002 - 16:39 #14
Ok! Jeg har aldrig prøvet det før, for jeg har porgrammeret et lidt anderledes skydespil for et stykke tid siden.

/per
Avatar billede hoejrup Nybegynder
14. maj 2002 - 16:40 #15
programmeret = porgrammeret
Avatar billede hoejrup Nybegynder
14. maj 2002 - 16:41 #16
Avatar billede hoejrup Nybegynder
14. maj 2002 - 16:44 #17
Her der et svar. :-)

/per
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