Zurück   Flashforum > Flash > Stuff

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-04-2007, 00:28   #1 (permalink)
class public{}
 
Benutzerbild von public
 
Registriert seit: Feb 2004
Ort: dessau
Beiträge: 1.406
Tween package in as3

hab mich ran gestetzt und nen tween package programmiert....wobwi es auch möglich is tween nacheinander auszuführen mithilfe der TweenSequencer klasse...ebenso dazu gekommen sind neue eigenschaften die man natürlichauch tweenen kan (brightness, contrast, saturation)
download

Code:
package fresh scripted by public (Sebastian Vogt) 
contact:	 	dj_public@hotmail.de

class fresh.events.TweenEvent extends Event
constantes:		TweenEvent.TWEEN_START
				TweenEvent.TWEEN_CHANGE
				TweenEvent.TWEEN_FINISH
				TweenEvent.TWEEN_SEQUENCER_START
				TweenEvent.TWEEN_SEQUENCER_FINISH

class fresh.tween.Tween extends flash.event.EventDispatcher
Properties:		isTween:Boolean = false [read]
Konstruktor:	Tween(obj:Object, prop:String, easing:Function, begin:Number, finish:Number, duration:Number)
Methodes:		pause():void
				play():void
				Tween.dispose():void
				
class fresh.tween.TweenSprite extends flash.display.Sprite
Properties:		isTween:Boolean = false [read]
Methodes:		locTo(x:Number, y:Number, easing:Function, duration:Number, callback:Function = null):void
				alphaTo(alpha:Number, easing:Function, duration:Number, callback:Function = null)
				sizeTo(width:Number, height:Number, easing:Function, duration:Number, callback:Function = null):void
				scaleTo(scaleX:Number, scaleY:Number, easing:Function, duration:Number, callback:Function = null):void
				rotateTo(rotation:Number, easing:Function, duration:Numberm, callback:Function = null):void
				
class fresh.tween.TweenSpriteAdvanced extends fresh.tween.TweenSprite
Properties:		blurX:Number = 0 [read, write]
				blurY:Number = 0 [read, write]
				blurQuality:Number = 1 [read, write]
				brightness:Number = 0 [read, write] [-255 bis 255]
				contrast:Number = 0 [read, write] [-1 bis 1]
				saturation:Number = .1 [read, write] [-1 bis 1]
				colorMatrix:Array = ColorMatrix.NONE [read, write]
Methodes:		blurTo(blurX:Number, blurY:Number, easing:Function, duration:Number, callback:Function = null):void
				brightnessTo(brightness:Number, easing:Function, duration:Number, callback:Function = null):void
				contrastTo(contrasr:Number, easing:Function, duration:Number, callback:Function = null):void
				saturationTo(saturation:Number, easing:Function, duration:Number, callback:Function = null):void
				
class fresh.tween.TweenSequencer extends flash.events.EventDispatcher
Properties:		sequence:Array [read, write] example....    sequence[0] = {obj:sprite, func:"alphaTo" args:[.1, Strong.easeOut, 100]};
Methodes:		start():void
example_Tween anschaun
PHP-Code:
import fresh.tween.*;
import fresh.events.*;
import fresh.tween.easing.*;
import flash.display.*;
import flash.events.*;


var 
_sprite:Sprite createRect(002002000xff00ff);
addChild(_sprite);
// Tween(obj:Object, prop:String, easing:Function, begin:Number, finish:Number, duration:Number)
var tween:Tween = new Tween(_sprite"alpha"Strong.easeOut_sprite.alpha.1200);
/**
*     Tween Events
*/
tween.addEventListener(TweenEvent.TWEEN_STARTonTweenStart);
tween.addEventListener(TweenEvent.TWEEN_CHANGEonTweenChange);
tween.addEventListener(TweenEvent.TWEEN_FINISHonTweenFinish);
stage.addEventListener(MouseEvent.MOUSE_DOWNmd);
stage.addEventListener(MouseEvent.MOUSE_UPmu);
/**
*    Handler
*/
function onTweenStart(event:TweenEvent):void{
    
trace("TWEEN_START");
}
function 
onTweenChange(event:TweenEvent):void{
        
trace("TWEEN_CHANGE");
}
function 
onTweenFinish(event:TweenEvent):void{
    
trace("TWEEN_FINISH");
}


function 
md(event:MouseEvent):void{
    
tween.pause();
}
function 
mu(event:MouseEvent):void{
    
tween.play();
}



function 
createRect(x:Numbery:Numberw:Numberh:Numbercolor:Number):Sprite{
    var 
s:Sprite = new Sprite();
    
s.graphics.moveTo(00);
    
s.graphics.lineStyle();
    
s.graphics.beginFill(color);
    
s.graphics.drawRect(00wh);
    return 
s;

example TweenSprite anschaun
PHP-Code:
import fresh.tween.*;
import fresh.events.*;
import fresh.tween.easing.*;


var 
_sprite:TweenSprite createRect(002002000xff00ff);
addChild(_sprite);


// locTo(x:Number, y:Number, easing:Function, duration):void
_sprite.locTo(200200Elastic.easeOut100);




_sprite.addEventListener(TweenEvent.TWEEN_STARTonTweenStart);
_sprite.addEventListener(TweenEvent.TWEEN_FINISHonTweenFinish);


function 
onTweenStart(event:TweenEvent):void{
    
trace(event.target+" TWEEN_START");
}
function 
onTweenFinish(event:TweenEvent):void{
    
trace(event.target+" TWEEN_FINISH");
}




function 
createRect(x:Numbery:Numberw:Numberh:Numbercolor:Number):TweenSprite{
    var 
s:TweenSprite = new TweenSprite();
    
s.graphics.moveTo(00);
    
s.graphics.lineStyle();
    
s.graphics.beginFill(color);
    
s.graphics.drawRect(00wh);
    return 
s;

example_TweenSpriteAdvanced http://www.dj-public.de/fresh/exampl...teAdvanced.swf
PHP-Code:
import fresh.tween.*;
import fresh.events.*;
import fresh.tween.easing.*;



with(pic_mc){
    
brightness 100;
    
saturation .3;
    
contrast .4;
    
    
contrastTo(.1Strong.easeOut150);
    
brightnessTo(0Strong.easeOut150);
    
saturationTo(.1Strong.easeOut150);
    
    
addEventListener(TweenEvent.TWEEN_STARTonTweenStart);
    
addEventListener(TweenEvent.TWEEN_FINISHonTweenFinish);
}



function 
onTweenStart(event:TweenEvent):void{
    
trace(event.target+" TWEEN_START");
}
function 
onTweenFinish(event:TweenEvent):void{
    
trace(event.target+" TWEEN_FINISH");

example_TweenSequencer anschaun
PHP-Code:
import fresh.tween.*;
import fresh.events.*;
import fresh.tween.easing.*;


var 
_sprite:TweenSprite createRect(002002000xff00ff);
addChild(_sprite);


var 
s:TweenSequencer = new TweenSequencer();

s.sequence[0] = {obj:_spritefunc:"locTo"args:[200200Strong.easeOut80]};
s.sequence[1] = {obj:_spritefunc:"sizeTo"args:[10050Elastic.easeOut100]};
s.sequence[2] = {obj:_spritefunc:"locTo"args:[00None.easeNone20]};
s.sequence[3] = {obj:_spritefunc:"sizeTo"args:[stage.stageWidthstage.stageHeightStrong.easeOut40]};
s.sequence[4] = {obj:_spritefunc:"alphaTo"args:[0Strong.easeOut200]};






s.addEventListener(TweenEvent.TWEEN_SEQUENCER_STARTonSequencerStart);
s.addEventListener(TweenEvent.TWEEN_SEQUENCER_FINISHonSequencerFinish);

s.start();


function 
onSequencerStart(event:TweenEvent):void{
    
trace(event.target+" TWEEN_SEQUENCER_START");
}
function 
onSequencerFinish(event:TweenEvent):void{
    
trace(event.target+" TWEEN_SEQUENCER_FINISH");
}




function 
createRect(x:Numbery:Numberw:Numberh:Numbercolor:Number):TweenSprite{
    var 
s:TweenSprite = new TweenSprite();
    
s.graphics.moveTo(00);
    
s.graphics.lineStyle();
    
s.graphics.beginFill(color);
    
s.graphics.drawRect(00wh);
    return 
s;


Geändert von public (23-04-2007 um 00:30 Uhr)
public ist offline   Mit Zitat antworten
Alt 23-04-2007, 01:49   #2 (permalink)
x39
 
Benutzerbild von georgem
 
Registriert seit: Oct 2004
Ort: St.Gallen, Schweiz
Beiträge: 1.261
gefällt mir sehr gut,

danke für das sharen,

werdsmir gleich mal anschauen, obwohl ich eigentlich ins bett sollte....
__________________
The Sleeper Must Awaken

www.margaris.de | www.exosolar.net
georgem ist offline   Mit Zitat antworten
Alt 23-04-2007, 10:10   #3 (permalink)
class public{}
 
Benutzerbild von public
 
Registriert seit: Feb 2004
Ort: dessau
Beiträge: 1.406
ok.....wenn irgendjemand bugs findet bitte melden.....hoffe man kommt mit meinen kleine bsps klar...wenn net einfachen sagen und dann fragen...*g*
public ist offline   Mit Zitat antworten
Alt 23-04-2007, 14:08   #4 (permalink)
class public{}
 
Benutzerbild von public
 
Registriert seit: Feb 2004
Ort: dessau
Beiträge: 1.406
update:

so nun kann man die fps auch dynamisch regeln einfach...

Tween.fps = 50;

download
public ist offline   Mit Zitat antworten
Alt 05-05-2007, 16:19   #5 (permalink)
ActionStripper
 
Benutzerbild von Mr.Twister
 
Registriert seit: Nov 2001
Ort: Oldenburg
Beiträge: 3.275
sehr schön, ich bin schwer begeistert!
__________________
Design ist AUCH Geschmackssache.
Mr.Twister ist offline   Mit Zitat antworten
Alt 05-05-2007, 17:02   #6 (permalink)
class public{}
 
Benutzerbild von public
 
Registriert seit: Feb 2004
Ort: dessau
Beiträge: 1.406
thx...bin ja net untaätig geblieben next update folgt demnächst
public ist offline   Mit Zitat antworten
Alt 06-05-2007, 18:01   #7 (permalink)
Pending…
 
Benutzerbild von psyk
 
Registriert seit: Jul 2002
Ort: Hamburg
Beiträge: 3.866
Hey, spiele gerade mit deiner feinen Tween-Extension rum und
bekommen immer die Fehlermeldung.
Zitat:
1120: Access of undefined property bubble.
Habs in dem behoben, das ich die Methode TweenEvent::clone()
auskommentiert hab, aber das soll ja sicher nicht Sinn und Zweck sein.
__________________
:: Warum einfach, wenn's auch kompliziert geht! ::
psyk ist offline   Mit Zitat antworten
Alt 06-05-2007, 18:18   #8 (permalink)
class public{}
 
Benutzerbild von public
 
Registriert seit: Feb 2004
Ort: dessau
Beiträge: 1.406
upps ja liegt genau an der methode....scheieb wenn iks schaffe heut abend noch n update hoch....


aber hier ma die abänderung für TweenEvent
PHP-Code:
package fresh.events{
    
import flash.events.Event;

    public class 
TweenEvent extends Event{
        
        public static const 
TWEEN_FINISH:String "tweenFinish";
        public static const 
TWEEN_CHANGE:String "tweenChange";
        public static const 
TWEEN_START:String "tweenStart";
        public static const 
TWEE_STOP:String "tweenStop";
        
        public static const 
TWEEN_SEQUENCER_START:String "tweenSequencerStart";
        public static const 
TWEEN_SEQUENCER_FINISH:String "tweenSequencerFinish";
        
        
        
        
/**
         * Konstruktor
         * TweenEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false)
         */
        
public function TweenEvent(type:Stringbubbles:Boolean falsecancelable:Boolean false){
            
super(typebubblescancelable);
        }
        
        
        
        
/**
         * clone():Event
         */
        
override public function clone():Event{
            return new 
TweenEvent(typebubblescancelable);
        }
        
    }

public ist offline   Mit Zitat antworten
Alt 06-05-2007, 21:53   #9 (permalink)
Pending…
 
Benutzerbild von psyk
 
Registriert seit: Jul 2002
Ort: Hamburg
Beiträge: 3.866
Super, danke für den schnellen Support.
__________________
:: Warum einfach, wenn's auch kompliziert geht! ::
psyk ist offline   Mit Zitat antworten
Alt 06-05-2007, 22:08   #10 (permalink)
class public{}
 
Benutzerbild von public
 
Registriert seit: Feb 2004
Ort: dessau
Beiträge: 1.406
bitte bitte .... sry update kommet doch erst n bissle später....
public ist offline   Mit Zitat antworten
Alt 09-05-2007, 10:00   #11 (permalink)
Neuer User
 
Registriert seit: Feb 2006
Ort: undefined
Beiträge: 70
sehr coole Sache, wo ich doch viel mit AS2 Tween aus mx.transitions.* gemacht habe und die Handhabung stark anlehnt. Auch die Sprite-spezifischen Methoden finde ich klasse. Beim Sequenzer würde ich, um es mehr Type-safe zu machen, die Childs nicht über einen Array Accessor hinzufügen, sondern über eine Methode addChild() , die als Argument kein natives Objekt, sondern eine Tween bzw. TweenSprite Instanz erwartet.
_sevenDust ist offline   Mit Zitat antworten
Alt 09-05-2007, 10:08   #12 (permalink)
Neuer User
 
Registriert seit: Feb 2006
Ort: undefined
Beiträge: 70
Ich denke, es würde aus Performancegründen günstiger sein, wenn man in den easing-Methoden den Typ int bzw uint statt Number verwendet.
_sevenDust ist offline   Mit Zitat antworten
Alt 09-05-2007, 10:19   #13 (permalink)
Neuer User
 
Registriert seit: Feb 2006
Ort: undefined
Beiträge: 70
kleiner Typo in fresh.events.TweenEvent:
Code:
public function TweenEvent(type:String, bubble:Boolean = false, cancelable:Boolean = false, value:Object = null){
			super(type, bubbles, cancelable);
			this.value = value;
		}
Das Konstruktorargument heißt bubbles, nicht bubble -> compiler error
_sevenDust ist offline   Mit Zitat antworten
Alt 09-05-2007, 10:20   #14 (permalink)
class public{}
 
Benutzerbild von public
 
Registriert seit: Feb 2004
Ort: dessau
Beiträge: 1.406
eben nicht denn es sind ja fliesskommazahlen....
public ist offline   Mit Zitat antworten
Alt 09-05-2007, 10:21   #15 (permalink)
class public{}
 
Benutzerbild von public
 
Registriert seit: Feb 2004
Ort: dessau
Beiträge: 1.406
Zitat:
Zitat von _sevenDust Beitrag anzeigen
kleiner Typo in fresh.events.TweenEvent:
Code:
public function TweenEvent(type:String, bubble:Boolean = false, cancelable:Boolean = false, value:Object = null){
			super(type, bubbles, cancelable);
			this.value = value;
		}
Das Konstruktorargument heißt bubbles, nicht bubble -> compiler error
ist doch schon behoben siehe posts weiter oben

Tween package in as3

Geändert von public (09-05-2007 um 10:22 Uhr)
public ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 18:46 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele