Nach dynamischer Bewegung, play();...aber wie?

green_phanta

Erfahrenes Mitglied
Hi

Ich habe einen mc erstellt. Wenn man auf ihn drauf klick bewegt er sich schön dorthin wo ich es haben will...
PHP:
kast.onPress = function() {
	{var dx = kast._x + 300;
    kast.onEnterFrame = function() {
        kast._x += (dx - kast._x) / 5;
        if (Math.abs(dx - kast._x) < 1) {
            kast._x = dx;
            delete kast.onEnterFrame;
        }
    }
}
}
	}
Was mache ich wenn ich jetza haben will: Nachdem diese Bewegung fertig ist... sol y_mc ge-play();-ed werden. Geht das mit setIntervall Aber das wäre ja dann auch nur ein Näherungswert... wenn es wirklich unmittelbar nach der Bewegung starten soll. Wenn es damit nicht geht wie dann?


Ausserdem, wie kann man _alpha "faden" Ich meine so wie die Bewegung oben...nur das ganze halt mit dem apla Kanal

danke

greets green






--------------------------------------------------------------



Wer anderen eine Bratwurst brät, der hat ein Bratwurst Bratgerät.:-)
 
Hi,

hmm, Du hast eine ziemlich seltsame (und teilweise fehlerhafte) Klammerung. Nun denn, probiers so:
Code:
kast.onPress = function() {
    var dx = this._x + 300;
    this.onEnterFrame = function() {
        this._x += (dx - this._x) / 5;
        if (Math.abs(dx - this._x) < 1) {
            this._x = dx;
            delete this.onEnterFrame;
            this.play();
        }
    }
}
(innerhalb des onPress-Handlers kannst Du "this" statt dem Instanznamen des Objeks verwenden, da sich dieser Handler auf das Objekt bezieht. Das hat den Vorteil, dass wenn Du z.B. den Instanznamen des MC einmal änderst, Du den Namen nicht an 7 Stellen umschreiben musst, sondern nur an einer. ;)

Gruß
.
 
Alles klar... danke.

Was mache ich wenn ich jetza haben will: Nachdem diese Bewegung fertig ist... sol y_mc ge-play();-ed werden. Geht das mit setIntervall Aber das wäre ja dann auch nur ein Näherungswert... wenn es wirklich unmittelbar nach der Bewegung starten soll. Wenn es damit nicht geht wie dann?


Ausserdem, wie kann man _alpha "faden" Ich meine so wie die Bewegung oben...nur das ganze halt mit dem apla Kanal

greets green
 
^^stimmt habe ich eigentlich auch probiert hatt aber nicht funktioniert...
Naja werd mir nochmal anschauen.

Ach ja kann man setIntervall nur einmal ausführen lassen und dann soll es sich löschen?

Wie kann ich einem mc sagen, das er sein setIntervall erst beginnen soll wenn der bewegte Button zum Stillstand kommt? Klar könnte ich da ein unsichtbares objekt darunter legen und es mittels hitTest testen lassen. Aber ich könnte mir vorstellen das es einfacher geht...

thx

mfg
 
Hi,

Alphafading als Prototype mit Callback-Funktion:
Code:
MovieClip.prototype.alphaFade = function(von, bis, spd, _callback) {
    this._alpha = von;
    this.onEnterFrame = function() {
        this._alpha += (bis - this._alpha ) / spd;
        if (Math.abs(bis - this._alpha ) < 1) {
            this._alpha  = bis;
            delete this.onEnterFrame;
            _callback(this); // wird nach getaner Arbeit ausgeführt
        }
    }
}


// Einen Clip per Click auf 50% faden:
meinClip.onPress = function() {
    this.alphaFade(this._alpha, 50, 5, onFaded);
}

function onFaded(obj) {
    delete obj.onPress; // onPress-Handler nach dem Fading löschen: einmalig
    // hier kannst Du auch irgendwelche Intervalle starten etc.
}

Gruß
.
 
Sehr gut das ist sehr Hilfreich für mich aber bei einer Sache funktionierts es nicht...
Ich schaffe es nicht richtig einzubinden, und ich sitze jetz schon eine halbe Stunde nur daran;).
Ich will einfach nur das das Textfeld(news_blog) bei Klick auf den news Button auf alpha=100 gefadet wird und wenn man wieder drauf klickt(es fährt sich wieder ein) soll news_blog sich wieder auf alpha 0 faden...
Wo muss ich in meinem Fall diesen Code eringeben?
Ich gebe dir einfach mal meine Sourcedatei mit damit du dir ein Bild machen kanns...)

Edit: jetzt ist meine Aktuellste Datei drinnen...
Da wäre gleich noch eine Frage: Wenn du auf Features klickst kommen ja drei kleine neue Fenster. Wenn man dann auf Upload klick sind 2 Probleme:
1. Warum werden meine Buttons (d.h die Schrift) nicht richtig angezeigt?
2. Ich habe es jetzt so gescriptet das sich die Maske bei klick Bewegt... jetzt ist nur das Problem: Ich kann nicht mehr die zwei Buttons für den Upload betätigen weil die Buttons ja mit zum mc gehören(auf den ich die Klick->Bewegt Funktion Programmiert habe)
Wenn ich das jetzt nicht richtig beschrieben habe probiers einfach selbst mal kurz: Features -> Upload -> Auf einen der zwei Buttons klicken...
Wie kann ich dieses Problem lösen


Wenn du mir all diese Fragen beantorten könntest oder irgenjemand anderer... wäre ich sooo dankbar. Ich lerne jetzt jetzt nämlich AS von einer neuen Seite kennen und würde mich schon freuen wenn ich zumindest mal so einfache Dinge behersche...:)

Vielen Dank
mfg
 

Anhänge

Zuletzt bearbeitet:
Hi,

@Hauptproblem: Kannst Du (jedenfalls ohne einen Aufwand zu betreiben, der der Fragestellung nicht angemessen wäre) vergessen, so lange Du Deine Navigation durch Framewechsel auf der Hauptzeitleiste aufgebaut hast.

@Frage 1: Bei mir wird die Schrift angezeigt.

@Frage 2: Mausereignisse lassen sich nicht schachteln. Wenn sich MC2 in MC1 befindet, und auf MC1 ein Mausereignis (onRollOver, onPress etc.) befindet, werden Mausereignisse auf MC2 ignoriert (wie sollte der Interpreter auch wissen, auf welchen Clip sich das Ereignis bezog).

Gruß

P.S. @Threadpushing: Jedem, der Pushing betreibt, pressiert es (mindestens) genauso wie Dir - dennoch bleibt es hier im Forum untersagt. ;)
.
 
Zurück