Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 13-07-2004, 15:30   #1 (permalink)
rookie
 
Benutzerbild von rok°!
 
Registriert seit: Apr 2002
Beiträge: 370
gezoomte grafik wieder "klein bekommen"

ich lade eine animation verkleinert (30%) per loadmovie in einen neuen mc. nun möchte ich per button die grafik auf ihre originalgröße (100%) zoomen (am liebsten per tween, also mit einer bewegung). das problem dabei ist: wie krieg ich die animation wieder kleiner? mein zoom-button, der neben der grafik war wird überdeckt auf die nachgeladene animation soll aber nicht geklickt werden. ich hätte lieber einen button neben der gezoomten grafik.

hier lade ich die animation nach:
PHP-Code:
createEmptyMovieClip ("ani"2); 
ani.loadMovie ("de/big_2D.swf"); 
ani._xscale 30
ani._yscale 30
ani._x 350
ani._y 270
und das steht im button:
PHP-Code:
on (release) {
    
ani._xscale 100
    
ani._yscale 100
    
ani._x 170
    
ani._y 50;

wie gesagt, das zoomen klappt ja so einigermaßen (halt ohne tween). allerdings weiss ich nicht, wie ich nun einen button neben die gezoomte grafik bekomme...

kann mir jemand helfen?
__________________
Das Newslettersystem auf deiner Homepage!
rok°! ist offline   Mit Zitat antworten
Alt 13-07-2004, 15:36   #2 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Die Frage ist:

1. Willst Du, dass das Zoomen nicht über den Button zoomt?
2. Willst Du, dass der Button nach dem Zoomen seine Position ändert?

Wäre beides möglich.
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 13-07-2004, 15:42   #3 (permalink)
rookie
 
Benutzerbild von rok°!
 
Registriert seit: Apr 2002
Beiträge: 370
ich denke eher 2.
wenn das geht währe ich glücklich
die grafik ist nicht durchsichtig. wenn der button, rechts unten neben der grafik einach mitrutscht, währe das klasse.
um dir gleich den arm auszureißen: am liebsten währe mir noch, wenn ich einen hintergrund noch einfügen könnte (alpha 80%). die grafik dazu existiert schon
__________________
Das Newslettersystem auf deiner Homepage!
rok°! ist offline   Mit Zitat antworten
Alt 13-07-2004, 16:11   #4 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Ist noch nicht perfekt,
aber schon ein Ansatz:

PHP-Code:
zL this;
// ******************************************************
function zoomen(objekt) {
 
zoom setInterval(function () {
  if (
objekt._xscale<100) {
   
objekt._xscale += 5;
   
objekt._yscale += 5;
   
zL.button_mc._x zL.rot_mc._x+zL.rot_mc._width+20;
   
zL.button_mc._y zL.rot_mc._y;
   
updateAfterEvent();
  }
 }, 
10);
}
// ******************************************************
zL.attachMovie("rotBox_mc""rot_mc"1);
zL.attachMovie("button_mc""button_mc"2);
zL.rot_mc._xscale zL.rot_mc._yscale=30;
zL.button_mc._x zL.rot_mc._x+zL.rot_mc._width+20;
zL.button_mc.onPress = function() {
 
zoomen(zL.rot_mc);
};
// ****************************************************** 
Angehängte Dateien
Dateityp: zip bZoom.zip (4,4 KB, 26x aufgerufen)
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 13-07-2004, 16:47   #5 (permalink)
rookie
 
Benutzerbild von rok°!
 
Registriert seit: Apr 2002
Beiträge: 370
aha!
schön. das prinzip hab ich (glaube ich) zunächst erstmal verstanden... und wie krieg ich den button dazu, dass er nach dem zoomen die "zurückzoom-funktion" aufruft?
__________________
Das Newslettersystem auf deiner Homepage!
rok°! ist offline   Mit Zitat antworten
Alt 14-07-2004, 00:23   #6 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
So, jetzt mit zoomIn und zoomOut.

Vielleicht willst Du es ja so in etwas machen. Der Mc zoomt
jetzt in eine andere Richtung. Wohin der Mc zoomt kann man
sich ja aussuchen. Das mit dem Button, der sich mitbewegt,
finde ich nämlich eigentlich nicht so hübsch.

PHP-Code:
zL this;
zoomID true;
zoomSpeed zS 5;
// ******************************************************
function zoomIn(objekt) {
zoom setInterval(function () {
if (
objekt._xscale 100) {
objekt._xscale += zS;
objekt._yscale += zS;
updateAfterEvent();
} else {
clearInterval(zoom);
}
}, 
10);
}
// ******************************************************
function zoomOut(objekt) {
zoom setInterval(function () {
if (
objekt._xscale 30) {
objekt._xscale -= zS;
objekt._yscale -= zS;
updateAfterEvent();
} else {
clearInterval(zoom);
}
}, 
10);
}
// ******************************************************
zL.attachMovie("rotBox_mc""rot_mc"1);
zL.attachMovie("button_mc""button_mc"2);
zL.rot_mc._xscale zL.rot_mc._yscale 30;
zL.rot_mc._x zL.rot_mc._y 100;
zL.button_mc._x zL.rot_mc._x;
zL.button_mc._y zL.rot_mc._y 30;
// ******************************************************
zL.button_mc.onPress = function() {
switch (
zoomID) {
case 
true :
zoomIn(zL.rot_mc);
zoomID = !zoomID;
break;
case 
false :
zoomOut(zL.rot_mc);
zoomID = !zoomID;
}
};
// ****************************************************** 
Ok, man könnte auch eine Funktion nehmen namens zoom.
Das würde das Skript etwas kürzer machen.
Aber die 5-6 Zeilen machen es jetzt auch nicht aus.
Angehängte Dateien
Dateityp: zip bZoom.zip (5,3 KB, 26x aufgerufen)
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------

Geändert von thebiz (14-07-2004 um 00:33 Uhr)
thebiz ist offline   Mit Zitat antworten
Alt 14-07-2004, 07:07   #7 (permalink)
rookie
 
Benutzerbild von rok°!
 
Registriert seit: Apr 2002
Beiträge: 370
das problem ist einfach, das der button rechts neben der ani stehen muss, weil oben und unten kein platz mehr ist, wenn die ani gezoomt wird.
__________________
Das Newslettersystem auf deiner Homepage!
rok°! ist offline   Mit Zitat antworten
Alt 14-07-2004, 07:46   #8 (permalink)
rookie
 
Benutzerbild von rok°!
 
Registriert seit: Apr 2002
Beiträge: 370
ich hab mal'n bissel dran "rumgeschraubt". jetzt bleibt der button rechts daneben und das für mich wichtigste: die grafik zoomt von der mitte aus nach außen (also bleibt nicht bei x,y=0).

allerdings "ruckelt" der button. ich hab da bestimmt noch einen denkfehler drin. vielleicht siehst du ihn ja:

PHP-Code:
zL this;
zoomID true;
zoomSpeed zS 5;
// ******************************************************
function zoomIn(objekt) {
    
zoom setInterval(function () {
        if (
objekt._xscale 100) {
            
objekt._xscale += zS;
            
objekt._yscale += zS;
            
objekt._x -= zS/2;
            
objekt._y -= zS/2;
            
zL.button_mc._x zL.rot_mc._x+zL.rot_mc._width+10;
            
zL.button_mc._y = (zL.rot_mc._height/2)-zL.button_mc._height;
            
updateAfterEvent();
        } else {
            
clearInterval(zoom);
        }
    }, 
10);
}
// ******************************************************
function zoomOut(objekt) {
    
zoom setInterval(function () {
        if (
objekt._xscale 30) {
            
objekt._xscale -= zS;
            
objekt._yscale -= zS;
            
objekt._x += zS/2;
            
objekt._y += zS/2;
            
zL.button_mc._x zL.rot_mc._x+zL.rot_mc._width+10;
            
zL.button_mc._y zL.rot_mc._height-zL.button_mc._height;
            
updateAfterEvent();
        } else {
            
clearInterval(zoom);
        }
    }, 
10);
}
// ******************************************************
zL.attachMovie("rotBox_mc""rot_mc"1);
zL.attachMovie("button_mc""button_mc"2);
zL.rot_mc._xscale zL.rot_mc._yscale=30;
zL.button_mc._x zL.rot_mc._x+zL.rot_mc._width+10;
// ******************************************************
zL.button_mc.onPress = function() {
    switch (
zoomID) {
    case 
true :
        
zoomIn(zL.rot_mc);
        
zoomID = !zoomID;
        break;
    case 
false :
        
zoomOut(zL.rot_mc);
        
zoomID = !zoomID;
    }
};
// ****************************************************** 
__________________
Das Newslettersystem auf deiner Homepage!
rok°! ist offline   Mit Zitat antworten
Alt 14-07-2004, 08:18   #9 (permalink)
rookie
 
Benutzerbild von rok°!
 
Registriert seit: Apr 2002
Beiträge: 370
so. bin mal wieder selbst drauf gekommen
abwarten, bis es ein anderer macht ist zwar nett aber bringt nix (und ist zudem noch viel langsamer)

also um das sogn. ruckeln wegzubekommen muss man einfach nur die rechnung für den grünen button überarbeiten:
PHP-Code:
zL.button_mc._y zL.rot_mc._height+zL.rot_mc._y-zL.button_mc._height
und das kommt dann in beide zoom-functions rein (anstatt der vorhandenen).
__________________
Das Newslettersystem auf deiner Homepage!
rok°! ist offline   Mit Zitat antworten
Alt 14-07-2004, 08:51   #10 (permalink)
rookie
 
Benutzerbild von rok°!
 
Registriert seit: Apr 2002
Beiträge: 370
jetzt komm ich aber wirklich nicht weiter:
rotBox_mc soll geladen werden. existiert also nur als externe swf

wie mach ich das?
mein ansatz sieht soaus, klappt aber nich:
PHP-Code:
createEmptyMovieClip ("ani"1); 
ani.loadMovie ("sub_big_siClaro_2D.swf"); 
zL.attachMovie("ani""ani"2);
zL.attachMovie("button_mc""button_mc"3); 
__________________
Das Newslettersystem auf deiner Homepage!
rok°! ist offline   Mit Zitat antworten
Alt 14-07-2004, 12:50   #11 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Das muss aber klappen:
PHP-Code:
zL this;
zL.createEmptyMovieClip("ani"1);
zL.ani.loadMovie("rotBox.swf"); 
Axo, warum hast Du das attachMovie noch
da stehen? Ich denke du lädst extern?
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 14-07-2004, 13:03   #12 (permalink)
rookie
 
Benutzerbild von rok°!
 
Registriert seit: Apr 2002
Beiträge: 370
sehen tue ich es auch.
allerdings scheint da was nicht richtig zu funktionieren...

mein button gurkt irgendwo oberhalb der grafik herum und das nette zoomen (von der mitte heraus) klappt jetzt auch nicht, obwohl ich nur die grafik jetzt hinzulade, den rest hab ich nicht verändert...
__________________
Das Newslettersystem auf deiner Homepage!
rok°! ist offline   Mit Zitat antworten
Alt 14-07-2004, 13:22   #13 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Also wenn Du den Film einlädst,
musst Du natürlich auch darauf achten,
das die Namen auch nocht stimmen,
die im Skript verwendet wurden.
Du lädst ja jetzt das .swf in den container "ani"
wie es scheint. Also auch das Skript
entsprechend ändern.
Denn eigentlich ist es egal ob es jetzt eingeladen wird
oder nicht. Hauptsache die Referenzierungen stimmen.
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 14-07-2004, 13:24   #14 (permalink)
rookie
 
Benutzerbild von rok°!
 
Registriert seit: Apr 2002
Beiträge: 370
yo, hab ich ja. guck:
Angehängte Dateien
Dateityp: zip bZoom.zip (6,1 KB, 18x aufgerufen)
__________________
Das Newslettersystem auf deiner Homepage!
rok°! ist offline   Mit Zitat antworten
Alt 14-07-2004, 15:29   #15 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Du musst halt schauen, wie Du die .swf anlegst.
Am besten die Bühne ist so groß wie der Inhalt.

Ich habe mal das Skript etwas geändert.
Die genaue Positionierung des Buttons,
musst Du halt für Deine Zwecke anpassen.

PHP-Code:
zL this;
zoomID true;
zoomSpeed zS 5;
// ******************************************************
function zoomIn(objekt) {
 
zoom setInterval(function () {
  if (
objekt._xscale 50) {
   
objekt._xscale += zS;
   
objekt._yscale += zS;
   
objekt._x -= zS 2;
   
objekt._y -= zS 2;
   
// objekt._y -= zL.ani._height*objekt._yscale/100/2;
   
updateAfterEvent();
  } else {
   
clearInterval(zoom);
  }
 }, 
10);
}
// ******************************************************
function zoomOut(objekt) {
 
zoom setInterval(function () {
  if (
objekt._xscale 30) {
   
objekt._xscale -= zS;
   
objekt._yscale -= zS;
   
objekt._x += zS 2;
   
objekt._y += zS 2;
   
updateAfterEvent();
  } else {
   
clearInterval(zoom);
  }
 }, 
10);
}
// ******************************************************
zL.createEmptyMovieClip("ani"1);
zL.ani.loadMovie("test.swf");
zL.onEnterFrame = function() {
 if (
zL.ani._width 0) {
  
zL.attachMovie("button_mc""button_mc"3);
  
zL.button_mc.onPress = function() {
   switch (
zoomID) {
   case 
true :
    
zoomOut(zL.ani);
    
zoomID = !zoomID;
    break;
   case 
false :
    
zoomIn(zL.ani);
    
zoomID = !zoomID;
   }
  };
  
zL.ani._xscale zL.ani._yscale 50;
  
zL.ani._x 100;
  
zL.button_mc._y 0;
  
zL.button_mc._x 150;
  
delete zL.onEnterFrame;
 }
};
// ****************************************************** 
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz 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 14:47 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele