[Flash]Actionscript/resize probleem

Pagina: 1
Acties:

  • gitaarwerk
  • Registratie: Augustus 2001
  • Niet online

gitaarwerk

Plays piano,…

Topicstarter
Ik heb een filmpje gemaakt waarbij klanten hun logo op het artikel kunnen zetten.
Nu werkt alles bijna perfect.

Het enige wat niet werkt is het volgende.
Als gebruiker kun je roteren (op dit moment 90 graden.. maar dat gaat per 45 graden dan).
Als het plaatje dan in de normale stand staat (0 graden gedraait, of 180 graden) Dan resized die hem (met een knop..)

Als het plaatje echter in een tussen gelegen aantal graden staat, dan resized die alleen maar de breedte en niet de hoogte.

Stukje actionscript (staat in een loop, en die eindigt zodra de gebruiker de knop loslaat/roll out doet)
code:
1
2
        _root.Picture2._height = _root.Picture2._height -2;
        _root.Picture2._width = _root.Picture2._width -2;


even hoe het werkt:

In de scene staan de volgende mc's :
Picture2 (hierin bevind zit nog een movieclip die een dynamisch plaatje draagt)
Action_resize (hierin zit een aantal frames met de bovenstaande code..)
En een knopje die de Action_Resize aanroept.

voorbeeld :
http://www.dje.nl/g2p/vsampler/vsampler.asp

ohja.. ik werk met flash mx 2004 professional

[ Voor 24% gewijzigd door gitaarwerk op 03-12-2004 10:24 ]

Ontwikkelaar van NPM library Gleamy


  • roytanck
  • Registratie: Oktober 1999
  • Laatst online: 12-05 15:11
Ik weet niet 100% zeker of ik je goed begrijp, maar ik denk dat het al beter gaat als je de _xscale en _yscale properties van je movieclip verandert i.p.v. de width en height.

En waarom heb je een movieclip voor je actions??
Zie een loop maken mbv Flash Actionscript waar ik toevallig net een aanpak voor loops in buttons heb beschreven.

  • gitaarwerk
  • Registratie: Augustus 2001
  • Niet online

gitaarwerk

Plays piano,…

Topicstarter
Weefselkweekje schreef op vrijdag 03 december 2004 @ 10:36:
Ik weet niet 100% zeker of ik je goed begrijp, maar ik denk dat het al beter gaat als je de _xscale en _yscale properties van je movieclip verandert i.p.v. de width en height.

En waarom heb je een movieclip voor je actions??
Zie een loop maken mbv Flash Actionscript waar ik toevallig net een aanpak voor loops in buttons heb beschreven.
ik zal het proberen.

Ik zie dat die loop ongeveer hetzelfde werkt.. ik doe alleen niet een frame -1, .. maar is misschien wel wat netter om te doen. Ik ga eens met _xscale en _yscale aan de slag.
Dit is trouwens de eerste keer dat ik met flash mx echt werk sinds 4 jaar gelee met flash 5 ofzo :D ben nog van de oude stempel zeg maar :+

(maar verder wel netjes gebouwd hoor :) )

even kijken of het lukt. Opzicht werkt dat width & height ook wel..behalve in geroteerde positie. (exclusief in 180 graden)---------------------

edit:

ok..dit werkt super! :) nu kom ik alleen nog bij 1 probleem.
Het voorbeeld moet terug gegeven worden met variabelen.
X, Y positie, hoogte en breedte, en rotatiewaarde.

Nu merkte ik dat yscale&xscale niet handig is ook om mee te geven.. dus gebruik ik logischerwijze height en width. Alleen wat nu het probleem is...is dat in het "backoffice" stukje (dat zie je als je "verstuur knop drukt" ) de rotatie goed, alleen de grootte is anders.
Ik kan me 1 ding bedenken. Dat de rotatie eerder of later wordt gedaan dan het terugschalen. (ga ik nu even naar kijken)

[ Voor 24% gewijzigd door gitaarwerk op 03-12-2004 10:55 ]

Ontwikkelaar van NPM library Gleamy


  • roytanck
  • Registratie: Oktober 1999
  • Laatst online: 12-05 15:11
_xscale = hoeveel groter dan normaal is een element (in procenten)
_width = hoe breed is een element op het scherm (in pixels)

Stel, je hebt een vierkant van 100 bij 100 die 45 graden geroteerd is. Dan is de _width dus groter dan 100 (namelijk gelijk aan de diagonaal), maar de _xscale is gewoon 100.

Als je de maat in pixels terug wilt geven moet je denk ik de breedte en hoogte ff opslaan voordat de user gaat roteren. Vervolgens doe je op het moment dat je de waarde nodig hebt iets als
code:
1
var breedte = orgBreedte * (mc._xscale/100);

  • gitaarwerk
  • Registratie: Augustus 2001
  • Niet online

gitaarwerk

Plays piano,…

Topicstarter
daar ligt het probleem :) de user kan namelijk ook schalen. Ik heb wel ongeveer een beginpositie aangegeven en daarbij een begin grootte & breedte (procentueel met aangegeven maximale hoogte/breedte)

misschien zou ik gewoon de scale waardes meegeven. procentueel is dat verstandiger. Die laatik dan opslaan in de database. En bij het ophalen doe ik dan het volgende :

beginwaarde meegeven van grootte.. rotatie.. en dan de scale ipv height & width...
of zie ik nu wat over het hoofd?
-------------

edit

yes!! werkt!! :D woei

thanks man! :>

[ Voor 8% gewijzigd door gitaarwerk op 03-12-2004 11:27 ]

Ontwikkelaar van NPM library Gleamy


  • roytanck
  • Registratie: Oktober 1999
  • Laatst online: 12-05 15:11
yw.

P.S. Ik ben van nog oudere stempel. Ik werk al (professioneel) met Flash sinds Futuresplash Animator en Flash 1...

  • gitaarwerk
  • Registratie: Augustus 2001
  • Niet online

gitaarwerk

Plays piano,…

Topicstarter
:)

das wel vroeg.. :) ik design..zeg maar vanaf flash 3 ofzo :)

Ontwikkelaar van NPM library Gleamy

Pagina: 1