Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash 4 und Flash 5

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 02-04-2007, 20:55   #1 (permalink)
XXX
 
Registriert seit: Dec 2002
Ort: -
Beiträge: 735
AS steuert MC-Größe

Großes Problem...

Wie bekomme ich es hin das beim klick auf einen Button ein MC in eine bestimmte Größe skaliert wird (per AS) ??
sobald ich auf einen anderen klicke soll er aus dieser Position in die neue größe wechseln... eigendlich ganz einfach - wenn man AS beherrscht!!

thx für Antworten
MAGTF ist offline   Mit Zitat antworten
Alt 02-04-2007, 21:21   #2 (permalink)
undefined
 
Benutzerbild von mildesign
 
Registriert seit: Jul 2001
Ort: Stuttgart
Beiträge: 1.839
Ich will ein Zimmer in einer WG in Darmstadt, eigentlich ganz einfach wenn man entsprechende Beziehungen hat...

Naja zurück zu deinem Problem

PHP-Code:
function scaleme(t_mc:MovieClips_mc:Number) {
    var 
init_s:Number s_mc;
    
t_mc.onEnterFrame = function() {
        if (
this._xscale<s_mc) {
            
this._xscale++;
            
this._yscale++;
        } else if (
this._xscale>s_mc) {
            
this._xscale--;
            
this._yscale--;
        } else {
            
delete this.onEnterFrame;
        }
    };
}
but_1.onRelease = function() {
    
scaleme(target_mc30);
}; 
hab jetzt mal über onEnterFrame selber gestrickt man kann aber genau so gut Tween Klassen verwenden oder Fuse kit
__________________
mfg Frank
mildesign ist offline   Mit Zitat antworten
Alt 02-04-2007, 21:52   #3 (permalink)
XXX
 
Registriert seit: Dec 2002
Ort: -
Beiträge: 735
Den Code versteh ich nicht ganz... kommt der in die Bühne oder aufm MC?

Ich brauch also:

t_mc (MC)
s_mc (MC)
but_1 (Button!?)
target_mc (MC)

was kommt dann auf den Button?
vielleicht hast du eine Tut-Datei zur verfügung, dann erspar ich dir hier lange Texte schreiben zu müssen und kann mir das autodidakt beibringen
MAGTF ist offline   Mit Zitat antworten
Alt 02-04-2007, 21:56   #4 (permalink)
industry painter
 
Benutzerbild von edding950
 
Registriert seit: Aug 2006
Ort: auf'm Pott
Beiträge: 760
Zitat:
Zitat von mildesign Beitrag anzeigen
hab jetzt mal über onEnterFrame selber gestrickt man kann aber genau so gut Tween Klassen verwenden oder Fuse kit
Mit Flash 5? Glaube ich kaum. Ebenso gibt es bei Flash 5 das in Deinem Beispiel benutzte Eventmodell noch gar nicht, geschweige denn die Typisierung der Funktionsparameter. Nichtmal Funktionen gab es!





So machte man das in der Steinzeit:

Neuen leeren MovieClip anlegen. Und folgendes Script auf den Clip legen:

ActionScript:
  1. onClipEvent (enterFrame)
  2. {
  3.    var t = this._parent.targetMC;
  4.    var s = this._parent.targetSize;
  5.    if (t._xscale < s)
  6.    {
  7.       t._xscale++;
  8.       t._yscale++;
  9.    }
  10.    else
  11.    {
  12.       this._parent.removeMovieClip();
  13.    }
  14. }

Aus dem MovieClip nochmal einen MovieClip machen, so dass sich der MovieClip mit dem onClipEvent im innern des neuen MovieClips befindet. Diesem MovieClip, der den MovieClip mit dem onClipEvent enthält in der Bibliothek einen Exportnamen geben - für dieses Beispiel nennen wir ihn mal 'tweenMC'...Den MovieClip von der Bühne entfernen.

Nun zum Button, der das Tweening aktivieren soll..Button auf der Bühne platzieren und dieses Script drauf:

ActionScript:
  1. on (release)
  2. {
  3.    _root.attachMovie("tweenMC", "tweenMC", 1000);
  4.    _root.tweenMC.targetMC = deinZuTweenenderClip;
  5.    _root.tweenMC.targetSize = 589; // tweene den mc auf 589 Prozent
  6. }


Boah, waren das magere Zeiten.

Edit: Ok, function gab es auch schon in Flash 5..insofern könnte man dem tweenMC nach dem attachen auch eine function an die hand geben, die dieser im enterFrame ausführt.
__________________
mfg.

Geändert von edding950 (02-04-2007 um 22:06 Uhr)
edding950 ist offline   Mit Zitat antworten
Alt 02-04-2007, 22:17   #5 (permalink)
undefined
 
Benutzerbild von mildesign
 
Registriert seit: Jul 2001
Ort: Stuttgart
Beiträge: 1.839
Zitat:
Zitat von edding950 Beitrag anzeigen
Mit Flash 5? Glaube ich kaum.
ah verdammt überlesen
Naja da hat man gerade seine Arbeitsweise umgestellt dann holt einen wieder die Vergangenheit ein.
Das waren noch Zeiten wo man schon ein Held war wenn man Interaktion über tellTarget hinbekommen hat
__________________
mfg Frank
mildesign ist offline   Mit Zitat antworten
Alt 03-04-2007, 08:20   #6 (permalink)
XXX
 
Registriert seit: Dec 2002
Ort: -
Beiträge: 735
mmh... der will nich wirklich! Auf der Bühne bewegt sich nix!

Ja is aus der Steinzeit ick weiss! Wenn du nen Code für Flash 8 hast dann her damit! Ich dachte nur das es über Flash 5 leichter funzt.
MAGTF ist offline   Mit Zitat antworten
Alt 03-04-2007, 12:28   #7 (permalink)
undefined
 
Benutzerbild von mildesign
 
Registriert seit: Jul 2001
Ort: Stuttgart
Beiträge: 1.839
Flash 8 code steht oben
dein Button heißt "but_1"
dein zu skalierender Movieclip "target_mc"
Code in ersten Frame kopieren fertig.
__________________
mfg Frank
mildesign ist offline   Mit Zitat antworten
Alt 03-04-2007, 14:21   #8 (permalink)
XXX
 
Registriert seit: Dec 2002
Ort: -
Beiträge: 735
ja super das geht! danke!
2 Fragen hätte ich trotzdem noch:

1.) er skaliert ja jetzt den mc jeweils zu einer bestimmten %-Größe. Kann ich ihm auch sagen:

xscale =300 Pixel
yscale =400 Pixel

und gehe auf Koordinate X=200 ; Y=300


2.) Wie funktioniert das smoothe abbremsen wenn er auf eine bestimmte Position springt oder seine Größe ändert?

thx für Antworten!!
MAGTF ist offline   Mit Zitat antworten
Alt 03-04-2007, 16:14   #9 (permalink)
undefined
 
Benutzerbild von mildesign
 
Registriert seit: Jul 2001
Ort: Stuttgart
Beiträge: 1.839
Immer diese Sonderwünsche ;o)
Da du gerade mit smoothie abremsen anfängst würde ich vorschlagen nutzen wir mal die tollen Vorteile von Flash 8
Die Tween Klasse

PHP-Code:
import mx.transitions.Tween
import mx
.transitions.easing.*

function 
scaleme2007beta(t_mc:MovieClip,x_s:Number,y_s:Number,t:Number){
    
/*t_mc: zu skalierender Movieclip
     *x_s skalierung für x Achse
     *y_s skalierung für y_Achse
     * t Dauer der Aniamtion in Sekunden Kann alternativ auch in Bildern 
            * angegeben werden dafür letzten Parameter bei Tweenkonstruktoraufruf in "false" ändern
     */
var tempTween:Object = new Tween(t_mc"_xscale"Strong.easeOutt_mc._xscalex_sttrue);
var 
tempTween2:Object = new Tween(t_mc"_yscale"Strong.easeOutt_mc._yscaley_sttrue);
}

but_1.onRelease= function(){
    
    
scaleme2007beta(target_mc,200,300,5);
}

but_2.onRelease= function(){
    
    
scaleme2007beta(target_mc,50,20,5);

__________________
mfg Frank

Geändert von mildesign (03-04-2007 um 16:24 Uhr)
mildesign ist offline   Mit Zitat antworten
Alt 03-04-2007, 16:39   #10 (permalink)
industry painter
 
Benutzerbild von edding950
 
Registriert seit: Aug 2006
Ort: auf'm Pott
Beiträge: 760
Zitat:
Zitat von MAGTF Beitrag anzeigen
ja super das geht! danke!
2 Fragen hätte ich trotzdem noch:

1.) er skaliert ja jetzt den mc jeweils zu einer bestimmten %-Größe. Kann ich ihm auch sagen:

xscale =300 Pixel
yscale =400 Pixel

und gehe auf Koordinate X=200 ; Y=300


2.) Wie funktioniert das smoothe abbremsen wenn er auf eine bestimmte Position springt oder seine Größe ändert?

thx für Antworten!!
Was hältst Du davon, mal in die Actionscript-Referenz (im Hilfemenu) zu schauen, wenn Dir solche Basics fehlen, wie die Eigenschaften von MovieClips?
__________________
mfg.
edding950 ist offline   Mit Zitat antworten
Alt 04-04-2007, 08:12   #11 (permalink)
XXX
 
Registriert seit: Dec 2002
Ort: -
Beiträge: 735
Vielen vielen Dank damit hast du mir sehr weitergeholfen!!!

@ edding950: Du hast natürlich recht... nur wenn man das sooo selten braucht wie ich lohnt es fast nich sich Stunden und Tage damit auseinander zu setzen.

Geändert von MAGTF (04-04-2007 um 08:39 Uhr)
MAGTF 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 17:56 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele