/ 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
Flash77 500
10  Dr.Disco 500
starte flash animation med parameter
Fra : Torben Jensen


Dato : 12-07-04 07:24

Hej NG!

Jeg prøver her at omformulere et af mine tidligere indlæg.

Jeg har en flash animation med et billede. Billedet ønskes roteret i et
gradantal som modtages ved kald til animationen., altså noget i stil med

rotate.swf?angle=45

Hvordan laver man sådan noget i flash, skal jeg lede efter actionsscript,
eller hvordan sætter man sådan noget op?

M.v.h.
Torben



 
 
Peo (12-07-2004)
Kommentar
Fra : Peo


Dato : 12-07-04 13:04

> Jeg har en flash animation med et billede. Billedet ønskes roteret i et
> gradantal som modtages ved kald til animationen., altså noget i stil med
>
> rotate.swf?angle=45
>
> Hvordan laver man sådan noget i flash, skal jeg lede efter actionsscript,
> eller hvordan sætter man sådan noget op?

Du er meget tæt på.
Hvis du vil have en flashfilm til at blive "født" med nogle variabler fra
start, så kan du tilføje dem i enden af filnavnet, i den html som du
embedder din swf-med - Præcist som du har gjort det i dit eks. Du kan også
gøre brug af flashVars parametret i stedet for. Dette er ofte at foretrække,
da browseren tror der er tale om en helt ny swf-fil, hver gang du ændre i
variablerne.

I dit tilfælde vil du kunne dreje dit movieclip ved at refferere til
variablen: _root.angle

mvh.
Peo



Torben Jensen (12-07-2004)
Kommentar
Fra : Torben Jensen


Dato : 12-07-04 14:29


"Peo" <michael*UNDERWEAR*@swush.com> skrev i en meddelelse
news:40f27e33$0$210$edfadb0f@dread12.news.tele.dk...

Hej Peo!

Mange tak for dit svar, problemet har virkelig voldt mig mange kvaler.

> Du er meget tæt på.
> Hvis du vil have en flashfilm til at blive "født" med nogle variabler fra
> start, så kan du tilføje dem i enden af filnavnet, i den html som du
> embedder din swf-med - Præcist som du har gjort det i dit eks. Du kan også
> gøre brug af flashVars parametret i stedet for.

altså noget i stil med:
<embed src="CustomizingContextMenu.swf" quality="high" bgcolor="#ffffff"
width="550" height="400" name="AccessibleApplications" align="middle"
allowScriptAccess="sameDomain" type="application/x-shockwave-flash"
myvariable = "45213"/>

Hvor myvariable er min egen variable - eksempelvis graderne som billedet
ønskes roteret?

>
> I dit tilfælde vil du kunne dreje dit movieclip ved at refferere til
> variablen: _root.angle

Jeg er ikke helt med på hvordan jeg sætter det op. Skåret helt ind til
benet, har jeg ét billede på mit lærred. Dette billede ønsker jeg at rotere
ved at modtage et gradantal fra min asp applikation.
Hvis jeg markerer mit billede kan jeg i modify menuen vælge transform > free
transform og rotere billedet som jeg øsnker. Men hvordan fortæller jeg
billedet at det skal modtage sit rotaion fra en variabel.

Jeg har ikke arbejdet ret meget med flash kan du nok høre og det jeg har
arbejdet med, har jeg kunnet sætte færdigt op i macromedia flash mx (dvs.
det har kun været statisk.).
Hvor taster jeg variabler ind,. findes der et vindue til at indtaste noget
der minder om script/kode i macromedia flash mx.

Hvis du kan uddybe det lidt og hjælpe mig videre, så når jeg virkelig en
stor milepæl.

Tak kfor hjælpen.
M.v.h.
Torben



Peo (12-07-2004)
Kommentar
Fra : Peo


Dato : 12-07-04 16:33


> altså noget i stil med:
> <embed src="CustomizingContextMenu.swf" quality="high" bgcolor="#ffffff"
> width="550" height="400" name="AccessibleApplications" align="middle"
> allowScriptAccess="sameDomain" type="application/x-shockwave-flash"
> myvariable = "45213"/>
>
> Hvor myvariable er min egen variable - eksempelvis graderne som billedet
> ønskes roteret?
>

Nej, du skal endten "hæfte" dine variabler og disses værdier på enden af
fil-navnet ala:
CustomizingContextMenu.swf?myvariable=45213&myOtherVariable=foo

Eller du skal gøre brug af flashVars tag'et i den html som du bruger til at
embedde din swf-fil med.:
<object classid....
....
<param name="movie" value="CustomizingContextMenu.swf">
....
<param name="flashvars" value="myvariable=45213&myOtherVariable=foo"

For begge måder at løse problemet på gælder det at du skal huske at definere
variablerne i både PARAM og EMBED tags'ne.


> > I dit tilfælde vil du kunne dreje dit movieclip ved at refferere til
> > variablen: _root.angle
>
> Jeg er ikke helt med på hvordan jeg sætter det op. Skåret helt ind til
> benet, har jeg ét billede på mit lærred. Dette billede ønsker jeg at
rotere
> ved at modtage et gradantal fra min asp applikation.
> Hvis jeg markerer mit billede kan jeg i modify menuen vælge transform >
free
> transform og rotere billedet som jeg øsnker. Men hvordan fortæller jeg
> billedet at det skal modtage sit rotaion fra en variabel.

Sørg først og fremmest for at dit billeder er af typen movieclip, og at det
har et instance navn, således at vi med actionscript kan refferere til det.
Selve actionscriptet der roterer billedet kan placeres 2 stedet. Endten som
en frame action i en frame. Her skal du være sikker på at billedet
"eksistere på scenen" når du fyrer linien her af (forudsat at du har givet
dit billede instance-navnet: image):
image._rotation = Number(_root.myvariable);

Du kan også placere actionscriptet "på" selve movieclip'et. Her er det
eventet onLoad (når movieclippet første gang optræder på scenen) der fyrer
actionscriptet af ala:
onClipEvent(load){
this._rotation = _root.myvariable;
}

/peo





Torben Jensen (13-07-2004)
Kommentar
Fra : Torben Jensen


Dato : 13-07-04 08:56


"Peo" <michael*UNDERWEAR*@swush.com> skrev i en meddelelse
news:40f2af22$0$206$edfadb0f@dread12.news.tele.dk...

Hej igen Peo!
Det begynder at tage form...

> Sørg først og fremmest for at dit billeder er af typen movieclip, og at
det
> har et instance navn, således at vi med actionscript kan refferere til
det.

[SNIP]

> Du kan også placere actionscriptet "på" selve movieclip'et. Her er det
> eventet onLoad (når movieclippet første gang optræder på scenen) der fyrer
> actionscriptet af ala:
> onClipEvent(load){
> this._rotation = _root.myvariable;
> }

Jeg arbejder i flash mx 2004.
Jeg har importeret mit gif billede til scenen. Jeg har lavet en "convert to
symbol" på billedet og valgt movieclip og valgt "linkage - export for
actionscript" og givet det navnet viser.
Herefter fremkommer action ruden, hvor jeg indtaster dit lille script.
Bytter jeg _root.myvariable ud med en konstant, eksempelvis 45, så roterer
billedet ganske rigtigt

Nu har jeg så lige to små tillægsspørgsmål:
Det er ikke lige meget om hvilket punkt jeg roterer viseren - det skulle
gerne være centrum af omdrejningsaksen. Kan jeg på nogen måde få indflydelse
på det - måske ved at definere et fast punkt?
Hvis jeg erstatter konstanten 45 med _root.myvariable, så sker der
naturligvis ikke noget når jeg tester min movie. Spørgsmålet er hvordan jeg
sørger for at _root.myvariable bliver sat lig med den variabel som jeg
kalder min flash med fra html'en? Skal jeg gøre mere i Flash, eller gøres
resten fra html?

Jeg har forsøgt med følgende:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.ca
b#version=7,0,0,0" width="550" height="400" id="Untitled-2" align="middle"
VIEWASTEXT>
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="Untitled-2.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name="myvariable" value="90" />
<embed src="Untitled-2.swf" quality="high" bgcolor="#ffffff" width="550"
height="400" name="Untitled-2" align="middle" allowScriptAccess="sameDomain"
type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer"
myvariable = "90" />
</object>

Du kan se jeg at jeg efter at have publiceret min flash har ændret i
html'en, således at den nu indeholder param name = "myvariable". Det samme
er gjort for embed tagget, som du anviste. Det har dog ingen effekt, viseren
flytter sig ikke ud af stedet. Tilføjer jeg ?myvariable=90 efter swf filen,
så vises slet ingen ting på html siden.

Jeg fornemmer at ejg kun mangler en ganske lille "krølle". Kan du hjælpe mig
færdig?

Mange tak for hjælpen, det sætter jeg virkelig pris på.

M.v.h.
Torben



Peo (13-07-2004)
Kommentar
Fra : Peo


Dato : 13-07-04 10:39


> Jeg har importeret mit gif billede til scenen. Jeg har lavet en "convert
to
> symbol" på billedet og valgt movieclip og valgt "linkage - export for
> actionscript" og givet det navnet viser.

Du behøver ikke at give det en linkage identifyer (ej heller skal det
exporteres i første frame)
Du skal bare sørge for at det har et instance navn - Markér movieclippet i
tjek properties-paletten.


> Herefter fremkommer action ruden, hvor jeg indtaster dit lille script.
> Bytter jeg _root.myvariable ud med en konstant, eksempelvis 45, så roterer
> billedet ganske rigtigt

Godt, så er du på rette vej.

> Nu har jeg så lige to små tillægsspørgsmål:
> Det er ikke lige meget om hvilket punkt jeg roterer viseren - det skulle
> gerne være centrum af omdrejningsaksen. Kan jeg på nogen måde få
indflydelse
> på det - måske ved at definere et fast punkt?

Redigér movieclippet. Dobbeltklik på det i så du "kommer ind i det". Nu kan
du flytte dit billede rundt inde i movieclippet. Alle movieclips har et
registrerings-punk/nulpunkt, hvorom al transformation udføres.
Registreringspunktet ses som et lille kryds. Placér dit billede midt i dette
kryds.

> Hvis jeg erstatter konstanten 45 med _root.myvariable, så sker der
> naturligvis ikke noget når jeg tester min movie. Spørgsmålet er hvordan
jeg
> sørger for at _root.myvariable bliver sat lig med den variabel som jeg
> kalder min flash med fra html'en? Skal jeg gøre mere i Flash, eller gøres
> resten fra html?

Resten gøres fra html'en. Men du kan som tidligere nævnt ikke slev bestemme
hvad parametret skal hedde - Det SKAL hedde flashvars, og dets værdi er så
en række variabel-værdi sæt.
"myvariable" skal er stattes med "flashvars" og "90" skal erstattes med
"myvariable=90". Hvis du får brug for at putte flere variabler ind, så
forlænger du bare kæden af variabel-værdi sæt opdelt af &-tegn, prcæcist
lige som i en url-string. eks. "myvariable=90&myothervariable=blue"

> Jeg har forsøgt med følgende:
> <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
>
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.ca
> b#version=7,0,0,0" width="550" height="400" id="Untitled-2" align="middle"
> VIEWASTEXT>
> <param name="allowScriptAccess" value="sameDomain" />
> <param name="movie" value="Untitled-2.swf" />
> <param name="quality" value="high" />
> <param name="bgcolor" value="#ffffff" />
> <param name="myvariable" value="90" /> <<<<<---PROBLEM
> <embed src="Untitled-2.swf" quality="high" bgcolor="#ffffff" width="550"
> height="400" name="Untitled-2" align="middle"
allowScriptAccess="sameDomain"
> type="application/x-shockwave-flash"
> pluginspage="http://www.macromedia.com/go/getflashplayer"
> myvariable = "90" />
> </object>
>
> Du kan se jeg at jeg efter at have publiceret min flash har ændret i
> html'en, således at den nu indeholder param name = "myvariable". Det samme
> er gjort for embed tagget, som du anviste. Det har dog ingen effekt,
viseren
> flytter sig ikke ud af stedet. Tilføjer jeg ?myvariable=90 efter swf
filen,
> så vises slet ingen ting på html siden.
>
> Jeg fornemmer at ejg kun mangler en ganske lille "krølle". Kan du hjælpe
mig
> færdig?

ja, vi er tæt på.

Peo



Torben Jensen (13-07-2004)
Kommentar
Fra : Torben Jensen


Dato : 13-07-04 12:07


"Peo" <michael*UNDERWEAR*@swush.com> skrev i en meddelelse
news:40f3ada2$0$277$edfadb0f@dread12.news.tele.dk...
> Du behøver ikke at give det en linkage identifyer (ej heller skal det
> exporteres i første frame)
> Du skal bare sørge for at det har et instance navn - Markér movieclippet i
> tjek properties-paletten.

Ok, det er rettet.

>
>
> > Herefter fremkommer action ruden, hvor jeg indtaster dit lille script.
> > Bytter jeg _root.myvariable ud med en konstant, eksempelvis 45, så
roterer
> > billedet ganske rigtigt
>
> Godt, så er du på rette vej.

super


> Redigér movieclippet. Dobbeltklik på det i så du "kommer ind i det". Nu
kan
> du flytte dit billede rundt inde i movieclippet. Alle movieclips har et
> registrerings-punk/nulpunkt, hvorom al transformation udføres.
> Registreringspunktet ses som et lille kryds. Placér dit billede midt i
dette
> kryds.

Ahh, smart. Det kunne jeg have ledt længe efter.

> Resten gøres fra html'en. Men du kan som tidligere nævnt ikke slev
bestemme
> hvad parametret skal hedde - Det SKAL hedde flashvars, og dets værdi er så
> en række variabel-værdi sæt.
> "myvariable" skal er stattes med "flashvars" og "90" skal erstattes med
> "myvariable=90". Hvis du får brug for at putte flere variabler ind, så
> forlænger du bare kæden af variabel-værdi sæt opdelt af &-tegn, prcæcist
> lige som i en url-string. eks. "myvariable=90&myothervariable=blue"
>

Det er ikke mindre end fantastisk. Det fungerer lige som jeg havde
forestillet mig - lækkert.

Jeg er faktisk færdig nu, men har lige et enkelt lille uddybende spørgsmål.
Når man overfører parametre fra html, nævnte du at man kan gøre det ved at
sætte dem ind som parametre:
<param name="flashvars=90"/> og
<embed ...... flashvars="90"/>

eller man kan komme dem i enden af kaldet til swf-filen:
test.swf?myvariable=90

Du skrev tidligere at uanset hvilken metode man benytter, så skal variblen
medtages i param og embed tagget, hvad er så fordelen ved at lægge variablen
i enden kaldet til filen?
Vil syntaksen være:
test.swf?flasvars='myvariable=90', eller hvad er syntaksen for det?

Jeg siger mange tusind tak for hjælpen, det var virkelig alletiders.

M.v.h.
Torben



Peo (13-07-2004)
Kommentar
Fra : Peo


Dato : 13-07-04 13:22


> Det er ikke mindre end fantastisk. Det fungerer lige som jeg havde
> forestillet mig - lækkert.

godt!
> Jeg er faktisk færdig nu, men har lige et enkelt lille uddybende
spørgsmål.
> Når man overfører parametre fra html, nævnte du at man kan gøre det ved at
> sætte dem ind som parametre:
> <param name="flashvars=90"/> og
> <embed ...... flashvars="90"/>

...ja, som et parameter der hedder flashvars vel at mærke.

> eller man kan komme dem i enden af kaldet til swf-filen:
> test.swf?myvariable=90
> Du skrev tidligere at uanset hvilken metode man benytter, så skal variblen
> medtages i param og embed tagget, hvad er så fordelen ved at lægge
variablen
> i enden kaldet til filen?
> Vil syntaksen være:
> test.swf?flasvars='myvariable=90', eller hvad er syntaksen for det?

eks.:

<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"

codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.ca
b#version=6,0,0,0"
WIDTH="820" HEIGHT="500" id="test" ALIGN="">
<PARAM NAME=movie VALUE="test.swf?testvar=det%20virker">
<PARAM NAME=quality VALUE=high>
<PARAM NAME=bgcolor VALUE=#FFFFFF>
<EMBED src="test.swf?testvar=det%20virker" quality=high bgcolor=#FFFFFF
WIDTH="820" HEIGHT="500" NAME="test" ALIGN=""
TYPE="application/x-shockwave-flash"
PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">
</OBJECT>

Skal der flere variabler ind, så deles de op med & således:
test.swf?testvar=det%20virker&andentestvar=sku

mvh.
Peo

ps: må vi se?



Torben Jensen (13-07-2004)
Kommentar
Fra : Torben Jensen


Dato : 13-07-04 21:04


"Peo" <michael*UNDERWEAR*@swush.com> wrote in message
news:40f3d3ec$0$272$edfadb0f@dread12.news.tele.dk...
>
> ps: må vi se?
>
>

Ja, gerne

www.sitealert.dk/test.asp?prim=23&sec=45

Justerer du på variablerne, roterer viserne. Den sekunære viser, viser hvor
den primære viser tidligere var placeret, således at man kan se tendensen.

Endnu en gang tusind tak for hjælpen.

M.v.h.
Torben



Torben (14-07-2004)
Kommentar
Fra : Torben


Dato : 14-07-04 21:50

>
> ps: må vi se?
>
>

Jeg har fjernet det igen, håber du fik set det, ellers må du lige vende
tilbage.

M.v.h.
Torben



Peo (15-07-2004)
Kommentar
Fra : Peo


Dato : 15-07-04 11:20

Jeg så den
Jeg kan anbefale at tegne viserne i vektor-grafik (flash, illustrater,
Freehand ol.), da du dermed undgår den uønskede pixelforskydning du får, når
du rotere en gif, png eller jpeg.

Peo



Torben Jensen (15-07-2004)
Kommentar
Fra : Torben Jensen


Dato : 15-07-04 12:38


"Peo" <michael*UNDERWEAR*@swush.com> skrev i en meddelelse
news:40f65a70$0$224$edfadb0f@dread12.news.tele.dk...
> Jeg så den
> Jeg kan anbefale at tegne viserne i vektor-grafik (flash, illustrater,
> Freehand ol.), da du dermed undgår den uønskede pixelforskydning du får,
når
> du rotere en gif, png eller jpeg.
>
> Peo

OK, det har jeg faktisk slet ikke lagt mærke til.
Hvilket format skal vektor grafik elementet så gemmes i?

Tak for tippet.
M.v.h.
Torben



Peo (15-07-2004)
Kommentar
Fra : Peo


Dato : 15-07-04 13:36

Tegn evt. pilen inde i Flash selv, det er jo en overkommelig tegning at give
sig i kast med.
Vil du hellere bruge et andet program til at illustrere i, så sammenhold
dette programs eksport-formater med Flashs import-formater, og vælg et
fælles som er vekter-grafik.
Jeg illustrere ofte i Adobe Illustrator, som kan eksportere direkte til
swf-format, som er let at hive ind i flash. Mange programmer kan generere
swf-filer, da format er "åbent".

/peo



Torben Jensen (16-07-2004)
Kommentar
Fra : Torben Jensen


Dato : 16-07-04 07:10


"Peo" <michael*UNDERWEAR*@swush.com> skrev i en meddelelse
news:40f67a41$0$270$edfadb0f@dread12.news.tele.dk...

> Vil du hellere bruge et andet program til at illustrere i, så sammenhold
> dette programs eksport-formater med Flashs import-formater, og vælg et
> fælles som er vekter-grafik.
> Jeg illustrere ofte i Adobe Illustrator, som kan eksportere direkte til
> swf-format, som er let at hive ind i flash. Mange programmer kan generere
> swf-filer, da format er "åbent".

Jeg har eksperimenteret med et tegne i illutrator og gemme i henholdsvis eps
og swf format.
Du har ret, det bliver meget bedre.

Mange tak for tippet.

M.v.h.
Torben



Søg
Reklame
Statistik
Spørgsmål : 177458
Tips : 31962
Nyheder : 719565
Indlæg : 6408169
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste