/ Forside / Teknologi / Multimedie & design / Flash / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Flash
#NavnPoint
bentjuul 4251
molokyle 1978
Klaudi 1488
jhvp 1265
pallenoc 1160
katekismus 1020
Fnollerpi.. 790
slander 510
Dr.Disco 500
10  Flash77 500
Fra punkt A til B
Fra : Bo Rattenborg


Dato : 27-09-02 21:34

Er der nogen der kender til en funktion eller har en idé til hvordan jeg gør
hvis jeg ønsker følgende:

En funktion (et movieclip) der ved at få oplyst navn på et clip og en ny
position kan flytte dette clip fra dets nuværende position (A) til den
fremtidige position (B). Det jeg ønsker er naturligvis ikke blot:

clip._x = ny v værdi
clip._y = ny y værdi

men at clipet animeres fra A til B, altså f.eks. en pixel af gangen. Det må
være noget med at en ret linies ligning indgår i funktionen, eller er jeg
helt forkert på den og findes der en anden og nemmere løsning ?

Bo

ps. Da den nuværende position kan variere, skal flytningen ske via
ActionScript.

pps. jeg håber at ovenstående forklarer problematikken, ellers må jeg
uddybe.



 
 
Henrik Kollberg (27-09-2002)
Kommentar
Fra : Henrik Kollberg


Dato : 27-09-02 22:25

nuX = getProperty(_root.clip, _x);
nuY = getProperty(_root.clip, _y);
Så har du den nuværende position.

nyX (bliver givet)
nyY (bliver givet)
nuX=nuX+1 [lav en if sætning som ændre fortegn
hvis nyX er mindre nyX]
nuY=nuY+(nyY/(nyX-nuX)) [lav en if sætning som ændre fortegn hvis nyY er
mindre nyY]
setProperty("clip", _x, "nuX");
setProperty("clip", _y, "nuY");

Det må være sådan noget du mener??
Det vil flytte et punkt i x retning og hvad der svarer dertil i y retning.
Lav en sætning der lyder: Hvis (nyX-nuX)<(nyY-nuY) så nuY=nuY+1...
Det var meget hurtigt skrevet så jeg håber at ideen kan forstås.

Henrik Kollberg

> Er der nogen der kender til en funktion eller har en idé til hvordan jeg
gør
> hvis jeg ønsker følgende:
>
> En funktion (et movieclip) der ved at få oplyst navn på et clip og en ny
> position kan flytte dette clip fra dets nuværende position (A) til den
> fremtidige position (B). Det jeg ønsker er naturligvis ikke blot:
>
> clip._x = ny v værdi
> clip._y = ny y værdi
>
> men at clipet animeres fra A til B, altså f.eks. en pixel af gangen. Det

> være noget med at en ret linies ligning indgår i funktionen, eller er jeg
> helt forkert på den og findes der en anden og nemmere løsning ?
>
> Bo
>
> ps. Da den nuværende position kan variere, skal flytningen ske via
> ActionScript.
>
> pps. jeg håber at ovenstående forklarer problematikken, ellers må jeg
> uddybe.
>
>



Bo Rattenborg (27-09-2002)
Kommentar
Fra : Bo Rattenborg


Dato : 27-09-02 23:16

> nyX (bliver givet)
> nyY (bliver givet)
> nuX=nuX+1 [lav en if sætning som ændre fortegn
> hvis nyX er mindre nyX]
> nuY=nuY+(nyY/(nyX-nuX)) [lav en if sætning som ændre fortegn hvis nyY er
> mindre nyY]
> setProperty("clip", _x, "nuX");
> setProperty("clip", _y, "nuY");
>
> Det må være sådan noget du mener??

Ja noget i den retning, men hvis nu at afstanden mellem ny og gammel X er 10
og afstanden mellem ny og gammel Y er 100, så vil den jo ikke flytte sig en
ret linie, men først flytte sig 45grader det første stykke, hvor efter det
kun flytter sig i Y retningen.

Bo



M!chael (30-09-2002)
Kommentar
Fra : M!chael


Dato : 30-09-02 22:20

> Ja noget i den retning, men hvis nu at afstanden mellem ny og gammel X er
10
> og afstanden mellem ny og gammel Y er 100, så vil den jo ikke flytte sig
en
> ret linie, men først flytte sig 45grader det første stykke, hvor efter det
> kun flytter sig i Y retningen.

Så skal der udregnes noget vinkel i forhold til de 2 positioner.
Det gøres sådan:
http://www.flashfaq.dk/spg.asp?faq=213

Mvh, Michael



Bo Rattenborg (02-10-2002)
Kommentar
Fra : Bo Rattenborg


Dato : 02-10-02 22:53

Super cool Michael, lige hvad jeg har efterlyst

Nu må jeg i gang med at se om jeg forstår havd der sker.

Når vi er ved det, ved du / I hvor man kan finde oplysninger om forskellige
måder at beregne bevægelser på, her tænker jeg f.eks. på friktion, tyngde
m.m. ? - det er nok ikke specielt Flash relateret, men nok mere matematik.
Jeg har ledt på via google, men det førte ikke til noget

Bo



Bo Rattenborg (05-10-2002)
Kommentar
Fra : Bo Rattenborg


Dato : 05-10-02 23:27

> http://www.flashfaq.dk/spg.asp?faq=213

Det virker jo fint, men nu har jeg brugt noget tid på at finde ud af
hvorfor, har du evt. mod på at skære det ud i pap for mig ?

Bo



Henrik Kollberg (02-10-2002)
Kommentar
Fra : Henrik Kollberg


Dato : 02-10-02 06:08

Det er da stadigvæk en ret linie selv om den er "skrå"?!?! Det jeg skrev
burde virke!

Hvis jeg får tid så laver/mailer jeg en fla til dig.
Undskyld den lange respons tid - Jeg var til Berlin marthon i week-end'en.
Henrik Kollberg

> > nyX (bliver givet)
> > nyY (bliver givet)
> > nuX=nuX+1 [lav en if sætning som ændre fortegn
> > hvis nyX er mindre nuX]
> > nuY=nuY+(nyY/(nyX-nuX)) [lav en if sætning som ændre fortegn hvis nyY
er
> > mindre nuY]
> > setProperty("clip", _x, "nuX");
> > setProperty("clip", _y, "nuY");
> >
> > Det må være sådan noget du mener??
>
> Ja noget i den retning, men hvis nu at afstanden mellem ny og gammel X er
10
> og afstanden mellem ny og gammel Y er 100, så vil den jo ikke flytte sig
en
> ret linie, men først flytte sig 45grader det første stykke, hvor efter det
> kun flytter sig i Y retningen.
>
> Bo



M!chael (02-10-2002)
Kommentar
Fra : M!chael


Dato : 02-10-02 18:56

> Det er da stadigvæk en ret linie selv om den er "skrå"?!?! Det jeg skrev
> burde virke!

Som Bo også nævner så skal bevægelsen foregå i en ret linie.
Det gør dit eksempel umiddelbart ikke -
Bevægelsen på begge akser skal nemlig eksekveres over lige mange frames og
dertil skal der laves nogle matematiske beregninger

/Michael



Henrik Kollberg (03-10-2002)
Kommentar
Fra : Henrik Kollberg


Dato : 03-10-02 21:52

Vedhæftet er en fla som viser det som jeg forklarede, uden at bruge kræfter
på at regne med cosinus og sinus!
Jeg bruger bare formlen for en ret linie y=x+a, hvor a er hældningen.
Der mangler nogle if sætninger for bl.a. at tage højde for hvis a>1 så skal
det gøres omvendt så der i stedet for:
_root.nuX = _root.nuX+1;
kommer der til at stå:
_root.nuY = _root.nuY+1;
og så er det selvfølgelig X man skal til at udregne!
Mangler i fla-filen: at få den til at stoppe på (nyX,nyY) og en sætning til
at sørge for at ændre fortegn hvis nyX og/eller nyY er mindre StartX og
StartY.

Og det foregår på en ret linie! også selv om der er nogle der mener
anderledes!
Jeg har vist fået byttet om på x og y i fla filen

MVH.
Henrik Kollberg
Fla-filen kunne ikke vedhæftes her men kan hentes her
http://home8.inet.tele.dk/kollberg/A-B.fla

"M!chael" <admin@flashfaq.dk> skrev i en meddelelse
news:erGm9.65768$Qk5.2659585@news010.worldonline.dk...
> > Det er da stadigvæk en ret linie selv om den er "skrå"?!?! Det jeg skrev
> > burde virke!
>
> Som Bo også nævner så skal bevægelsen foregå i en ret linie.
> Det gør dit eksempel umiddelbart ikke -
> Bevægelsen på begge akser skal nemlig eksekveres over lige mange frames og
> dertil skal der laves nogle matematiske beregninger
>
> /Michael
>
>





Bo Rattenborg (03-10-2002)
Kommentar
Fra : Bo Rattenborg


Dato : 03-10-02 22:41

Hej Henrik

Jeg må jo bukke mig i støvet, du har selvfølgelig ret. En bevægelse fra et
punkt til et andet i en ret linie, sker naturligvis via en ret linies
formel.

Undskyld

Det man så kan sige, er at den måde Michael har løst det på, gør at der
automatisk tages højde for negative bevægelse, hvis ikke jeg tager fejl.

Mvh
Bo

ps. tak for hjælpen.



M!chael (04-10-2002)
Kommentar
Fra : M!chael


Dato : 04-10-02 07:20

> Vedhæftet er en fla som viser det som jeg forklarede, uden at bruge
kræfter
> på at regne med cosinus og sinus!

Måske er der et formål at lægge kræfterne der
Dit koordinatsystem består jo ikke udelukkende af posetive tal, og der er
vel ingen grund til at lave 200 if-statements, når en fuldendt løsning
fylder under 20 linier kode ??

Mvh, Michael



Henrik Kollberg (04-10-2002)
Kommentar
Fra : Henrik Kollberg


Dato : 04-10-02 16:55

Jeg giver mig
....
næsten!


"M!chael" <admin@flashfaq.dk> skrev i en meddelelse
news:Tqan9.67896$Qk5.2981378@news010.worldonline.dk...
> > Vedhæftet er en fla som viser det som jeg forklarede, uden at bruge
> kræfter
> > på at regne med cosinus og sinus!
>
> Måske er der et formål at lægge kræfterne der
> Dit koordinatsystem består jo ikke udelukkende af posetive tal, og der er
> vel ingen grund til at lave 200 if-statements, når en fuldendt løsning
> fylder under 20 linier kode ??
>
> Mvh, Michael
>
>



M!chael (04-10-2002)
Kommentar
Fra : M!chael


Dato : 04-10-02 19:53

> Jeg giver mig
> ...
> næsten!
>

Der skal også være plads til alternative løsninger



Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408879
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste