PDA

Volledige versie bekijken : as tweens.. hoe en wat?


yrm
%Europe/Berlin %578 %2007, 14:52
ik ben al aardig lang bezig met "The Fuse Kit" van mosessupposes maar vroeg mij eigenlijk af hoe de meesten hier op FF hun as tweens maken of ze de standaard tween class van flash gebruik of de fuse kit (zo ja op welke manier?) of eigen tween classes hebben of weet ik het ben nogal benieuwd aangezien ik dus de fuse kit gebruik maar eerlijk gezegd voor mezelf niet weet waarom ik die gebruik en niet de tween class van flash..

als er dus mensen die zin/tijd hebben hoe schrijf je je tweens en vooral waarom op die manier?

vane
%Europe/Berlin %536 %2007, 13:51
mijn ervaring is dat je met fuse gewoon veel meer mogelijkheden hebt.
waarom?
omdat het simpel werkt en iedereen kan dit inprincype. ook vind ik fuse erg tof omdat je dus ook de drop shadow enz kan animeren (fuseFMP)

mijn fuse ziet er altijd zo uit:
import fuse troep uiteraard en dan

var f:Fuse = new Fuse
f.push([{target:mymc, start_brightoffset:100, brightoffset:0, time:3, ease:"easeInOutQuint"}])
f.start


//Ea.Z zegt: let op je woordkeuze aub.

damarez
%Europe/Berlin %572 %2007, 14:43
Ik heb een class geschreven voor tweens die ik vaak gebruik
hij is nog niet volledig maar door tijdsgebrek heb ik het nog niet af
dus er zijn hier en daar nog foutjes/**
* @author DamarezCurtis
*/
import mx.transitions.Tween;
import mx.transitions.easing.*;
import flash.filters.BlurFilter;
class nl.flymedia.asl.tweens.TweenManager
{
private static var tweenObj:mx.transitions.Tween;
public static var begin:Number;
public static var end:Number;
public static var time:Number = .5;
public static var obj:Object;
public static var easeType:Object = mx.transitions.easing.Regular.easeIn;
public function TweenManager()
{
}
public static function slideToY(obj:Object, begin:Number, end:Number, time:Number):Object
{
if (obj == undefined && begin == begin)
{
return false;
}
else
{
return tweenObj=new mx.transitions.Tween(obj, "_y", easeType, begin, end, time, true);
}
}
public static function slideToX(obj:Object, begin:Number, end:Number, time:Number):Object
{
if (obj == undefined)
{
return false;
}
else
{
return tweenObj=new mx.transitions.Tween(obj, "_x", easeType, begin, end, time, true);
}
}
public static function alphaTo(obj:Object, begin:Number, end:Number, time:Number):Object
{
if (obj == undefined && begin == begin)
{
return false;
}
else
{
return tweenObj=new mx.transitions.Tween(obj, "_alpha", easeType, begin, end, time, true);
}
}
public static function xScaleTo(obj:Object, begin:Number, end:Number, time:Number):Object
{
if (obj == undefined)
{
return false;
}
else
{
return tweenObj=new mx.transitions.Tween(obj, "_xscale", easeType, begin, end, time, true);
}
}
public static function yScaleTo(obj:Object, begin:Number, end:Number, time:Number):Object
{
if (obj == undefined)
{
return false;
}
else
{
return tweenObj=new mx.transitions.Tween(obj, "_yscale", easeType, begin, end, time, true);
}
}
public static function colorTo(obj:Object, begin:Number, end:Number, time:Number):Object
{
/*This method is still under construction
The colorMatrix class is better i think.
*/
var my_color:Color = new Color(obj);
var my_color2:Color = new Color(obj);
my_color.setRGB(begin);
my_color2.setRGB(end);
// my_mc turns red
if (obj == undefined)
{
return false;
}
else
{
tweenObj = new mx.transitions.Tween(obj, "_color ", easeType, begin, end, time, true);
}
}
}

Dauntless
%Europe/Berlin %655 %2007, 16:44
Ik doe het met wiskunde :D

Ik heb ook nog geen moeilijkere tweens nodig gehad dan een gewone motion tween (van punt a naar punt b), een ease of een spring.

Ea.Z
%Europe/Berlin %387 %2007, 10:17
mijn ervaring is dat je met fuse gewoon veel meer mogelijkheden hebt.
waarom?
omdat het simpel werkt en iedereen kan dit inprincype. ook vind ik fuse erg tof omdat je dus ook de drop shadow enz kan animeren (fuseFMP)
Klinkt intressant. Kun je dit wat toelichten? (voorbeelden enzo?) Want nu volg ik niet helemaal als je het over 'meer mogelijkheden' hebt.

Neuro
%Europe/Berlin %825 %2007, 20:48
Ik kan Fuse ook echt aanraden
erg goed voor veel en gecompliceerde animaties

Je kan bv een delay instellen
erg goed om erg veel objecten na elkaar,overlappend te tweenen
bv

var f : Fuse = new Fuse ();
var tempArr : Array = new Array ()
for (var i = 0; i < dataLength; i ++)
{
var tumb = data_arr [i].tumb_mc
var xPos = data_arr [i].xPos
var yPos = data_arr [i].yPos
tempArr.push (
{
target : tumb , _x : xPos, _y : yPos , seconds : 0.5, ease : "easeOutSine", delay : (i * 0.1)
})
}
f.push (tempArr)
f.start ()


Ook geen lastige onMotionComplete events (zit er wel in als je dat toch zou willen),
maar je kan je functie, scope en argumenten meegeven

vb
var f2 = new Fuse ();
f2.push ({
target : textvlak_mc, _alpha : 100, seconds :.5, delay : 0.6, scope:this ,funct:mijnFunctie, args{arg1,arg2,arg3}
})
f2.start ();

Je kan ook tweenen over bezier curves

vb
var f2 = new Fuse ();
f2.push ({target : textvlak_mc,_x:100, controlY:-50,_y:100, controlX:50})
f2.start ();

vele easing types (je kan er natuurlijk zelf bijschrijven als je wil)
easeInBack, easeInBounce, easeInCirc, easeInCubic, easeInElastic, easeInExpo, easeInOutBack, easeInOutBounce, easeInOutCirc, easeInOutCubic,easeInOutElastic, easeInOutExpo, easeInOutQuad, easeInOutQuart, easeInOutQuint, easeInOutSine, easeInQuad, easeInQuart, easeInQuint, easeInSine, easeOutBack, easeOutBounce, easeOutCirc, easeOutCubic, easeOutElastic, easeOutExpo, easeOutInBack, easeOutInBounce, easeOutInCirc, easeOutInCubic, easeOutInElastic, easeOutInExpo, easeOutInQuart, easeOutInQuint,, easeOutInSine, easeOutQuad ,easeOutQuart, easeOutQuint, easeOutSine,linear

Ook filters, tint, brightnes, enz kan je tweenen


je kan er nog heel veel meer mee, maar dit zijn de belagrijkste dingen waarvoor ik fuse gebruik

je kan natuurlijk zelf tween classen beginnen schrijven, erg interesant natuurlijk, maar als je snel en goed wil/moet werken, is fuse een echte aanrader (en voor de filesize moet je het ook niet laten), Ik gebruik het echt in elk project dat ik doe. Alle tweens op mijn site zijn trouwens ook met fuse gedaan :)