Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-07-2004, 11:40   #1 (permalink)
ulrichbien
Gast
 
Beiträge: n/a
Gummieffekt geht nicht mit Flashplayer 6

Hallo zusammen,

habe einen genialen Gummieffekt gefunden, der aber nur mit FlashPlayer 5 geht.

Hier die Funktion:
Code:
Movieclip.prototype.elasticScale = function(zoom, accel, convert) {
	xScale = xScale * accel + (zoom - this._xscale) * convert 
	yScale = yScale * accel + (zoom - this._yscale) * convert 
	this._xscale += xScale
	this._yscale += yScale
}
Und hier der Aufruf auf einem MC:
Code:
onClipEvent (enterFrame) {
	if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
		elasticScale(150, 0.9, 0.1)
	} else {
		elasticScale(100, 0.9, 0.1)
	}
}
Kann das jemand für FlashPlayer 6 umschreiben??????




Danke und Grüße,

Ulrich
  Mit Zitat antworten
Alt 16-07-2004, 11:44   #2 (permalink)
buehnentechniker
 
Benutzerbild von honifred
 
Registriert seit: Feb 2002
Ort: trier
Beiträge: 2.448
dem script nach zu urteilen funzt das dingen auch im flash 6 player. versuche einfach die datei unter "speichern unter" als flash mx abzuspeichern. vielleicht klappt es dann
__________________
Es gibt eine Sache, die schlimmer ist, als die Ausschweifung: die Abstinenz.

Achim 69
honifred ist offline   Mit Zitat antworten
Alt 16-07-2004, 11:49   #3 (permalink)
ulrichbien
Gast
 
Beiträge: n/a
Abspeichern hilft nicht.

Sobald ich zwei oder mehr MCs mit der Funktion versehe, ist es vorbei, dann springen sie alle gleichzeitig los...
  Mit Zitat antworten
Alt 16-07-2004, 11:51   #4 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
das einzige, dass unsauber ist, ist die tatsache, dass man vor

xscale =
yscale =

ein var davor setzen sollte, damit´s nicht auf der zeitleiste rumfliegt, wo´s net hingehört...

ansonsten ist das script auch im mx lauffähig...

also

ActionScript:
  1. var xscale = ...
  2. var yscale = ...

greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 16-07-2004, 11:53   #5 (permalink)
buehnentechniker
 
Benutzerbild von honifred
 
Registriert seit: Feb 2002
Ort: trier
Beiträge: 2.448

dann funktioniert ja das script in deinem player!
wo liegt denn jetzt das problem? wann sollen die mc's springen? nacheinander?
__________________
Es gibt eine Sache, die schlimmer ist, als die Ausschweifung: die Abstinenz.

Achim 69
honifred ist offline   Mit Zitat antworten
Alt 16-07-2004, 11:57   #6 (permalink)
ulrichbien
Gast
 
Beiträge: n/a
Wenn ich mit VAR arbeite laufen die MCs getrennt, aber der Gummieffekt ist weg. Dann wird's nur noch gößer und kleiner...

In der Variablenliste sind xScale und yScale global definiert. Klar, dass dann alle MCs ruckeln. Aber wie kann ich die Dinger LOKAL für jeden MC einzeln setzten???

Habe jetzt die Funktion für den MC geändert:

Code:
onClipEvent (enterFrame) {
	if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
		this.elasticScale(150, 0.9, 0.1)
	} else {
		this.elasticScale(100, 0.9, 0.1)
	}
}
Jetzt springen sie, aber sie springen alle ZUSAMMEN!

Geändert von ulrichbien (16-07-2004 um 12:09 Uhr)
  Mit Zitat antworten
Alt 16-07-2004, 12:10   #7 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
warte mal...

mach mal das:

ActionScript:
  1. xScale = 0; yScale = 0;
  2. MovieClip.prototype.elasticScale = function(zoom, accel, convert) {
  3.  
  4.     xScale = xScale * accel + (zoom - this._xscale) * convert;
  5.     yScale = yScale * accel + (zoom - this._yscale) * convert;
  6.     trace(xScale+'   ||   '+yScale);
  7.     this._xscale += xScale;
  8.     this._yscale += yScale;
  9. }
  10.  
  11. mc1.onEnterFrame = function(){
  12.     if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
  13.          this.elasticScale(150, 0.9, 0.1)
  14.     } else {
  15.          this.elasticScale(100, 0.9, 0.1)
  16.     }
  17. }
so geht es...


greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 16-07-2004, 12:13   #8 (permalink)
will code HTML for food
 
Benutzerbild von querkopf
 
Registriert seit: Mar 2003
Beiträge: 1.232
nimm die Anfangsfunktionen und ändere die prototype wie folgt ab:

Code:
Movieclip.prototype.elasticScale = function(zoom, accel, convert) {
	this.xScale = this.xScale * accel + (zoom - this._xscale) * convert 
	this.yScale = this.yScale * accel + (zoom - this._yscale) * convert 
	this._xscale += this.xScale
	this._yscale += this.yScale
}
mit dem "this" schreibst Du die Variable für das Objekt auf das Objekt selber.
hab's getestet, sieht gut aus.
__________________
Alles ist wie immer. Nur schlimmer.
querkopf ist offline   Mit Zitat antworten
Alt 16-07-2004, 12:14   #9 (permalink)
ulrichbien
Gast
 
Beiträge: n/a
Geht, aber nur mit EINEM MC. Mach das mal mit zwei MCs...

Das ist echt zum Haare ausreissen....!!!

Code:
xScale = 0; yScale = 0;  
MovieClip.prototype.elasticScale = function(zoom, accel, convert) { 

    xScale = xScale * accel + (zoom - this._xscale) * convert; 
    yScale = yScale * accel + (zoom - this._yscale) * convert; 
    //trace(xScale+'   ||   '+yScale); 
    this._xscale += xScale; 
    this._yscale += yScale; 
} 

item1.onEnterFrame = function(){ 
    if (this.hitTest(_root._xmouse, _root._ymouse, true)) { 
         this.elasticScale(150, 0.9, 0.1) 
    } else { 
         this.elasticScale(100, 0.9, 0.1) 
    } 
} 
item2.onEnterFrame = function(){ 
    if (this.hitTest(_root._xmouse, _root._ymouse, true)) { 
         this.elasticScale(150, 0.9, 0.1) 
    } else { 
         this.elasticScale(100, 0.9, 0.1) 
    } 
}
  Mit Zitat antworten
Alt 16-07-2004, 12:17   #10 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
achso...ja klar...man...
schau doch mal, was sda steht...

beide mc´s haben den funktionaufruf auch dann stehen, wenn die maus sie nicht berührt...siehst du das...

} else {
this.elasticScale(100, 0.9, 0.1)
}


das heißt:
das sch*** ding wird ständig von jedem aufgerufen...das kann so nicht gehen...


greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 16-07-2004, 12:17   #11 (permalink)
will code HTML for food
 
Benutzerbild von querkopf
 
Registriert seit: Mar 2003
Beiträge: 1.232
probier mal meine variante. habe sie mit 4mcs getestet. funzt.

hab's grade mit 8mcs getestet, geht auch
__________________
Alles ist wie immer. Nur schlimmer.

Geändert von querkopf (16-07-2004 um 12:21 Uhr)
querkopf ist offline   Mit Zitat antworten
Alt 16-07-2004, 12:25   #12 (permalink)
ulrichbien
Gast
 
Beiträge: n/a
FUNZT!

Für alle, die es selbst verwenden möchten:

Code:
Movieclip.prototype.elasticScale = function(zoom, accel, convert) {
	this.xScale = this.xScale * accel + (zoom - this._xscale) * convert ;
	this.yScale = this.yScale * accel + (zoom - this._yscale) * convert ;
	this._xscale += this.xScale;
	this._yscale += this.yScale;
}
item1.onEnterFrame = function(){ 
    if (this.hitTest(_root._xmouse, _root._ymouse, true)) { 
         this.elasticScale(150, 0.9, 0.1) 
    } else { 
         this.elasticScale(100, 0.9, 0.1) 
    } 
}
Ist ein echt netter Effekt... WEIL ER JETZT GEHT!


Danke und Grüße,

Ulrich
  Mit Zitat antworten
Alt 16-07-2004, 12:30   #13 (permalink)
will code HTML for food
 
Benutzerbild von querkopf
 
Registriert seit: Mar 2003
Beiträge: 1.232
sag' ich doch, daß es geht.

__________________
Alles ist wie immer. Nur schlimmer.
querkopf 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:52 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele