Avatar billede 4b4 Nybegynder
28. januar 2003 - 13:31 Der er 16 kommentarer og
1 løsning

SVÆR: Resizing a box/movieclip udfra variabler

Hvordan resizer man et movieclip udfra to variabler? (varx, vary).. Altså så man ved at ændre på to variabler kan ændre et movieclips brede og højde.. flydende.. altså motion, med actionscript.

se: www.4b4.dk/box.gif

Ideen var, at ændre på to variabler, så ville boxen blive mindre-størrer, udfra X punktet. (movieclip center punktet, se tegning!)
Avatar billede colman Nybegynder
28. januar 2003 - 13:57 #1
flg. kode på din MC (den med boxen):

onClipEvent(enterFrame){
diffX = this._xscale - _root.varx;
diffY = this._yscale - _root.vary;

this._xscale -= diffX * .2;
this._yscale -= diffY * .2;
}

Husk at definere dine variabler i roden ;)

__________________________________________
//Docks
Avatar billede 4b4 Nybegynder
28. januar 2003 - 14:02 #2
ok. og så ændrer jeg bare variablerne.. og onClibEvent tjekker for ændringer.. Hvad med hastigheden?
Avatar billede 4b4 Nybegynder
28. januar 2003 - 14:04 #3
en anden ting.. boxen skal jo have en størelse til at starte med.. hvordan og hvorledes?
Avatar billede colman Nybegynder
28. januar 2003 - 14:11 #4
din start værdi angiver du bare i din main time line. Hastigheden er .2 ...
Avatar billede 4b4 Nybegynder
28. januar 2003 - 14:21 #5
Jeg tester lige en tur :)
Avatar billede 4b4 Nybegynder
28. januar 2003 - 14:28 #6
www.4b4.dk/test.fla - Movieclippet blir resized, og det virker fint.. men hvis jeg sætter varx = 100 , vary = 100 .. er movieclippet ikke 100x100 ?
Avatar billede barklund Nybegynder
28. januar 2003 - 14:29 #7
det er scale og ikke size... skal det være size, så retter du bare:

onClipEvent(enterFrame){
diffX = this._width - _root.varx;
diffY = this._height - _root.vary;

this._width -= diffX * .2;
this._height -= diffY * .2;
}
Avatar billede 4b4dk Nybegynder
28. januar 2003 - 14:33 #8
tester lige igen igen :)
Avatar billede 4b4 Nybegynder
28. januar 2003 - 14:36 #9
smid et par svar :)
Avatar billede barklund Nybegynder
28. januar 2003 - 14:39 #10
Ikke noget til mig - det er colmans svar :o)
Avatar billede colman Nybegynder
28. januar 2003 - 14:47 #11
Nå ja! Det gik vist lige stærkt nok ;)
Avatar billede colman Nybegynder
28. januar 2003 - 14:50 #12
Den knap du har kan du eks. lægge denne kode op for at teste det:

on(release){
_root.varx = random(200)+50;
_root.vary = random(200)+50;
}
Avatar billede 4b4 Nybegynder
28. januar 2003 - 15:09 #13
Kan man nemt modificere script så istedet for at resize, så bevæger man et movieclip til et bestemt pixel-position, samme hastighed?

dvs .. hele min ide røg lige på gulvet.

Forklaring:
Da mine boxer resizes "nedefra" og opad .. som vist på min lille skitse.. og jeg skulle bruge det så jeg loadede et billede ind.. hvor jeg så resizede min kasse så den har samme størelse som billedet. Når jeg loader et billede ind i et tomt movieclip.. loader den fra krydset, og nedad. så¨jeg må nødvendigvis også bevæge movieclippet der loades ind i .. nogle pixels opad, i forhold til hvor meget jeg resizer min box..

ehh .. er det forståeligt? :)
Avatar billede colman Nybegynder
28. januar 2003 - 15:20 #14
Ja du kan bruge det til at flytte placeringen af MC'en også...

Det er bare _x og _y værdien der skal ændres på...
Avatar billede 4b4 Nybegynder
28. januar 2003 - 15:23 #15
Lad os se om min lille newbie flash hjerne kan finde ud af det:

onClipEvent(enterFrame){
diffX = this._x - _root.x;
diffY = this._y - _root.y;

this._x -= diffX * .2;
this._y -= diffY * .2;
}

Så simpelt?
Avatar billede 4b4 Nybegynder
28. januar 2003 - 15:34 #16
K A N O N.. så kan jeg gå igang.. med alt det andet skrammel..

Bukker og takker :)
Avatar billede colman Nybegynder
28. januar 2003 - 15:35 #17
ja nemlig. Hvor _root.x og _root.y er din variabler i roden :D
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