Sitat av
hayer
Aldri brukt Flash, syns det er noe ubrukelig tull i de fleste sammenhenger...
Jassågitt. Ingen fan av Youtube og nettspill, altså?
Flash CS4 kom med noen sporty funksjoner for karakteranimasjon. Et nytt verktøy kalt "bone tool". Om du har jobbet med 3D-grafikk (Max/Maya), så kjenner du nok til konseptet. Det går ut på å koble alle punktene i grafikken din til et "bein". Bruk av dette verktøyet er ganske greit forklart i
denne videoen. Merk deg det han sier om å animere med symboler - det er noe du også kan søke på.
Jeg er enig i at dette kanskje er litt ambisiøst, men nå vet jeg ikke hvor mye du kan om Flash. Jeg tror den enkleste måten å gjøre det på er å lage figuren din i 4 deler. Lag ett symbol for føttene, ett for armene, ett for hodet og ett for mageregionen. Inne i symbolene kan du benytte bone tool for å lage ferdige animasjoner av de ulike dansene. Du kan for eksempel starte med å lage to ulike. Jeg ville prøvd å legge dem i samme tidslinje inne i symbolene. Du kan for eksempel ta 50-100 frames av hver dans, slik at symbolet (armene, føttene etc.) inneholder totalt 100-200 frames. Så kan du bruke actionscript på noen av disse framene slik at du separerer de to dansene i den samme tidslinjen. Hvis hver dans varer i 50 frames, så legger du inn en kode i frame nummer 50 som sender tidslinjen tilbake til frame 1, slik at dansen gjentar seg. Samme med den siste framen, som sender tilbake til frame 51. Det du da må passe på er at du ikke animerer overkroppen på en slik måte at armene ramler ut av skuldrene på figuren, siden de to ligger i ulike symobler. Deretter kan du lage et hovedskript på root-nivå, som sørger for å bytte dans. Trikset for å få til at byttet av dans går smooth er også årsaken til at jeg ville organisert prosjektet på denne måten. Når du klikker på skift-dans-knappen, så skal skriptet "huske" den nye dansen helt til dansingen i symbolene er kommet tilbake til frame 1 eller frame 51 (igjen gitt at du bruker 50 frames på hver). Hvis du har samme start-pose på alle dansene, så vil ingen merke om dansen skifter når du står på den første framen. Du trenger faktisk ingen vanskelige actionscript-funksjoner for å klare dette, du må bare kunne sjekke hvilken frame de ulike symbolene er på, og hvordan du kan be dem skifte. Skriptet du plasserer inni symbolene sørger for å gjenta dansen som pågår, så hovedskriptet trenger bare å hoppe til neste dans, slik du hopper til neste sang på en CD-spiller (tenk repeat-funksjon). Du trenger også en variabel til å lagre den siste dansen brukeren trykket på, en for hver kroppsdel - slik at du kan ha dans nummer 1 på armene og dans 2 på føttene samtidig.
Hvis dette var veldig tåkete, så kan jeg sikkert prøve å komme med et eksempel i Flash.
Jeg er i skrivende stund litt usikker på hvorvidt bone tool lar seg manipulere gjennom actionscript - men hvis det går an, så vil det være den vanskeligste, men også mest fleksible måten å gjøre det på. Altså å lage animasjonene i selve skriptet.
Å legge inn ditt eget bilde er bare barnemat i forhold til å lage danseanimasjonen. Du trenger litt HTML og PHP for å kunne laste opp bildet (finnes en god del ferdigskripter, ellers kan du se på tizag.com for noen enkle tutorials på filopplasting. For å overføre bildet til Flash så trenger du en måte å sende bildets URL til SWF-fila - det tror jeg gjøres lettest ved å bruke PHP til å manipulere URL-en til selve SWF-en på nettsiden. Der du henter Flash-objektet oppgir du en URL, og Flash tillater deg å sende spørringer i denne, akkurat på samme måte som med PHP-skripter. Halvveis psuedo-kode: <flashobjekt href="dans.swf?bilde=fil.jpg">
I actionscriptet er bilde-adressen da tilgjengelig i variabelen "bilde". Prøv å skrive trace(bilde); for å se hva den inneholder. Så trenger du bare en kode for å laste bilde inn i symbolet med karakterens hode, som nevnt i posten over.