Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 18-09-2003, 15:33   #1 (permalink)
want some...?
 
Benutzerbild von Chidi
 
Registriert seit: Sep 2002
Ort: Hannover
Beiträge: 223
auf der Stelle schweben lassen...

Servus!

Ich möchte gerne ein mc auf der Stelle ein wenig hin und her schweben lassen. In einem nicht so großen radius eben.
Es ist so ähnlich wie eni wabbern oder zittern halt nur smoother und langsam. Ich kriegs irgendwie nicht hin.

Hab schon gesucht hier im Forum aber nix passendes gefunden.

hier mein ActionScript:
ActionScript:
  1. this.createEmptyMovieClip("screen01", 2);
  2. this.createEmptyMovieClip("screen02", 1);
  3. screen01.attachMovie("screen01", "screen01", 2);
  4. screen02.attachMovie("screen02", "screen02", 1);
  5. screen01._x = 260;
  6. screen01._y = 200;
  7. screen02._x = 240;
  8. screen02._y = 150;
  9.  
  10.  
  11. // Zittern des MCs
  12. screen02.onEnterFrame = function(){
  13.     this._x=240+random(5);
  14.     this._y=150+random(5);
  15. }
  16.  
  17. screen01.onEnterFrame = function(){
  18.     this._xscale=100+random(2);
  19.     this._yscale=100+random(2);
  20. }
  21.  
  22. // Bilderwechsel
  23. screen02.onRelease = function(){
  24.     this.swapDepths(2);
  25.     screen01.swapDepths(1);
  26. }
  27.  
  28. screen01.onRelease = function(){
  29.     this.swapDepths(2);
  30.     screen02.swapDepths(1);
  31. }

freue mich auf Antworten...;o)
Danke schonmal....
__________________
Chidi #90
=========================
www.theBecker.de
=========================
Chidi ist offline   Mit Zitat antworten
Alt 18-09-2003, 15:40   #2 (permalink)
Hirnverbrannt
 
Benutzerbild von NastyFrog
 
Registriert seit: Aug 2001
Ort: AUSTRIA
Beiträge: 2.020
Also das mit dem Random is etwas zu extrem. Du musst die Zielkoordinaten berechnen und die MC dann langsam auf die Koordinaten zuschweben lassen. Wenn er dann dort is, dann neue Koordinaten berechnen.
__________________
50 Seiten hardcore ActionScript von den Grundlagen bis zu 3D Darstellungen.... eben eine Abendlektüre.

Dogs fucked the Pope, no fault of mine. Watch out! ... Why money? My name is Brinks; I was born ... born? Get sheep over side ... women and children to armored car ... orders from Captain Zeep.(Hunter S. Thompson)
NastyFrog ist offline   Mit Zitat antworten
Alt 18-09-2003, 15:43   #3 (permalink)
want some...?
 
Benutzerbild von Chidi
 
Registriert seit: Sep 2002
Ort: Hannover
Beiträge: 223
Aha....schon mal Danke....

gibbet da irgendeine formel für....???
__________________
Chidi #90
=========================
www.theBecker.de
=========================
Chidi ist offline   Mit Zitat antworten
Alt 18-09-2003, 15:48   #4 (permalink)
want some...?
 
Benutzerbild von Chidi
 
Registriert seit: Sep 2002
Ort: Hannover
Beiträge: 223
ich krieg es nicht hin....
hirnblockade....
hast du mal einen ansatz für mich?
__________________
Chidi #90
=========================
www.theBecker.de
=========================
Chidi ist offline   Mit Zitat antworten
Alt 18-09-2003, 16:34   #5 (permalink)
Hirnverbrannt
 
Benutzerbild von NastyFrog
 
Registriert seit: Aug 2001
Ort: AUSTRIA
Beiträge: 2.020
ActionScript:
  1. // Begin Pseudocode
  2. if ( this._x == this.endX && this._y == this.endY ) {
  3. this.endY = 240 + (Math.random(10)-5);
  4. this.endY = 100 + (Math.random(10)-5);
  5. } else {
  6. // Schwebe zum Punkt
  7. }
  8. // Ende Pseudocode
  9.  
__________________
50 Seiten hardcore ActionScript von den Grundlagen bis zu 3D Darstellungen.... eben eine Abendlektüre.

Dogs fucked the Pope, no fault of mine. Watch out! ... Why money? My name is Brinks; I was born ... born? Get sheep over side ... women and children to armored car ... orders from Captain Zeep.(Hunter S. Thompson)
NastyFrog ist offline   Mit Zitat antworten
Alt 19-09-2003, 07:43   #6 (permalink)
want some...?
 
Benutzerbild von Chidi
 
Registriert seit: Sep 2002
Ort: Hannover
Beiträge: 223
Danke NastyFrog!

das hat mir klasse geholfen...
*doppeldaumen*
__________________
Chidi #90
=========================
www.theBecker.de
=========================
Chidi ist offline   Mit Zitat antworten
Alt 19-09-2003, 10:03   #7 (permalink)
want some...?
 
Benutzerbild von Chidi
 
Registriert seit: Sep 2002
Ort: Hannover
Beiträge: 223
Irgendwie will das doch nicht funzen!
AAaaaahhhh!
Wer möchte mir helfen?

ActionScript:
  1. screen02.onEnterFrame = function(){
  2.     if ( this._x == this.endX && this._y == this.endY ) {
  3.         this.endX = 240 + (Math.random(6)-5);
  4.         this.endY = 150 + (Math.random(6)-5);
  5.     } else {
  6.         // Schwebe zum Punkt
  7.         this._x += (endX-this._x)/1;
  8.         this._y += (endY-this._y)/1;
  9.     }
  10. }
__________________
Chidi #90
=========================
www.theBecker.de
=========================
Chidi ist offline   Mit Zitat antworten
Alt 19-09-2003, 10:11   #8 (permalink)
want some...?
 
Benutzerbild von Chidi
 
Registriert seit: Sep 2002
Ort: Hannover
Beiträge: 223
Das Problem ist......

das sich das mc garnicht bewegen will....
überhaupt nicht...nada...steht einfach still...
__________________
Chidi #90
=========================
www.theBecker.de
=========================
Chidi ist offline   Mit Zitat antworten
Alt 19-09-2003, 11:03   #9 (permalink)
AchimHomeZone
 
Benutzerbild von onip
 
Registriert seit: Feb 2002
Ort: Cöllefornia / Cologne / Kölle / Köln
Beiträge: 1.541
ActionScript:
  1. onClipEvent (load) {
  2.     endX = 200;
  3.     endY = 200;
  4.     _x = endX-100;
  5.     _y = endY;
  6. }
  7. onClipEvent (enterFrame) {
  8.     speedX=int((endX-_x)/1);
  9.     speedY=int((endY-_y)/1);
  10.     _x +=speedX;
  11.     _y +=speedY;
  12.     if (_x == endX  or _y == endY) {
  13.         endX = _x+random(7)-random(5);
  14.         endY = _y+random(7)-random(5);
  15.     }
  16. }

das script nur noch mit deiner programmierung anpassen.

so in etwa

ActionScript:
  1. endX = 200;
  2. endY = 200;
  3. screen02.onEnterFrame = function() {
  4.     speedX=int((endX-_x)/1);
  5.     speedY=int((endY-_y)/1);
  6.     _x +=speedX;
  7.     _y +=speedY;
  8.     if (_x == endX  or _y == endY) {
  9.         endX = _x+random(7)-random(5);
  10.         endY = _y+random(7)-random(5);
  11.     }
  12. };
__________________
__________________


4. Lunyu 2.13.

Zi Gong fragte, was einen Flasher ausmache.
Konfuzius sprach: "Er predigt nur das, was er zuvor schon selbst in die Tat umgesetzt hat."

Geändert von onip (19-09-2003 um 11:06 Uhr)
onip ist offline   Mit Zitat antworten
Alt 19-09-2003, 11:15   #10 (permalink)
want some...?
 
Benutzerbild von Chidi
 
Registriert seit: Sep 2002
Ort: Hannover
Beiträge: 223
Danke ONIP!

Ich werde das auch mal testen.
Denn in der Zwischenzeit hab ich mal zusammen mit einem Physiker, folgendes gezaubert. Und es funktioniert. Thank God!

ActionScript:
  1. screen02.endX = 240;
  2. screen02.endY = 150;
  3. screen01.endX = 260;
  4. screen01.endY = 200;
  5.  
  6. screen02.onEnterFrame = function(){
  7.     if ( Math.abs(this._x - this.endX) < 2 && Math.abs(this._y - this.endY) < 2 ) {
  8.         this.endX = 240 + Math.round(Math.random()*10);
  9.         this.endY = 150 + Math.round(Math.random()*10);
  10.         trace("Trace 1 - x: " + this.endX + " - Y: " +this.endY);
  11.     } else {
  12.         // Schwebe zum Punkt
  13.         trace("Trace 2 - x: " + this.endX + " - Y: " +this.endY);
  14.         this._x += ((this.endX-this._x)/Math.abs(this.endX-this._x))*Math.abs(this.endX-this._x)/10;
  15.         this._y += ((this.endY-this._y)/Math.abs(this.endY-this._y))*Math.abs(this.endY-this._y)/10;
  16.     }
  17. }
  18.  
  19. screen01.onEnterFrame = function(){
  20.     if ( Math.abs(this._x - this.endX) < 2 && Math.abs(this._y - this.endY) < 2 ) {
  21.         this.endX = 260 + Math.round(Math.random()*10);
  22.         this.endY = 200 + Math.round(Math.random()*10);
  23.         trace("Trace 1 - x: " + this.endX + " - Y: " +this.endY);
  24.     } else {
  25.         // Schwebe zum Punkt
  26.         trace("Trace 2 - x: " + this.endX + " - Y: " +this.endY);
  27.         this._x += ((this.endX-this._x)/Math.abs(this.endX-this._x))*Math.abs(this.endX-this._x)/10;
  28.         this._y += ((this.endY-this._y)/Math.abs(this.endY-this._y))*Math.abs(this.endY-this._y)/10;
  29.     }
  30. }
__________________
Chidi #90
=========================
www.theBecker.de
=========================
Chidi 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:55 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele