Avatar billede swiffer Nybegynder
23. marts 2003 - 19:31 Der er 10 kommentarer og
1 løsning

Flytte nogle kasser rundt i perspektiv?

Jeg vil lave en lille flashting, hvor man har nogle kasser, som skal kunne trækkes rundt. Når en kasse kommer tæt på "kameraet" skal den blive større, og når man trækker den væk fra "kameraet", skal den blive mindre. Samtidig skal den eller de kasser som evt. måtte stå foran en eller flere andre kasser også have en dybte (det man i html kalder z-index - jeg ved ikke hvad man kalder det i flash) der svarer hertil. Er der nogle som har et forslag til hvordan det kan laves??
Avatar billede mat Nybegynder
23. marts 2003 - 19:41 #1
well, du kan tegne dine kasser og bruge scale til dybden, men det bliver ikke 3D.
Du kan osse lave dem i et 3D program der kan rendere til swf, og så være lidt kreativ med interaktionen.

Hvis du vil have full-blown 3D med kamera er der en "lille" tutorial her http://www.ultrashock.com/ff.htm?http://www.ultrashock.com/tutorials/flash5/camera_tutorial.html

..og det er ikke ret nemt ;)

-mat
Avatar billede alexander_j Nybegynder
23. marts 2003 - 21:21 #2
Men det grundlæggende bag en fremstilling af en perspektivtegning med centralprojektion er faktisk ikke så slem igen, hvis man har lidt geometrisk snilde - det handler om punkter!

Hvert punkt har i den tredimensionelle verden tre koordinater x, y og z.
Når vi så gerne vil overføre vores tredimensionelle punkt til papir (eller skærm), så kan det gøres efter følgende formel:
x2d=xmidt+d*x3d/z3d;
y2d=ymidt-d*y3d/z3d;

x2d,y2d er vores todimensionelle koordinater for en centralprojektion af det tredimensionelle billede.
x3d,y3d,z3d er vores tredimensionelle koordinater.
xmidt og ymidt er midten af skærmen.
d er en konstant som fortæller noget om hvor langt øjet er væk fra papiret/skærmen.

I dit tilfælde er der tale om kasser som hver består af 8 punkter som igen er forbundet af ialt 12 liniestykker. Disse liniestykker kan igen samles til ialt 6 polygoner(firkanter) - men som sagt det grundlæggende i arbejdet med perspektiv i flash er beregningen af punkterne!
Det der er svært er beregningen af hvilke polygoner der er foran hvilke - især hvis det kun er en lille del af en bestemt polygon der er foran en anden.

Nu ved jeg ikke helt præcist hvad du skal bruge, men umiddelbart tror jeg Mat's forslag som brug af scale og depth skulle kunne løse problemerne i dit projekt!
Avatar billede swiffer Nybegynder
23. marts 2003 - 21:39 #3
Jeg tænkte på noget med at give den dybte efter dens _y placering, men jeg kan ikke rigtig få det til at du' ...
Avatar billede alexander_j Nybegynder
23. marts 2003 - 21:55 #4
Hvordan definere du kassens placering? via 3 koordinater xyz?
Avatar billede swiffer Nybegynder
24. marts 2003 - 00:01 #5
Jeg bruger bare drag, og så skalerer efter _y placeringen.
Avatar billede sizx.dk Nybegynder
24. marts 2003 - 10:32 #6
Brug dog 3dsmax/bryce/lightwave/poser... der kan du exportere til Flash i .fla... så kan du også redigere den derefter
Avatar billede swiffer Nybegynder
24. marts 2003 - 12:59 #7
Dsizx > Det har jeg hverken råd til, eller har behov for. Jeg vil egentlig bare vide hvordan jeg sætter dybten efter _y placeringen...
Avatar billede alexander_j Nybegynder
24. marts 2003 - 17:43 #8
Jeg har svært ved at se det for mig - kan du lave et link til dit hidtige arbejde på projektet (det uden dybden)?
Avatar billede swiffer Nybegynder
24. marts 2003 - 21:03 #9
Det bliver nok et problem. Er der ikke nogen som kan fortælle mig hvordan jeg sætter et mc's dybde (eller hvad vi nu skal kalde det) efter dens _y placering

Sådan her:

onClipEvent (enterFrame) {
_root.objekt.dybde??? = _root.objekt._y
}
Avatar billede alexander_j Nybegynder
30. marts 2003 - 20:16 #10
Måske vil det her virke:
objekt.swapDepths(Math.round(objekt._y));

/Alexander
Avatar billede alexander_j Nybegynder
17. juni 2003 - 22:52 #11
På tide at lukke spørgsmålet - måske?
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