Hallo Flash-Fans!
wir haben ein Problem: Und zwar haben wir eine Art Soundcollage erstellt.
wir haben Movieclips gebaut die im loop eine grafik untermalt mit sound abspielen.
diese movieclips ziehe ich auf die bühne.
dann gibt es noch einen lautstärkemanipulator - dieser soll die lautstärke der auf der bühne liegenden Grafiken verändern.
das passiert so:
der manipulator misst aus, welche ecke der bühne die weiteste ist und wie weit er von den grafiken entfernt ist (pytagoras).
wenn die grafik genau auf dem manipulator liegt, wird der ton ganz laut (100%)
wenn manipulator und grafik am weitesten entfernt ist wird die lautstärke 0%
Grafik und manipulator können bewegt werden.
das klappt auch alles soweit.
jetzt kommt das problem: bei zwei grafiken auf der bühne - scheint die eine grafik die andere zu überschreiben und wenn eine grafik weit wegbewegt wird, also der ton der einenen grafik bei 0% sein müsste, die andere hingegen genau auf dem manipulator liegt also eigentlich 100% haben müsste, orientiert sich die lautstärke nur an der einen grafik. das heißt, dass beide grafiken 0% werden.
Bewege ich die andere (die eigentlich 100% habenmüsste) so bleibt sie stumm.
oh weh ich hoffe ich hab das so erklärt, dass man schnallt was ich meine...
hier schick ich mal das script mit - wir sind über jeden Hinweis dankbar
und hier das script:

LA04_a / MEL04_a sind die Audiodateien, die in die MC eingebunden sind (liegen in der bibliothek

LA04 / MEL04 sind die MC, die auch in der bibliothek liegen.


var my_sound:Sound = new Sound(mymov);
mymov = MEL04_mc;
mymov = LA04_mc;
// ...




buehnenbreite = 800;
buehnenhoehe = 600;

//fscommand("fullscreen","true");
//fscommand("allowscale","false");


//sounds attachen
//var my_sound1:Sound = new Sound(MEL04_mc);
//var my_sound2:Sound = new Sound(LA04_mc);
//my_sound1.attachSound("LA04_a");
//my_sound1.start();



maipulator1Dist = 0;
prozAusrechnen(MEL04_mc);
prozAusrechnen(LA04_mc);



//Manipulator Lautstaerke
laut_mani_mc.onPress = function() {

this.startDrag(false, begrenzung_mc._x, begrenzung_mc._y, begrenzung_mc._x + begrenzung_mc._width, begrenzung_mc._y + begrenzung_mc._height );

this.onEnterFrame = function(){
trace("-----------------------------");
//prozAusrechnen(LA04_mc);
prozAusrechnen(this);
}
}


laut_mani_mc.onRelease = laut_mani_mc.onReleaseOutside = function() {

this.stopDrag();
//delete this.onEnterFrame;
}


//Ton
LA04_mc.onPress = function() {

this.startDrag(false, begrenzung_mc._x, begrenzung_mc._y, begrenzung_mc._x + begrenzung_mc._width, begrenzung_mc._y + begrenzung_mc._height );

this.onEnterFrame = function(){
distanzAusrechnen(this);
}
}

LA04_mc.onRelease = LA04_mc.onReleaseOutside = function() {

this.stopDrag();
delete this.onEnterFrame;
}


//Ton2
MEL04_mc.onPress = function() {

this.startDrag(false, begrenzung_mc._x, begrenzung_mc._y, begrenzung_mc._x + begrenzung_mc._width, begrenzung_mc._y + begrenzung_mc._height );

this.onEnterFrame = function(){
distanzAusrechnen(this);
}
}

MEL04_mc.onRelease = MEL04_mc.onReleaseOutside = function() {

this.stopDrag();
delete this.onEnterFrame;
}


function prozAusrechnen(whatClip) {

trace ("ich bin da: " + whatClip + "//" + begrenzung_mc._x);

//ecke entfernung oben links = ecke1
distx2 = (whatClip._x - begrenzung_mc._x)*(whatClip._x - begrenzung_mc._x);
disty2 = (whatClip._y - begrenzung_mc._y)*(whatClip._y - begrenzung_mc._y);

trace("XX: " + whatClip._x);

distsum = distx2 + disty2;
distentEcke1 = Math.sqrt(distsum);
//ecke1.text = distentEcke1;
ecke1.text = distentEcke1;
trace("vvvv: " + distentEcke1);

//ecke entfernung oben rechts = ecke2
distx2 = ((begrenzung_mc._x + begrenzung_mc._width) - whatClip._x)*((begrenzung_mc._x + begrenzung_mc._width) - whatClip._x)
//disty2 = whatClip._y - begrenzung_mc._y*whatClip._y - begrenzung_mc._y

distsum = distx2 + disty2
distentEcke2 = Math.sqrt(distsum);
ecke2.text = distentEcke2;

//ecke entfernung unten rechts = ecke3

//distx2 = ((begrenzung_mc._x + begrenzung_mc._width) - whatClip._x)*((begrenzung_mc._x + begrenzung_mc._width) - whatClip._x)
disty2 = ((begrenzung_mc._y + begrenzung_mc._height) - whatClip._y)*((begrenzung_mc._y + begrenzung_mc._height) - whatClip._y)

distsum = distx2 + disty2;
distentEcke3 = Math.sqrt(distsum);
ecke3.text = distentEcke3;

//ecke entfernung unten links = ecke4

distx2 = (whatClip._x - begrenzung_mc._x)*(whatClip._x - begrenzung_mc._x)
//disty2 = ((begrenzung_mc._y + begrenzung_mc._height) - whatClip._y)*((begrenzung_mc._y + begrenzung_mc._height) - whatClip._y)

distsum = distx2 + disty2
distentEcke4 = Math.sqrt(distsum);
ecke4.text = distentEcke4;
trace(" ---- " + ecke4);
weitesteEcke = distentEcke1;
if (distentEcke2>weitesteEcke) {
weitesteEcke = distentEcke2;
}

if (distentEcke3>weitesteEcke) {
weitesteEcke = distentEcke3;
}

if (distentEcke4>weitesteEcke) {
weitesteEcke = distentEcke4;
}
trace ("weiteste ecke: " + weitesteEcke);
maipulator1Dist = weitesteEcke;
distanzAusrechnen(LA04_mc); distanzAusrechnen(MEL04_mc);


}


function distanzAusrechnen(meinMovieclip) {

distx = Math.abs(meinMovieclip._x - laut_mani_mc._x);
disty = Math.abs(laut_mani_mc._y - meinMovieclip._y);
myDist = Math.sqrt((disty*disty) + (distx*distx));
trace("ton ist soviel pixel von manipulator entfen: " + myDist);

perc = Math.abs(Math.round((100*myDist)/maipulator1Dist) - 100);
myperc.text =perc + "%";
my_sound.setVolume(perc);



}
Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!