scale - zoom

Hi,

Poste bitte mal die Datei. Auf Anhieb kann ich keinen Fehler sehen.

Übrigens: Wenn Du die Links direkt aufrufen willst, kannst Du Dir die Funktion "doLink" auch sparen und die Links direkt in das href-Attribut des a-Tags schreiben. ;)

Gruß
.
 
Wie meinst Du, "direkt aufrufen", ohne "dolink"? Stünde dann im Textfeld immer die Original-Webadressse als Link? Wenn ja, ist "dolink" mein Freund.

Anbei die .fla, in der das RollOver nicht will.

Herzl. Grüße H.
 

Anhänge

  • ScaleTry3.zip
    21,2 KB · Aufrufe: 18
Hi,


jupp, da waren schon ein paar Fehler drin ;):
  • Du exportierst die Datei für Flashplayer 6 und AS 1.0. Hovereffekte auf Textlinks gibts aber erst ab Player 7. Also: Veröffentlichungseinstellungen ändern!

  • Für Player 7 und AS 2.0 wird Deine Zoom-Animation nicht mehr funktionieren, da Du die meisten Variablen nicht initialisiert hast, aber direkt eine onEnterFrame-Methode aufrufst, die diese Variablen verwendet (z.B. spdx, spdy, dx, dy). Es reicht doch völlig, die onEnterFrame-Methode mit der Funktion go() zu starten (ich habe das mal korrigiert).

  • Desweiteren musst Du, wenn Du mit <b>-Tags in html-Textfeldern arbeitest, zusätzlich die Zeichen für den Fettdruck einbinden, sonst wird nichts angezeigt. Das geht am besten so, indem man in die Textfelder zwei Zeichen (eins normal, eins im Fettdruck) setzt, und die nötigen Zeichen einbettet.

  • Nein, Du kannst auf "doLink" verzichten, und dennoch einen beliebigen Text anzeigen lassen (siehe Anhang). Es wird einfach die Ziel-URL direkt in das href-Attribut des Links geschrieben. Auch das habe ich mal geändert.

Anmerkung: Ich habe zum Testen die Farbe der Textfelder geändert und die loadMovie-Aktion auskommentiert (ich habe ja die Bilder nicht). Das musst Du ggf. wieder rückgängig machen.

Gruß
.
 

Anhänge

  • ScaleTry3.zip
    22,3 KB · Aufrufe: 32
Wow, der Code ist ja schon wieder kürzer und geht immer noch. Sieht gut aus, komm leider erst am Nachmittag dazu, alles genau anzusehen. Vielen Dank inzwischen für die schnelle Hilfe!
 
Großartig. Alles funktioniert!
Wie immer besten Dank für die rasche Hilfe.
Ich hatte letztesmal beim Rumspielen mit Deinem Code nach der "Blindes-Huhn-Methode" festgestellt, dass dieser Schnipsel im mc "map" bewirkt, dass die "pads" erst beim ersten Klick auf "bgnd" von 0 herauf in die Sichbarkeit zoomen, mit inertia und allem:
PHP:
onEnterFrame = function() {
       	spdx = (spdx+(dx-this._x)/acc)/dec;
       	spdy = (spdy+(dy-this._y)/acc)/dec;
       	spds = (spds+(dscale-this._xscale)/acc)/dec;
       	this._x += spdx;
       	this._y += spdy;
       	this._xscale += spds;
       	this._yscale = this._xscale;
 };
Das funktioniert jetzt nicht mehr, ist das wegen AS 2.0? Und gibt es eine Möglichkeit, das vielleicht auch in der neuen Version zum Laufen zu bringen?
 
Ach ja, und die Links öffnen kein neues Fenster, sondern gehen leider in "self" auf. Wo ersetzt man das bloß mit "blank"? Oder doch wieder zurück zu "doscale" mit getURL etc.
 
Hi,

1. ach, dazu dient Deine onEnterFrame-Methode. ;)

Setz das Ding am Anfang einfach auf 0% Skalierung und Position, dann sollte es auch in Player 7 fukntionieren:
Code:
// im MC "map":
this._xscale = this._yscale = 0;
this._x = this._y = 0;

2. Das Ziel setzt Du einfach in den Link:
Code:
obj.htmlText = '<a href="' + links[i] + '" target="_blank">'+texte[i]+'</a>';

Gruß
.
 
Hallo Datic,
jetzt habe ich doch noch einen winzigen Bug in dieser schönen Sache entdeckt (self-inflicted natürlich). Da hab ich doch auf dem "sens"-mc im "pad" folgendes liegen:
PHP:
on (press) {
   	_parent._parent.zoom(_parent);
   	this.enabled = false;
 }
Mit dem Vorteil, dass, wenn das Bild großgezoomt ist, der User nicht durch einen irrtümlichen Klick auf den sichtbaren Content wieder zurückzoomt, obwohl er das vielleicht gar nicht will. Der Nachteil: will man sich im "großgezoomten" Zustand von einem Feld zum anderen weiterklicken, reagieren die bereits einmal angewählten Felder nicht mehr - weil sie ja disabled sind und sich erst beim Klick auf den "bgnd" (Rückzoom) wieder normalisieren. Am "bgnd" liegt, wie Du vielleicht erinnerst:
PHP:
on (press) { 
   	_parent.map.zoom(null);
   	for (var i = 0; i<5; i++) {
   		_parent.map["pad"+(i+1)].sens.enabled = true;
   	}
 }
Nun ginge es also darum, beim "Weiterrutschen" im großgezoomten Zustand beim Klick auf das nächstfolgende "pad" ALLE ANDEREN Pads wieder zu enablen. Aber wie gibt man das an? Gibt es einen Weg, "alle, nur nicht das aktuell geklickte Feld" anzusteuern?

herzl. H.
 
Hi,

(aus dem Stehgreif, daher vielleicht falsch)
PHP:
on (press) {
    _parent._parent.zoom(_parent);
    this.enabled = false;
    for (var i = 0; i<5; i++) {
        var obj = _parent._parent["pad" + (i + 1)];
        if (obj != this._parent) {
            obj.sens.enabled = true;
        }
    }
}

Gruß
.
 

Neue Beiträge

Zurück