Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-04-2004, 07:17   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2002
Ort: Kulmbach, Bayern
Beiträge: 59
Question Objekte, Funktionen, _x, _y ????

Hallo liebe Flasher!

Da ich auch Java mache, fällt mir das Actionscript eigentlich ganz leicht. Jetzt wollte allerdings auch mal ein konkretes objektorientiertes Problem angehen und bin kläglich gescheitert. Ich dachte ich kann meine Sachen aus Java einfach auf Flash projizieren... war wohl nix. Auch diverse Tutorials und Unmengen an Movie-downloads haben mir nicht geholfen.

Kann mir bitte mal einer grundlegend an einem Problem den Einsatz von Objekten erklären... meine Bücher sind auch irgendwie zu speziell... bitte!?

Problemstellung:
Ich habe einen Background. Dieser soll sich über _x und _y bewegen. Eintragbar sollen sein die Geschwindigkeit und der Endpunkt.
Dies möchte ich in eine Funktion (Methode) packen, da ich diese für andere Dinge evtl. wieder verwenden möchte. Ausgelöst werden soll die Funktion von einem Navigations Button mit Press/Release.

Lösungsansatz:
Zunächst hab ich mit Clip Events gearbeitet und alle möglichen Schleifen benutzt. Leider stoppte die Bewegung nicht, sondern es ergab sich trotz klarer Abfrage auf true Werte eine Endlosschleife??
Dann habe ich eine Objekt vom Background erstellt, mit new instanziert und wollte dann eine erstellte Funktion aufrufen... da bin ich dann endgültig hängen geblieben??????

Ich weiss das es ganz einfach ist, aber ich komme einfach nicht zum Ziel... bitte erbarme sich einer meiner flash Seele! *g

Liebe Grüsse,

Marcel
dragon ist offline   Mit Zitat antworten
Alt 16-04-2004, 09:20   #2 (permalink)
wissbegierig
 
Registriert seit: Nov 2003
Ort: Hamburg
Beiträge: 206
Hi,

Dein Bewegungsscript könnte so aussehen:

ActionScript:
  1. MovieClip.prototype.beweger = function(welche,speed,end){
  2. this.onEnterFrame = function(){
  3.                 welchen._x+= speed;
  4.                 if (welchen._x>=end){
  5.                         delete this.onEnterFrame;
  6.                 }
  7.         }
  8.  
  9.  
  10. }

Auf deinen Navi-Button:
ActionScript:
  1. on(release){
  2. beweger(meinMC,10,300);
  3. }
Das Script ist ungetestet.
Hoffe es hilft!
__________________
Gruß
PIXIX
PIXIX ist offline   Mit Zitat antworten
Alt 16-04-2004, 09:48   #3 (permalink)
Neuer User
 
Registriert seit: Jul 2002
Ort: Kulmbach, Bayern
Beiträge: 59
merci und nachfrage

Hallo PIXIX!

Ok.. soweit verstehe ich was Du geschrieben hast, bis auf zwei Sachen:

Kannst Du mir noch erklären, warum delete this.onEnterFrame; mit eingebunden werden muss?

Wo muss ich das Bewegungsscript Script plazieren? der Instanzname des Movieclips wird ja übergeben, hier: meinMC, also muss ich nur einen belieben clip mit meinMC benamen (Instanz). Benötige ich kein Object... wohl überflüssig?!

Vielen lieben Dank für Deine Hilfe!

Marcel
dragon ist offline   Mit Zitat antworten
Alt 16-04-2004, 10:05   #4 (permalink)
wissbegierig
 
Registriert seit: Nov 2003
Ort: Hamburg
Beiträge: 206
Hi Marcel,

das delete this.onEnterFrame lösche ich aus Performance-Gründen. Bei einigen Usern, die einen "schwachen" PC haben, wird mit der onEnterFrame-Methode viel CPU-Leistung gefordert und damit keine ständige Auslastung der CPU erfolgt, lösche ich das...wenn ich es nicht brauche. In dem Fall brauche ich die onEnterFrame-Funktion ja nicht mehr, weil meinMC am Ziel angekommen ist.

Die Funktion:
ActionScript:
  1. MovieClip.prototype.beweger = function(welchen,speed,end){
  2.         this.onEnterFrame = function(){
  3.                 welchen._x+= speed;
  4.                 if (welchen._x>=end){
  5.                         delete this.onEnterFrame;
  6.                 }
  7.         }
  8.        
  9.        
  10. }
legst Du ins Framescript, von dort aus ist sie überall verfügbar.

Entweder Du benennst Dein MC mit "meinMC" oder Du übergibst den jetzigen Instanznamen Deines MovieClips. Achte bitte auch auf die Pfadangaben zu Deinem MC. z.B.

ActionScript:
  1. on(release){
  2.         beweger("_root.containerMC.animation.meinMC",10,300);
  3. }
__________________
Gruß
PIXIX
PIXIX ist offline   Mit Zitat antworten
Alt 16-04-2004, 10:30   #5 (permalink)
Neuer User
 
Registriert seit: Jul 2002
Ort: Kulmbach, Bayern
Beiträge: 59
??

Sorry... ich nochmal!

Wahrscheinlich hab ich einfach zu viel gearbeitet in letzter zeit, aber es klappt nicht und ich checke den fehler nicht... kannst du bitte mal nachschauen??

Danke nochmals!!

Marcel
Angehängte Dateien
Dateityp: zip sf.fla.zip (14,9 KB, 4x aufgerufen)
dragon ist offline   Mit Zitat antworten
Alt 16-04-2004, 10:46   #6 (permalink)
wissbegierig
 
Registriert seit: Nov 2003
Ort: Hamburg
Beiträge: 206
Hi,

war mein Fehler, hatte mich bei der übergabe der Parameter vertippt. Sorry. Jetzt gehts:

Viel Spaß!
Angehängte Dateien
Dateityp: zip forum.zip (4,5 KB, 15x aufgerufen)
__________________
Gruß
PIXIX
PIXIX ist offline   Mit Zitat antworten
Alt 16-04-2004, 10:50   #7 (permalink)
Neuer User
 
Registriert seit: Jul 2002
Ort: Kulmbach, Bayern
Beiträge: 59
sorry... aber das zip ist defekt, bekomme ich nicht auf!

kannst du nochmal???

grüß, marcel


PS: oder sag mir kurz die änderung...merci
dragon ist offline   Mit Zitat antworten
Alt 16-04-2004, 10:54   #8 (permalink)
wissbegierig
 
Registriert seit: Nov 2003
Ort: Hamburg
Beiträge: 206
Heute läuft auch alles schief

Hier das Script auf dem Frame:
ActionScript:
  1. MovieClip.prototype.beweger = function(welchen,speed,end){
  2.     this.onEnterFrame = function(){
  3.               welchen._x+= speed;
  4.                 if (welchen._x>=end){
  5.                         delete this.onEnterFrame;
  6.                 }
  7.         }   
  8.      }

Hier das Script für Deinen Button:
ActionScript:
  1. on (release) {
  2.     beweger(_root.meinMC,10,400);
  3. }

Und als Anhang nochmal die Datei als .rar

Hoffe jetzt klappts

Gruß
Florian
Angehängte Dateien
Dateityp: rar forum.rar (4,8 KB, 14x aufgerufen)
__________________
Gruß
PIXIX
PIXIX ist offline   Mit Zitat antworten
Alt 16-04-2004, 11:10   #9 (permalink)
Neuer User
 
Registriert seit: Jul 2002
Ort: Kulmbach, Bayern
Beiträge: 59
Danke!!!!!!

Schönes Wo-Ende!
marcel
dragon 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 23:06 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele