Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 03-01-2004, 17:17   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2003
Beiträge: 5
Steuerung wiederverwenden

Hej,

ein frohes Neues Euch allen erst einmal!

Wir basteln gerade ein wenig wieder mit Flash und stehen gerade vor einem Problem, welches für Euch bestimmt kein Problem ist:

Wir haben eine Steuerung entwickelt, die auf 36 Objekte angewendet werden soll, um andere (für jedes der 36 Objekte spezifisch) Objekte ein- und auszuschalten.

Müssen wir jetzt für jedes Objekt eine eigene Steuerung schreiben oder kann man das nicht einmal schreiben und durch Variablen jeweils auf das jeweilige Objekt zuschneiden?

Danke
Andy
theorixx ist offline   Mit Zitat antworten
Alt 03-01-2004, 17:32   #2 (permalink)
Flash & TYPO3
 
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 2.700
natürlich kannst deine Steuerung einmal programmieren und die dann immer verwenden.

ActionScript:
  1. var steuerung=MovieClip.prototype;
  2. steuerung.move=function(MyObj) {
  3.    // Hier das Script der Bewegung einfügen
  4. }
  5.  
  6.  
  7. _root.DeinObj.onRollOut=function() {
  8.         this.bewege(this);
  9. }
johanness ist offline   Mit Zitat antworten
Alt 03-01-2004, 18:03   #3 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Was ihr sucht, is das Prinzip von Funktionen mit Argumenten. D.h. du definierst einmal eine Funktion und übergibst dieser dann beim Aufruf das jeweilige Ziel-Objekt von euren 36 als sog. Argument oder Parameter.
Einfaches Beispiel für MovieClips:
ActionScript:
  1. function switchOff(whMC) {
  2. whMC._visible = false;
  3. }
  4. //Aufruf:
  5. switchOff(mc15);
Klaro soweit?
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 03-01-2004, 20:49   #4 (permalink)
Flash & TYPO3
 
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 2.700
Wenn sie sich genauer mit einem Script beschäftigt hätten, wären sie da auch drauf gekommen *fg*!
johanness ist offline   Mit Zitat antworten
Alt 03-01-2004, 21:02   #5 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Du weißt ja gar nicht, ob sich da schon irgendjemand mit irgednwas beschäftigt hat. Und wenn du dein Skript meinst, mit dem würde ich mich lieber nicht beschäftigen...
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 03-01-2004, 21:49   #6 (permalink)
Flash & TYPO3
 
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 2.700
Ja natürlich, war ja nur n Gag...
Aber wieso sollten sie sich denn nicht mit meiner Methode beschäftigen?
johanness ist offline   Mit Zitat antworten
Alt 03-01-2004, 22:35   #7 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Weil ich den von dir geposteten Code für ein recht unstimmiges Stückwerk halte (nicht persönlich gemeint natürlich!).

1. Du schreibst MovieClip.prototype in eine Variable, was ich schon mal für bedenkenswert halte.

2. Dann deklarierst du dafür eine Methode, ohne einen Ansatz oder ein Beispiel zu bringen, wie so eine move-Funktion aussehen könnte.

3. Und dann rufst du beim RollOut auf einem Objekt eine "bewege"-Methode auf (in der Deklaration hieß sie noch "move"...) und übergibst ihr eine Referenz auf das aufrufende Objekt selbst, obwohl du ja eigentlich eine Methode des Objekts aufgerufen hast... Verstehste. Fände ich doch recht verwirrend und unstimmig...

Aber mal sehen, was "sie" dazu meinen. Vielleicht sind ja OOP-Profis am Start, die uns nur testen wollen...
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 04-01-2004, 10:01   #8 (permalink)
Flash & TYPO3
 
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 2.700
Ok, das mit den 2 unterschiedlichen Namen für die Funktionen war Leichtsin. Ein Punkt für dich *g*
Diese Move-Funktion wollte ich ja gar nicht bringen, sondern "ihnen" nur dieses auch von dir vorgeschlagene Prinzip von Funktionen mit Argumenten zeigen.
Nun gut, das letzte noch: Kann ich der move-Funktion nicht "this" übergeben?!?
johanness ist offline   Mit Zitat antworten
Alt 04-01-2004, 12:18   #9 (permalink)
Neuer User
 
Registriert seit: Dec 2003
Beiträge: 5
Danke

Hej,

vielen Dank für Eure Anregungen und für Eure Diskussion. Dadurch konnten wir dann auch ein paar Anregungen für unser Skrit beziehen.

Leider sind wir keine OOP-Profis, die Euch testen wollten. Aber danke für die Unterstellung


Andy
theorixx ist offline   Mit Zitat antworten
Alt 04-01-2004, 12:30   #10 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Zitat:
Geschrieben von johanness
Nun gut, das letzte noch: Kann ich der move-Funktion nicht "this" übergeben?!?
Können tust du alles... Aber du hast "move" ja nicht als "nackte" Funktion, sondern als MC-prototype-Methode definiert, so dass jeder MC von nun an diese Funktion schon "in sich eingebaut" hat und somit beim Aufruf "irgendeinMC.move()" weiß, was zu tun is und keine zusätzlich Referenz auf sich selber braucht.

Anders wäre es, wenn du die Funktion "move" einfach auf _root deklarierst:
function move(obj) {...}
Dann wäre der Aufruf, wenn er vom MC selber kommt: _root.move(this).
So. this Klaro?

Im Zweifelsfall immer...
ActionScript:
  1. if(this not function) destroy this;
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar 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 08:31 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele