Zurück   Flashforum > Flash > ActionScript > Softwarearchitektur und Entwurfsmuster

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-08-2002, 15:52   #1 (permalink)
netTrek
 
Benutzerbild von netTrek
 
Registriert seit: Jul 2001
Ort: 46282 Dorsten
Beiträge: 2.972
Dem Sound Objekt _volume und fade() hinzugefügt

Hallo zusammen!
Ich habe gerade etwas mit dem Sound Objekt gespielt und diesem die Eigenschaft _volumen und fie Methode fade() zugefügt

ActionScript:
  1. /*
  2.     dem Sound Objekt die Eigenschaft _volume und die Methode
  3.     fade hinzufügen
  4.     netTrek - Saban Ünlü
  5. */
  6.  
  7. Sound.prototype.sVol = function (value) {
  8.     if (value > 100) value = 100;
  9.     if (value < 0) value = 0;
  10.     this.setVolume(value);
  11. }   
  12.  
  13. Sound.prototype.addProperty("_volume", Sound.prototype.getVolume, Sound.prototype.sVol);
  14.  
  15. Sound.prototype.fade = function(vTarget) {
  16.     var obj = _root.createEmptyMovieClip("netTrek_Sound_Obj",99999);
  17.     obj.lala = this;    obj.vTarget = vTarget;
  18.     obj.onEnterFrame = function () {
  19.         if (this.lala._volume > this.vTarget) this.lala._volume --;
  20.         else if (this.lala._volume < this.vTarget) this.lala._volume ++;
  21.         else {
  22.             delete this.onEnterFrame;
  23.             this.removeMovieClip ();
  24.         }
  25.     }
  26. };

Diesbezüglich habe ich eine Frage:
Wenn ich ein neues Sound Objekt erstelle

lala = new Sound ()

wie kann ich mit einer Methode von Sound herausfinden, wie der name des Soundobjektes ist.

Sound.prototype.name = function () {
return this.name
}

ich würde gerne über

trace(lala.name) "lala" herausbekommen...
ihr wisst schon was ich meine ... hab den mist ne stukatiert und weiß daher nicht was die Fachbegriffe sind...

SABAN
__________________
Saban Ünlü

netTrek GmbH & Co. KG
Softwareentwicklung, Design & Konzeption
www.netTrek.de
netTrek ist offline   Mit Zitat antworten
Alt 23-08-2002, 19:17   #2 (permalink)
hOk
Neuer User
 
Benutzerbild von hOk
 
Registriert seit: Jun 2001
Ort: berlin
Beiträge: 829
Ich würd mal sagen das Ding heißt:
Variablenname oder Variablenbezeichner...;-)

...habs aber auch nicht stukatiert, muss also nicht
stimmen...;-)

Den Namen so eines Dings rauszubekommen,
ist glaub ich unmöglich.

Ausser in for-in Schleifen da taucht er auf, aber
das weisst du ja...

Also so geht es:
PHP-Code:
Object.prototype.get_name = function () {
    for (
i in _root) if (_root[i] == this) return i;
}

bliblup = new Sound();

trace(bliblup.get_name());
// Ausgabe: bliblup 
...ich tippe auf von innen unsichtbar und von aussen
sichtbar in for-in-Schleifen, aber jetzt mal
bitte nen statukierter mit Begründung, bitte, bitte...;-)

netten Gruß, hOk

PS.: Was hast damit eigentlich vor, riecht nach einer
schönen Verallgemeinerung.
__________________
gobogo
hOk ist offline   Mit Zitat antworten
Alt 23-08-2002, 19:45   #3 (permalink)
netTrek
 
Benutzerbild von netTrek
 
Registriert seit: Jul 2001
Ort: 46282 Dorsten
Beiträge: 2.972
@hok...
DANKE ... hab es aber (mit hilfe von Sascha) über einen Umweg mit "echtem" OOP geschaft

hier Beispiel (download) zum faden 2'er Sounds

Und hier das Script:
ActionScript:
  1. /*
  2.     dem Sound Objekt die Eigenschaft _volume und die Methode
  3.     fade hinzufügen
  4.     netTrek - Saban Ünlü
  5. */
  6.  
  7. _global.newSound = function (target) {
  8.     this.target = target
  9.     super (target)
  10. }
  11. _global.newSound.prototype = new Sound ()
  12.  
  13. _global.Sound = newSound
  14.  
  15. Sound.prototype.sVol = function (value) {
  16.     value = Math.floor(value)
  17.     if (value > 100) value = 100;
  18.     if (value < 0) value = 0;
  19.     this.setVolume(value);
  20. }   
  21.  
  22. Sound.prototype.addProperty("_volume", Sound.prototype.getVolume, Sound.prototype.sVol);
  23.  
  24. Sound.prototype.fade = function(vTarget){
  25.     var tagretObj = this.target
  26.     var obj = tagretObj.createEmptyMovieClip("netTrek_Sound_Obj",99999);
  27.     obj.lala = this;    obj.vTarget = Math.floor(vTarget);
  28.     obj.onEnterFrame = function () {
  29.         if (this.lala._volume > this.vTarget) this.lala._volume --;
  30.         else if (this.lala._volume < this.vTarget) this.lala._volume ++;
  31.         else {
  32.             delete this.onEnterFrame;
  33.             this.removeMovieClip ();
  34.         }
  35.     }
  36. };

SABAN
__________________
Saban Ünlü

netTrek GmbH & Co. KG
Softwareentwicklung, Design & Konzeption
www.netTrek.de
netTrek ist offline   Mit Zitat antworten
Alt 23-08-2002, 22:42   #4 (permalink)
hOk
Neuer User
 
Benutzerbild von hOk
 
Registriert seit: Jun 2001
Ort: berlin
Beiträge: 829
Sehr, schön
is gefalling me...
...doch was meinste jetzt mit
Umweg. Hast du jetzt den
Variablenname nicht ermittelt?
mfg, hOk
__________________
gobogo
hOk ist offline   Mit Zitat antworten
Alt 24-08-2002, 01:07   #5 (permalink)
netTrek
 
Benutzerbild von netTrek
 
Registriert seit: Jul 2001
Ort: 46282 Dorsten
Beiträge: 2.972
richtig... hab die variante gewählt, bei der ich mit dem Instanzname des Soundziels arbeite...

SABAN
__________________
Saban Ünlü

netTrek GmbH & Co. KG
Softwareentwicklung, Design & Konzeption
www.netTrek.de
netTrek ist offline   Mit Zitat antworten
Alt 28-08-2002, 00:24   #6 (permalink)
netTrek
 
Benutzerbild von netTrek
 
Registriert seit: Jul 2001
Ort: 46282 Dorsten
Beiträge: 2.972
Endgültige Version ansehen und downloaden

SABAN
__________________
Saban Ünlü

netTrek GmbH & Co. KG
Softwareentwicklung, Design & Konzeption
www.netTrek.de
netTrek ist offline   Mit Zitat antworten
Alt 02-09-2003, 23:45   #7 (permalink)
backToThe._roots
 
Benutzerbild von Blax_ed
 
Registriert seit: Feb 2003
Ort: Ebnat-Kappel [CH]
Beiträge: 1.571
Zitat:
Geschrieben von netTrek
richtig... hab die variante gewählt, bei der ich mit dem Instanzname des Soundziels arbeite...

SABAN
ist denke ich auch leichter als den umweg zu gehen und den "richtigen" Namen erst herauszufinden...
__________________
Cheers,
Flow!
Blax_ed ist offline   Mit Zitat antworten
Alt 03-09-2003, 06:55   #8 (permalink)
.
 
Benutzerbild von SunboX
 
Registriert seit: Sep 2002
Ort: Auerbach / Mittweida
Beiträge: 912
[OT]Was ist eigendlich ein
Zitat:
tagretObj
? [/OT]
__________________
..:: mein weblog ::.. ..:: meine homepage ::.. ..:: VisualDRUGS ::..
Zitat:
Geschrieben von emax
iterativ arbeiten ist menschlich, rekursiv dagegen göttlich :D
Künstliche Intelligenz ist leichter zu ertragen, als natürliche Dummheit!
SunboX ist offline   Mit Zitat antworten
Alt 04-09-2003, 02:31   #9 (permalink)
netTrek
 
Benutzerbild von netTrek
 
Registriert seit: Jul 2001
Ort: 46282 Dorsten
Beiträge: 2.972
@SunboX
Der Beweis dafür, dass das Skript auf meinem Mist gewachsen ist Kommt leider häufiger vor das ich mich vertippe - daher verwende ich Variablennamen auch immer über Copy 'n Paste

SABAN
__________________
Saban Ünlü

netTrek GmbH & Co. KG
Softwareentwicklung, Design & Konzeption
www.netTrek.de
netTrek ist offline   Mit Zitat antworten
Alt 05-09-2003, 11:13   #10 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
Zitat:
...daher verwende ich Variablennamen auch immer über Copy 'n Paste
[ot]
dann iss wohl dein kopierer kaputt, saban...
[/ot]


greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 24-09-2003, 18:15   #11 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 196
cooler effekt;-)

hi hat jemand so einbeispiel so ne art mp3 player......
wo man so weiter auf next trax klicken kann???
will mehrere mp3s abspielen auch mit dem effekt!!!

lg surf.
Surfman19 ist offline   Mit Zitat antworten
Alt 25-09-2003, 12:56   #12 (permalink)
Revived @ Sunday
 
Benutzerbild von MacEvil
 
Registriert seit: Apr 2003
Ort: Nowhereland
Beiträge: 3.244
Hi surfman,
wie stehts denn mit eigenem Ansatz ?
MacEvil ist offline   Mit Zitat antworten
Alt 25-09-2003, 13:09   #13 (permalink)
...
 
Registriert seit: Oct 2002
Ort: Nürnberg
Beiträge: 3.611
letztens wurde hier erst klasse "gruppenarbeit" geleistet:
MP3 Player
thorben.schmitt ist offline   Mit Zitat antworten
Alt 30-05-2004, 10:55   #14 (permalink)
Neuer User
 
Registriert seit: May 2004
Beiträge: 15
HALLO,

habe ebenfalls ein problem mit dem ausfaden.bin allerdings absoluter newbie und hab mir die as hier aus dem forum zusammengesucht-

auf dem ersten bild habe ich das as:

mySound = new Sound(this);
mySound.attachSound("music");
mySound.start(0, 1);
mySound.setVolume(100);

und auf meinem sound on/off button habe ich:
on (release) {
if (!playing) {
mySound.setVolume(50);
mySound.setVolume(0);
playing = true;
} else if (playing) {
mySound.setVolume(50);
playing = false;
}
}


nun moechte ich aber, das der sound beim betaetigen des on/off buttons ausfaded und nicht ploetzlich abbricht. kann mir da jemand helfen??? waere prima, wenn ihr mir helfen koenntet!!!
vielen dank und viele gruesse,
doro
troll0705 ist offline   Mit Zitat antworten
Alt 26-06-2004, 19:53   #15 (permalink)
Bizarre Animator
 
Registriert seit: Sep 2001
Ort: Hölle/Saale
Beiträge: 219
Hallo Saban
habe gerade Dein Fade Script getestet und finde es sehr praktisch. Allerdings komme in einem Punkt nicht weiter:

Wieso gibt es keine Möglichkeit die Fade Geschwindigkeit zu ändern? Hätte gedacht man könnte die Zeile:

this.lala._volume --;

ändern in:

this.lala._volume = this.lala._volume -0.5;

oder sowas in der Art. Am besten die Geschwindigkeit als Variable beim Aufruf mit übergeben. Aber es geht nicht. Der Fade ist immer gleich schnell. Wieso nur? Finde das ganz unlogisch...

Ach so - die Frage geht natürlich nicht nur an Saban sondern an jeden, der vielleicht eine Antwort weiß.

Henry
www.jumpingjokes.com

Geändert von jumpingjokes (27-06-2004 um 03:27 Uhr)
jumpingjokes 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 12:58 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele