Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-10-2006, 12:27   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2006
Ort: Erfurt
Beiträge: 69
Question easing nicht verständlich

Moin, I am a Noob

Ich habe eine Seite gefunden wo eigentlich ziemlich gut des easing erklärt ist. Dennoch verstehe ich einige Sachen nicht. Viell könnt ihr mit dabei helfen.

PHP-Code:
// standart Slide
_root.Kreis.onEnterFrame = function (){
    var 
distance _root.Kreis.destinationX-_root.Kreis._x;
    
_root.Kreis._x += distance/10;
}
stop(); //aufm Frame bleiben :p 
Ok Kreis is mein MC. Was on EnterFrame bedeutet weis ich auch. Var distance benötigt man zum berechnen der Geschwindigkeit. Soweit auch klar.

Das krall ich nicht.
Aber was bedeutet _root.Kreis.destinationX ???
Wo bzw. Wie könnte man da direkte _x Werte definieren??

Ich würd gern mit dem Beispiel weiter arbeiten, da es ziemlich einfach ist für nen Noob wie mich.

Könnt ihr mir helfen??

greez Rooky
xxRookYxx ist offline   Mit Zitat antworten
Alt 16-10-2006, 12:33   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Zitat:
Zitat von xxRookYxx Beitrag anzeigen
Wo bzw. Wie könnte man da direkte _x Werte definieren??
Hallo und willkommen im Forum!

Genau da, wo _root.Kreis.destinationX steht.

Das ist ein Variable, die dem MC irgendwo mitgegeben wird und die die Zielposition beinhaltet.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 16-10-2006, 12:53   #3 (permalink)
Neuer User
 
Registriert seit: Jul 2006
Ort: Erfurt
Beiträge: 69
Zitat:
Genau da, wo _root.Kreis.destinationX steht.
Das dachte ich mir schon. Aber genau das ist der Punkt. Die Var destinationX wurde nicht vergeben. Und wenn ich es z.B. so umschreibe,

PHP-Code:
_root.Kreis.onEnterFrame = function (){
    var 
ende 500;
    var 
distance _root.Kreis.ende-_root.Kreis._x
    
_root.Kreis._x += distance/10

funktioniert des ganze nimmer.

Den Anfangspunkt benötige ich ja nicht mehr, da _root.Kreis._x ja die Posi ist wo sich der kreis befindet.
Wo is da jetzt mein Denkfehler. Ich probier da schon den ganzen Tag lang rum.

thx fürs Willkommen

PS: So habs raus bekommen, aber verstehen tu ichs net.

Habs jetzt so:

PHP-Code:
_root.Kreis.onEnterFrame = function (){
    var 
ende 100;
     var 
distance = (-_root.Kreis._x) + ende;
    
_root.Kreis._x += distance/10;

Wieso is _root.Kreis._x jetzt ein minus wert? Ich glaub ich check die Mathematik in Flash net ganz.

Geändert von xxRookYxx (16-10-2006 um 13:04 Uhr)
xxRookYxx ist offline   Mit Zitat antworten
Alt 16-10-2006, 13:01   #4 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Du müsstest this.ende = 500 schreiben. Oder halt so hier:
PHP-Code:
_root.Kreis.onEnterFrame = function (){ 
    var 
distance 500-this._x;  
    
this._x += distance/10;  

...oder so:
PHP-Code:
_root.Kreis.onEnterFrame = function() {
    
this._x += (500-this._x)/10;
}; 
...oder so:
PHP-Code:
this.Kreis.ende 500;
this.Kreis.onEnterFrame = function() {
    var 
distance this.ende-this._x;
    
this._x += distance/10;
}; 
Ginge halt auch mit _root.Kreis.ende = 500 aber man sollte zusehen, dass man wenn möglich absolute Pfade vermeidet.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 16-10-2006, 13:06   #5 (permalink)
Neuer User
 
Registriert seit: Jul 2006
Ort: Erfurt
Beiträge: 69
Ich dachte immer Absolute Pfade wären von Vorteil?
Kannst mir kurz erklären warum man mit .this arbeiten sollte?
Bei verschachtellungen von mc's arbeitet man doch auch mit _root. Oder?

Danke schon mal für die super Hilfe...und vor allem schnell

greez Rooky
xxRookYxx ist offline   Mit Zitat antworten
Alt 16-10-2006, 13:14   #6 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Prinzipiell ist _root ok. Da aber _root immer _root vom Hauptfilm ist, kann es halt sein, dass ein Script nicht mehr funktioniert, wenn man die SWF-Datei in einen anderen Film nachlädt.
Dafür gibt's zwar mittlerweile _lockroot aber man kann auch gleich so programmieren, dass solche "Fehler" später nicht auftreten können.

Bei Verschachtelungen würde man dann halt mit this._parent arbeiten oder einfach am Anfang der Flashdatei die Zeitleiste in eine Var speichern - z.B.:
PHP-Code:
var my_root this 
und dann anstelle _root immer my_root verwenden.

So, das soll es erst einmal gewesen sein - will dich ja nicht überfordern .
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 16-10-2006, 13:21   #7 (permalink)
Neuer User
 
Registriert seit: Jul 2006
Ort: Erfurt
Beiträge: 69
Yo mein Kopp raucht schon. Aber verstanden habe ich es jetzt erst mal.
Eine Kurze Frage noch...

Kann ich statt der Eigenschaft _x jeder beliebige Eigenschaft einsetzen?

z.B. _y oder _alpha oder _rotation???

Thanx noch mal.
xxRookYxx ist offline   Mit Zitat antworten
Alt 16-10-2006, 13:24   #8 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
...probier's halt aus. Dann weißt du es.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 16-10-2006, 13:27   #9 (permalink)
Neuer User
 
Registriert seit: Jul 2006
Ort: Erfurt
Beiträge: 69
lOOOOOl

Danke noch mal
xxRookYxx ist offline   Mit Zitat antworten
Alt 16-10-2006, 15:26   #10 (permalink)
Neuer User
 
Registriert seit: Jul 2006
Ort: Erfurt
Beiträge: 69
nächster Schritt geht net

Hallo Der Frager

Ich wollt kein neuses Thema erstellen, deswegen geht meine nächste Frage noch mal an dich oder jeden der die Lösung weis.

Nach der oben genannten Funktion soll nun ins nächste Bild gesprungen werden. Im prinzip ganz einfach dacht ich If Abfrage ?!

z.B.
PHP-Code:
_root.Kreis.onEnterFrame = function() {
    
this._xscale += (128-this._xscale)/10;
    
this._yscale += (128-this._yscale)/10;
    if (
this._xscale == 128){
        
gotoAndStop (11);//hab keine Bildbezeichnung Verwendet
    
}
}; 
Des funzt aber so nicht. Müsste doch aber, da ja die Endgröße hier 128 ist. Was ist hier falsch?? Das versteh ich nicht.

Auch stimmt irgendwie folgende schreibweise nicht. Hier sollten z.B. 2 Bedingungen gelten.

PHP-Code:
if (this._xscale == 128) && (this._yscale == 128){
        
gotoAndStop (11);
    } 
Das & heust doch laut Script referenz auch "und". Was is da nun schon wieder der schreibfehler??

Kannst mir bei den 2 kleinen Probs bitte noch mal helfen?? Oder viell ein anderer der Lust hat?

Greez Rooky

PS:

Hab noch ne andere Wariante probiert mit ner If abfrage.

PHP-Code:
_root.Kreis.onEnterFrame = function () {
    if (
this._xscale == 128){
        
gotoAndStop(bewegung);//hier mit Bildbezeichnung
    
}else{
        
this._xscale += (128-this._xscale)/3;
        
this._yscale += (128-this._yscale)/3;
        }
}; 
Aber er machts nicht. Bin völlig am verzweifeln. Bitte helft mir!!!!!

Geändert von xxRookYxx (16-10-2006 um 16:08 Uhr) Grund: selbstversuche
xxRookYxx ist offline   Mit Zitat antworten
Alt 16-10-2006, 16:55   #11 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
PHP-Code:
_root.Kreis.onEnterFrame = function() {
    
this._xscale += (128-this._xscale)/10;
    
this._yscale += (128-this._yscale)/10;
    if (
Math.round(this._xscale) == 128) {
        
delete this.onEnterFrame;
        
this._parent.gotoAndStop(11);
    }
}; 
Immer besser die Werte runden. Und auch mal trace() benutzen, um sich anzugucken, was da passiert.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 16-10-2006, 17:09   #12 (permalink)
Neuer User
 
Registriert seit: Jul 2006
Ort: Erfurt
Beiträge: 69
Was würd ich nur ohne dich tun ??.

Trace habe ich auch schon benutzt und festgestellt das der Wert 128 ne weile brauch bis er angezeigt wird. Und des mit dem Runden war auch schon ne Idee von mir. Nur die Formel kenn ich eben net.
Was ich nich beachtet habe ist der
PHP-Code:
this._parent.gotoAndStop(11); 
Verstehen tu ich nicht warum _parent? Der onEnterFrame wird doch auf der HZL durchgeführt net im mc? *grübel*

Und muss man am Ende immer den onEnterFrame befehl deleten??

Sorry wenn ich so viel Frage, aber ich möchts gern verstehen damits weniger Fragen werden

Net böse sein, bin blond

Thx schon mal.

die Rooky
xxRookYxx ist offline   Mit Zitat antworten
Alt 16-10-2006, 17:32   #13 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Zitat:
Zitat von xxRookYxx Beitrag anzeigen
Der onEnterFrame wird doch auf der HZL durchgeführt net im mc?
Eben nicht:

_root.onEnterFrame
wäre die HZL

_root.Kreis.onEnterFrame
ist der mc "Kreis". Würde sich ja sonst auch über "this" nicht ansprechen lassen.

Und deleten sollte man nachen, damit nicht unnütz Performance verschwendet wird.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 16-10-2006, 17:37   #14 (permalink)
Neuer User
 
Registriert seit: Jul 2006
Ort: Erfurt
Beiträge: 69
Okidoki. Nehm ich mir zu Herzchen ^^

Vielen Dank für deine Hilfe, das hilft mir schon viel weiter. Nerv dich dann erst morgen wieder .

Ich test noch ein bissle rum und werd sehen was bei raus kommt. Habs ja jetzte hoffentlich gerafft.

Thx and greez
xxRookYxx 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 06:15 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele