Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 18-12-2003, 03:46   #1 (permalink)
Neuer User
 
Benutzerbild von litL1
 
Registriert seit: Oct 2003
Ort: Italia
Beiträge: 71
Question MC nach vergröß. wieder auf Ausgangswerte schrumpfen?

Guten Morgen Zusammen,

Habe hier mal wieder so'n kleines problemchen...

Also, ich lade diverse Jpegs in verschieden große MCs, und möchte das Sie auf RollerOver grösser u. auf RollOut wieder auf Ihre ursprüngliche Größe schrumpfen. Der erste part klappt ja schon ganz gut, doch beim RollOut stoppen die Bilder irgendwie auf halber Strecke (also schrumpfen nicht wieder auf ihre Ausgangswerte), und dann lassen Sie sich auch nicht mehr vergrößern . Ich habe mal meinen geflickten Code mitgepostet; vieleicht leuchtet ja jemandem sofort ein wo mein Denkfehler liegt. Ich danke auch schonmal im Vorraus für's sich anschaun...
ActionScript:
  1. origX = getProperty(this, _xscale);
  2. origY = getProperty(this, _yscale);
  3. this.onEnterFrame = function() {
  4.     if (RolledOver && this._xscale < 120 && this._yscale < 120) {
  5.         this._xscale += 8;
  6.         this._yscale += 8;
  7.     }
  8.     if (RolledOut && this._xscale > origX && this._yscale > origY) {
  9.         this._xscale -= 8;
  10.         this._yscale -= 8;
  11.     }
  12. };
  13. trace(origX);
__________________
***ONE LOVE***
litL1
litL1 ist offline   Mit Zitat antworten
Alt 18-12-2003, 08:47   #2 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Beiträge: 1.244
hi,

ich habe Dein Script_schnipsel getestet und bei mir
geht es. Weiß allerdings nicht, wie Du Deine "roll"
definiert hast. Du mußt die Zustände der beiden Vari
RolledOver und RolledOut auf false bzw true setzen.
Ich habe es so :

ActionScript:
  1. test.onRollOver = function(){
  2.     RolledOver = true;
  3.     RolledOut = false;
  4. }
  5. test.onRollOut = function(){
  6.     RolledOut = true;
  7.     RolledOver = false
  8. }
__________________
Mfg aus Brandenburg.

harego

Spiel

Zur Page
harego ist offline   Mit Zitat antworten
Alt 18-12-2003, 15:21   #3 (permalink)
Neuer User
 
Benutzerbild von litL1
 
Registriert seit: Oct 2003
Ort: Italia
Beiträge: 71
Bei dir geht's?? Ich meine, die Bilder schrumpfen auf original size zurück?

Hi Harego, Erstmal danke für's testen!!

Meine Rolls habe ich direct auf einen unsichtbaren Schaltknopf liegen - und Du hattest schonmal recht, insofern sich der RollOver/Out Effekt jetzt, dank deiner Ergänzung (mit = false) schonmal wiederholen lässt

Doch leider schrumpfen die Bilder jetzt bei RollOut in's Nirvana (na,ja kleine Übertreibung), jedenfalls noch nicht auf Ihre ursprüngliche Größe. Ich dachte ich könnte das mit getProperty irgendwie anstellen, daß Flash diese Ursprungswerte ermittelt, und bei RollOut wiedergibt, aber... ?
Ich habe das Gefühl ich bin nah dran, aber keine Ahnung in welche Richtung von hier.
__________________
***ONE LOVE***
litL1
litL1 ist offline   Mit Zitat antworten
Alt 18-12-2003, 16:10   #4 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Beiträge: 1.244
hi,

poste doch mal Dein Script. Dann muß man nicht immer alles nachbauen
__________________
Mfg aus Brandenburg.

harego

Spiel

Zur Page
harego ist offline   Mit Zitat antworten
Alt 18-12-2003, 16:25   #5 (permalink)
Neuer User
 
Benutzerbild von litL1
 
Registriert seit: Oct 2003
Ort: Italia
Beiträge: 71
Hi Harego,

Mir ist gerade aufgefallen, das Problem liegt sicherlich bei:
origX = getProperty(this, _xscale);
origY = getProperty(this, _yscale);

Es sind ja nicht die _xscale/_yscale Werte, die ich brauche, sondern die width/height, oder seh ich das jetzt doch wieder falsch?

Wenn ich richtig liege, müßte ich doch eine Variabel, so z.B.:
origW = meine BildGröße._width
origH = meine BildGröße._heigth ...

in ein if () einbauen können // aber frag mich nicht wie die syntax genau aussieht Da bin ich gerade beim Kopfkratzen...

--------------------------------------------------------------------------
Ok ich hab's! Oh what a kick when i get the impression, i'm learning something

Ok, das working script is jetzt so:
ActionScript:
  1. this.onEnterFrame = function() {
  2.     if (RolledOver && this._xscale < 120 && this._yscale < 120) {
  3.         this._xscale += 8;
  4.         this._yscale += 8;
  5.     }
  6.     if (RolledOut && this._xscale > _parent._xscale && this._yscale >_parent._yscale) {
  7.         this._xscale -= 8;
  8.         this._yscale -= 8;
  9.     }
  10. };
Dank nochmals an Harego
__________________
***ONE LOVE***
litL1

Geändert von litL1 (18-12-2003 um 16:39 Uhr)
litL1 ist offline   Mit Zitat antworten
Alt 18-12-2003, 18:11   #6 (permalink)
Neuer User
 
Benutzerbild von litL1
 
Registriert seit: Oct 2003
Ort: Italia
Beiträge: 71
Hi nochmal schnell,

Mir fallen gerade noch ein, zwei allgemeinere Fragen zu dem oben geschilderten onEnterFrame Skript ein...
[list=1][*]Ist es ok das ich RollOver und RollOut, beides in einem onEF Event packe, oder sollte ich es in 2 Seperate legen - wegen CPU, oder so?
[*]Habe versucht mittels
ActionScript:
  1. delete this.onEnterFrame
, der CPU Ekonomie etwas zu helfen, dann klappt aber das Skript gar nicht mehr, also steht das wohl ausser Frage, oder gibt's da 'nen Weg?[/list=1] Danke vielmals für jegliche Gedankenanstösse...
__________________
***ONE LOVE***
litL1
litL1 ist offline   Mit Zitat antworten
Alt 18-12-2003, 18:34   #7 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
hab hier ein script, was größer und wieder auf orig. größe zurück fährt!!
und des onEnterFrame killt!!
ActionScript:
  1. var org_w = this.mc._width;
  2. var org_h = this.mc._height;
  3. var end_w = 150;
  4. var end_h = 150;
  5. moveto = function (grx, gry, sp) {
  6.     var speed = sp;
  7.     _root.mc.onEnterFrame = function() {
  8.         var breite = grx-this._width;
  9.         this._width += breite/speed;
  10.         var hoehe = gry-this._height;
  11.         this._height += hoehe/speed;
  12.         if (Math.round(this._height) == gry){
  13.             delete this.onEnterFrame;
  14.         }
  15.     };
  16. };
  17. this.mc.onRollOver = function() {
  18.     moveto(end_w, end_h, 10);
  19. };
  20. this.mc.onRollOut = function() {
  21.     moveto(org_w, org_h, 10);
  22. };
man kann die werte auch direkt in die functions aufruf schreiben, dann spart ma sich die variablen oben!!
Angehängte Dateien
Dateityp: zip b2_2.zip (3,5 KB, 10x aufgerufen)
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"

Geändert von RustyCake (18-12-2003 um 20:16 Uhr)
RustyCake ist offline   Mit Zitat antworten
Alt 18-12-2003, 18:49   #8 (permalink)
Neuer User
 
Benutzerbild von litL1
 
Registriert seit: Oct 2003
Ort: Italia
Beiträge: 71
Na das ist doch mal ein absolut lobenswertes, weiterzuempfehlendes, zum jubeln bringendes Forum hier!!!

Wow! Erstmal vielen Dank, Rusty!

Ich werde mir diesen "Gedankenanstoß" gleich mal verinnerlichen...
Versuch mich gerade mit hittest, da jetzt bei Vergrösserung eines der Bilder, es ein anderes überdecken müsste, um optisch der 3D gerecht zu bleiben, ...und so lernt man ja immer wieder dazu, nö?!

Many thanx!
__________________
***ONE LOVE***
litL1
litL1 ist offline   Mit Zitat antworten
Alt 18-12-2003, 18:53   #9 (permalink)
Achim Math.PI
 
Benutzerbild von bloba
 
Registriert seit: Jul 2001
Ort: cool Colonia
Beiträge: 11.642
wenn du ggfl. nun ein anderes bild überalagern möchtest dann
schreibts du einfach
PHP-Code:


this
.mc.onRollOver = function() {
        
moveto(end_wend_h10);
this.swapDepths(9999)
}; 

Hi5**Rusty
__________________
gruß bloba

2 x onkel² b_d
bloba ist offline   Mit Zitat antworten
Alt 18-12-2003, 19:01   #10 (permalink)
Neuer User
 
Benutzerbild von litL1
 
Registriert seit: Oct 2003
Ort: Italia
Beiträge: 71
Och Manno,
...jetzt will man ma was lernen, da kriegt man von allen Seite nur so Hilfesprüche rüber...

Ne! Mach nur Spaß! Bloba, Rusty - ich bin geehrt von zwei so flinken Flashern Antwort zu bekommen, wäre gleich aber auch selbst drauf gekommen ...eeh, glaub ich.

Suppppppaaa

D A N K E
__________________
***ONE LOVE***
litL1
litL1 ist offline   Mit Zitat antworten
Alt 18-12-2003, 19:03   #11 (permalink)
Achim Math.PI
 
Benutzerbild von bloba
 
Registriert seit: Jul 2001
Ort: cool Colonia
Beiträge: 11.642
gern geschen

bei fragen fargen
__________________
gruß bloba

2 x onkel² b_d
bloba ist offline   Mit Zitat antworten
Alt 18-12-2003, 19:26   #12 (permalink)
Neuer User
 
Benutzerbild von litL1
 
Registriert seit: Oct 2003
Ort: Italia
Beiträge: 71
Also, Rusty

Jetzt muß ich doch nochmal fragen, weil sowas ist ja ganz neu für mich:
ActionScript:
  1. moveto = function (grx, gry, sp)... {


Wenn Du mir das mal kurz erläutern könntest, wäre ich Dir sehr dankbar, weil da steckt ja doch noch einiges zum lernen drin...

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

On second thoughts...

Vergiß das mal mit der Erläuterung! Schuldigung! Da kann ich ja auch für in die Schule gehen

Hab's glaub ich eh schon randmäßig kapiert; es ist irgendso eine Variabele, die in sich eine Funktion deklariert hat (oder sogar mehrere?) und als ein zusammengefasstes Skript angewand wird, oder?

Ich denk mal: kommt Zeit, kommt Antwort
__________________
***ONE LOVE***
litL1

Geändert von litL1 (18-12-2003 um 19:44 Uhr)
litL1 ist offline   Mit Zitat antworten
Alt 18-12-2003, 20:01   #13 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
ActionScript:
  1. stop();
  2. moveto = function (mc, grx, gry, sp) {
  3.     var speed = sp;
  4.     mc.onEnterFrame = function() {
  5.         var breite = grx-this._width;
  6.         this._width += breite/speed;
  7.         var hoehe = gry-this._height;
  8.         this._height += hoehe/speed;
  9.         trace(Math.round(this._height));
  10.         trace(gry);
  11.         if (Math.round(this._height) == gry) {
  12.             delete this.onEnterFrame;
  13.         }
  14.     };
  15. };
  16. this.mc1.onRollOver = function() {
  17.     moveto(mc1, 400, 80, 10);
  18.     this.swapDepths(9999);
  19. };
  20. this.mc1.onRollOut = function() {
  21.     moveto(mc1, 300, 60, 10);
  22. };
  23. this.mc2.onRollOver = function() {
  24.     moveto(mc2, 400, 80, 10);
  25.     this.swapDepths(9999);
  26. };
  27. this.mc2.onRollOut = function() {
  28.     moveto(mc2, 300, 60, 10);
  29. };


moveto = function (mc, grx, gry, sp) dazu findest Du im Button dieses "moveto(mc2, 300, 60, 10);"!!

moveto = function (der mc der angesprochen wird( mc2), die breite die erreicht werden soll( 300), die hoehe die ereicht werden soll( 60), speed angabe zum langsamen auslaufen( 10))
Angehängte Dateien
Dateityp: zip swap_hi5.zip (10,0 KB, 8x aufgerufen)
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"

Geändert von RustyCake (18-12-2003 um 20:03 Uhr)
RustyCake ist offline   Mit Zitat antworten
Alt 18-12-2003, 20:14   #14 (permalink)
Neuer User
 
Benutzerbild von litL1
 
Registriert seit: Oct 2003
Ort: Italia
Beiträge: 71
Ok Ok! Ihr seit 1000 mal schneller als ich (und ich hab das jetzt nur mal so im Kopf ausgerechnet )

Danke - Danke - Danke! Echt, ich würd' mir ja gerne so'n Kredit, oder sowas einheimseln, sadas ich die Antworten stonieren kann - ginge das?

Nur um schnell noch was klar zustellen (bevor ich wieder aufwache, und alles nur ein Traum war...), zu deinem obigen code

ActionScript:
  1. ...this.mc.onRollOut = function() {
  2.         moveto(org_h, org_w, 10);
  3. };
sind Parameter hier zufällig falschrum gesetzt? Und falls ja, ist das für's funktionieren des Skripts egal?

Ach so! Und in meinem Film habe ich mind. 10 mcs mit Bildern drin, die sich gegenseitig überlagern. Das würde dann wohl so ohne weiteres mit deinem letzterem code nicht klappen, ne?
__________________
***ONE LOVE***
litL1

Geändert von litL1 (18-12-2003 um 20:17 Uhr)
litL1 ist offline   Mit Zitat antworten
Alt 18-12-2003, 20:18   #15 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
eigentlich is nicht egal, bei dem obigen war der mc genauso hoch wie breit, deswegen hab ich mein tipper nicht gesehen
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake 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 22:14 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele