mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Di 16.04.2024 13:40 Benutzername: Passwort: Auto-Login

Thema: Symbol via Button bewegen? vom 02.06.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Multimedia -> Symbol via Button bewegen?
Seite: Zurück  1, 2
Autor Nachricht
creeze
Threadersteller

Dabei seit: 24.10.2004
Ort: Bad Langensalza
Alter: 34
Geschlecht: Männlich
Verfasst Mo 04.06.2007 14:35
Titel

Antworten mit Zitat Zum Seitenanfang

therapiekind hat geschrieben:
creeze hat geschrieben:
allerdings bewegt sich das bild wiederum nur wenn man auf einen button klickt. Menno!

War es nicht auch so angedacht?

hab mich bissl missverständlich ausgedrückt Ooops

wenn man auf button a klickt bewegt sich das bild
wenn man danach auf button b klickt nicht.

wenn man dann die datei neu startet und auf button b klickt bewegt sich das bild.
wenn man danach button a klickt nicht.

crz

//EDIT:
hat sich erledigt. ich habe jetzt einfach aus platzspargründen alle Y-werte entfernt und jetzt funktioniert es. (warum weiß ich auch nicht)

nächste frage: ist es möglich, dass das bild zuerst stark beschleunigt und dann abbremst?
könnte man das vllt. mit einer quadratischen funktion lösen? y-beschleunigung ; x-position ?!

crz


Zuletzt bearbeitet von creeze am Mo 04.06.2007 15:08, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
therapiekind

Dabei seit: 14.03.2006
Ort: In deinem Kopf
Alter: -
Geschlecht: -
Verfasst Mo 04.06.2007 16:11
Titel

Antworten mit Zitat Zum Seitenanfang

creeze hat geschrieben:
nächste frage: ist es möglich, dass das bild zuerst stark beschleunigt und dann abbremst?
könnte man das vllt. mit einer quadratischen funktion lösen? y-beschleunigung ; x-position ?!


Ohne weiteres nicht, aber vielleicht solltest du dich mal eingehend mit den Tween-Klassen in ActionScript beschäftigen. Die erleichtern die skriptgesteuerte Animation um einiges. In dem Zusammenhang kann ich dir noch Fuse ans Herz legen.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
creeze
Threadersteller

Dabei seit: 24.10.2004
Ort: Bad Langensalza
Alter: 34
Geschlecht: Männlich
Verfasst Di 05.06.2007 15:10
Titel

Antworten mit Zitat Zum Seitenanfang

gut, das werde ich mal tun. danke *zwinker*

ich habe aber auch schon wieder das nächste anfängerproblem.
ich möchte, dass nach dem erreichen der gewünschten position jeweils ein clip abgespielt wird.
soll heißen: man klickt auf den button, das bild slidet zu der gewünschten position und dann wird ein kurzer clip auf der zeitleiste abgespielt.

ich habe es so probiert:

Code:
on (press) {         
bild.slideTo(20, 100);
if (bild._x == 20) {
gotoandplay(4);
}
}


allerdings scheint flash das so zu interpretieren, dass beim 1. klicken die position des bildes geändert wird und erst beim 2. klicken bild 4 abgespielt wird.
ich glaube das problem ist, dass er beim klicken sofort die position kontrolliert, die dann natürlich nicht der endposition entspricht. wie sage ich dem player also, dass er die position erst kontrollieren soll wenn das vorherige script vollendet ist?

crz


Zuletzt bearbeitet von creeze am Di 05.06.2007 15:16, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
therapiekind

Dabei seit: 14.03.2006
Ort: In deinem Kopf
Alter: -
Geschlecht: -
Verfasst Di 05.06.2007 15:32
Titel

Antworten mit Zitat Zum Seitenanfang

Richtig, er checkt zu früh. Du könntest das gotoAndPlay(4) z.B. in die slideTo()-Funktion integrieren.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
creeze
Threadersteller

Dabei seit: 24.10.2004
Ort: Bad Langensalza
Alter: 34
Geschlecht: Männlich
Verfasst Di 05.06.2007 17:44
Titel

Antworten mit Zitat Zum Seitenanfang

meinst du so?
Code:
MovieClip.prototype.slideTo = function (leaderX, speed, frame)
{
    if (this._x != leaderX)
    {
        this.onEnterFrame = function ()
        {
            var deltaX = this._x - leaderX;
            var dist = Math.sqrt((deltaX * deltaX));

            var moveX = speed * (deltaX / dist);
            if (speed >= dist)
            {
                this._x = leaderX;
                delete this.onEnterFrame;         
            }
            else
            {               
            this._x -= moveX;            
            }
        };
    }
         if (bild._x == leaderX) {
         gotoandplay(frame);
         }
};


das funktioniert nämlich leider auch nicht.


ich habe jetzt auch schon versucht das ganze mit einer schleife zu lösen.
so hier:
Code:

on (press) {         
bild.slideTo(400, 100);
      do {   
      gotoandplay(4);
      } while (bild._x == 400);
}

resultat: flash springt schon direkt beim klicken auf bild 4 ohne das bild zu sliden.
aber eigentlich müsste er doch merken, dass die position von "bild" noch garnicht 400 beträgt und somit die bedingung false ist?! oder hab ich nen denkfehler?

crz


Zuletzt bearbeitet von creeze am Di 05.06.2007 17:44, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
therapiekind

Dabei seit: 14.03.2006
Ort: In deinem Kopf
Alter: -
Geschlecht: -
Verfasst Di 05.06.2007 20:00
Titel

Antworten mit Zitat Zum Seitenanfang

creeze hat geschrieben:
meinst du so?
Code:
MovieClip.prototype.slideTo = function (leaderX, speed, frame)
{
    if (this._x != leaderX)
    {
        this.onEnterFrame = function ()
        {
            var deltaX = this._x - leaderX;
            var dist = Math.sqrt((deltaX * deltaX));

            var moveX = speed * (deltaX / dist);
            if (speed >= dist)
            {
                this._x = leaderX;
                delete this.onEnterFrame;         
            }
            else
            {               
            this._x -= moveX;            
            }
        };
    }
         if (bild._x == leaderX) {
         gotoandplay(frame);
         }
};


das funktioniert nämlich leider auch nicht.
Fast. Warum noch einmal prüfen, ob bild._x gleich leaderX bzw. ob bild schon an der richtigen Stelle ist? Die slideTo() prüft das doch bereits bei if (speed >= dist). Unten habe ich dir 'ne angepasste Version geschrieben.

creeze hat geschrieben:

ich habe jetzt auch schon versucht das ganze mit einer schleife zu lösen.
so hier:
Code:

on (press) {         
bild.slideTo(400, 100);
      do {   
      gotoandplay(4);
      } while (bild._x == 400);
}

resultat: flash springt schon direkt beim klicken auf bild 4 ohne das bild zu sliden.
aber eigentlich müsste er doch merken, dass die position von "bild" noch garnicht 400 beträgt und somit die bedingung false ist?! oder hab ich nen denkfehler?
Zwei Denkfehler. do {} while(Bedingung) führt die Aussagen im do-Körper mindestens immer einmal aus, checkt dann die Bedingung bei if und entscheidet dementsprechend, ob die Schleife weiterlaufen soll. Um erst eine Bedingung zu prüfen und daraufhin Aussagen in einer Schleife auszuführen benötigst du das while(Bedingung) {}-Konstrukt.

Und hier noch mal die angepasste slideTo:
Code:
MovieClip.prototype.slideTo = function (leaderX, speed, clip, frame)
{
    if (this._x != leaderX)
    {
        this.onEnterFrame = function ()
        {
            var deltaX = this._x - leaderX;
            var dist = Math.sqrt((deltaX * deltaX));

            var moveX = speed * (deltaX / dist);
            if (speed >= dist)
            {
                this._x = leaderX;
                delete this.onEnterFrame;
                clip.gotoandPlay(frame); // Hinzugefügt
            }
            else
            {               
            this._x -= moveX;            
            }
        };
    }
Habe noch einen clip-Parameter hinzugefügt, damit du einen MovieClip direkt ansprechen kannst.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
creeze
Threadersteller

Dabei seit: 24.10.2004
Ort: Bad Langensalza
Alter: 34
Geschlecht: Männlich
Verfasst Di 05.06.2007 20:28
Titel

Antworten mit Zitat Zum Seitenanfang

achso. super! Lächel

dankeschön!!

crz
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen Flash Button mit Animation wenn Cursor den Button Verlässt?
[html/css] Submit-Button ohne Button
MC mit AS bewegen
DIV in Animation bewegen
Text Bewegen in Illustrator
Actionscript objekt bewegen
Neues Thema eröffnen   Neue Antwort erstellen Seite: Zurück  1, 2
MGi Foren-Übersicht -> Multimedia


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.