Flashhilfe.de - Flash Community

Crossfade zwischen Soundflächen (MC) [Flash 9]

 


AntwortenRegistrieren Seite1  

anbine#1
Benutzerbild von anbine
Beiträge: 16
Registriert: Jan 2009

28.11.2011, 10:46

Hallo Liebe Flasher,

Ich arbeite mit zwei Movieclips, die Sounds jeweils beinhalten (per Actionscript). Soweit funktioniert das auch alles, wenn ich mit der Maus drüber fahre wird der Sound lauter und wenn ich wieder raus gehe leiser. Allerdings brauche ich immer einen leeren Raum dazwischen, wenn ich meine beiden Soundfelder nebeneinander lege um hin und her zu springen funktioniert das leider nicht. Ich hoffe ihr könnt mir weiter helfen. Anbei meine Flash-Datei zum besseren verstehen. http://dl.dropbox.com/u/29613119/Unbenannt-2.fla
Schlagwörter: Crossfade, Sound
ashitaka#2
Benutzerbild von ashitaka
Beiträge: 161
Registriert: Apr 2010

28.11.2011, 11:19

die datei ist zwar riesengroß,
aber sounds hör ich keine :(

außerdem willst du doch 2 verschiedene sounds haben,
überschribst aber auf dem 2. button deinSound:Sound  und übrigens auch vol_txt.
Zeitleisten-Programmierung ist böse! löst euch von der Zeitleiste -> benutzt Flashdevelop!
Antworten auf Flash AS3 Fragen.
Flash Programmierer
anbine#3
Benutzerbild von anbine
Beiträge: 16
Registriert: Jan 2009

Themenautor/in

28.11.2011, 13:48

ah ok hier noch mal eine andere Datei http://dl.dropbox.com/u/29613119/sound-test.swf Ja ich will eigentlich mehr Soundflächen die man durch die crossfades "abfahren" kann mit der maus.
anbine#4
Benutzerbild von anbine
Beiträge: 16
Registriert: Jan 2009

Themenautor/in

30.11.2011, 14:18

Ich würde mich sehr freuen wenn mir jemand hefen könnte. Ich danke im Voraus!
ashitaka#5
Benutzerbild von ashitaka
Beiträge: 161
Registriert: Apr 2010

30.11.2011, 14:40

Ich hab ja schon was dazu geschrieben, aber du gehst überhaupt nicht darauf ein.
das gepostete swf bringt da leider auch wenig.
Zeitleisten-Programmierung ist böse! löst euch von der Zeitleiste -> benutzt Flashdevelop!
Antworten auf Flash AS3 Fragen.
Flash Programmierer
anbine#6
Benutzerbild von anbine
Beiträge: 16
Registriert: Jan 2009

Themenautor/in

30.11.2011, 14:51

Oh ok, sorry, also ich habe bei dem zweiten Button den vol.txt raus gemacht wenn ich aber wie du gesagt hast bei "deinSound:Sound" das "Sound" weg mache, passiert gar nichts mehr. Oder wie hast du das gemeint mit überschreiben?
RustyCake#7
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

01.12.2011, 16:46

Du sollst das "Sound" nicht weg machen, sondern zwei Sound-Objekte Generieren, mit denen Du dann arbeiten kannst.
deinSound1:Sound und deinSound2:Sound zb.
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
anbine#8
Benutzerbild von anbine
Beiträge: 16
Registriert: Jan 2009

Themenautor/in

01.12.2011, 21:14

Ok, wenn ich das änder läuft der Sound allerdings gar nicht mehr bisher laufen die zwei Sounds ja aber mein Wunsch ist es ja zwischen den beiden Soundflächen (mc) hin und her zu springen so das sich beide Sounds beim Übergang faden.
Mein bisheriger Code:

var basisVolume = 0;
var deltaVolume = 2;



deinButton2.onRollOver=function(){
      delete this.onEnterFrame;
      this.onEnterFrame = function(){
         deinSound.setVolume(deinSound.getVolume()+deltaVolume);
         updateVolText();
         deinSound.getVolume() >= 100 ? delete this.onEnterFrame : null;
      };   
   };
   
deinButton2.onRollOut=function(){
      delete this.onEnterFrame;
      this.onEnterFrame = function(){
         deinSound.setVolume(deinSound.getVolume()-deltaVolume);
         updateVolText();
         deinSound.getVolume() <= basisVolume ? delete this.onEnterFrame : null;
      };   
   };
   
   
var deinSound:Sound = new Sound();
     deinSound.attachSound("deinSoundFile2");
   
     deinSound.setVolume(basisVolume);
    deinSound.start();
updateVolText();
   
deinSound.onSoundComplete = function() {
   this.start();
};
ashitaka#9
Benutzerbild von ashitaka
Beiträge: 161
Registriert: Apr 2010

02.12.2011, 10:50

in dem code ist ja eben nur 1 Sound drin.

du musst sauber trennen zwischen sound1, button1 und sound2, button2.
ausserdem hast du nur 1 Textfeld, das die Volume anzeigt.
Auch da wären 2 hilfreich um zu debuggen.
Zeitleisten-Programmierung ist böse! löst euch von der Zeitleiste -> benutzt Flashdevelop!
Antworten auf Flash AS3 Fragen.
Flash Programmierer
Geändert von ashitaka am 02.12.11 um 10:52 Uhr
anbine#10
Benutzerbild von anbine
Beiträge: 16
Registriert: Jan 2009

Themenautor/in

02.12.2011, 10:59

In dem Code ja ich habe aber quasi jeden MC (soundfläche) mit solch einem Code "hinterlegt" und da wird auch getrennt zwischen Button1 /2 wenn ich allerdings auch "deinsound" trenne, sprich deinsound1 /deinsound2 läuft der ton gar nicht mehr.. Ich steh ein wenig auf dem Schlauch, aber ich hoffe dennoch auch Hilfe

herzlichen Dank
ashitaka#11
Benutzerbild von ashitaka
Beiträge: 161
Registriert: Apr 2010

04.12.2011, 14:48

so gehts:

die sounds in der lib müssen Sound1 und Sound2 heissen

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
var basisVolume = 0;
var deltaVolume = 2;

this.createTextField("vol_txt1",this.getNextHighestDepth(),25,50,100,20);

deinButton.onRollOver=function(){
     delete this.onEnterFrame;
     this.onEnterFrame = function(){
        snd1.setVolume(snd1.getVolume()+deltaVolume);
        updateVolText1();
        snd1.getVolume() >= 100 ? delete this.onEnterFrame : null;
     };   
};
   
deinButton.onRollOut=function(){
     delete this.onEnterFrame;
     this.onEnterFrame = function(){
        snd1.setVolume(snd1.getVolume()-deltaVolume);
        updateVolText1();
        snd1.getVolume() <= basisVolume ? delete this.onEnterFrame : null;
     };   
};
   
   
var snd1:Sound = new Sound(deinButton);
snd1.attachSound("Sound1");
snd1.setVolume(basisVolume);
snd1.start();
updateVolText();
   
snd1.onSoundComplete = function() {
     this.start();
};

function updateVolText1(){
     
     vol_txt1.text"Vol1: "+snd1.getVolume();   
                    
}


ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
var basisVolume = 0;
var deltaVolume = 2;

this.createTextField("vol_txt2",this.getNextHighestDepth(),125,50,100,90);

deinButton2.onRollOver=function(){
     delete this.onEnterFrame;
     this.onEnterFrame = function(){
        snd2.setVolume(snd2.getVolume()+deltaVolume);
        updateVolText2();
        snd2.getVolume() >= 100 ? delete this.onEnterFrame : null;
     };   
};
   
deinButton2.onRollOut=function(){
     delete this.onEnterFrame;
     this.onEnterFrame = function(){
        snd2.setVolume(snd2.getVolume()-deltaVolume);
        updateVolText2();
        snd2.getVolume() <= basisVolume ? delete this.onEnterFrame : null;
     };   
};
   
   
var snd2:Sound = new Sound(deinButton2);
snd2.attachSound("Sound2");
snd2.setVolume(basisVolume);
snd2.start();
updateVolText();
   
snd2.onSoundComplete = function() {
     this.start();
};

function updateVolText2(){
     vol_txt2.text"Vol2: "+snd2.getVolume();   
     
                    
}
Zeitleisten-Programmierung ist böse! löst euch von der Zeitleiste -> benutzt Flashdevelop!
Antworten auf Flash AS3 Fragen.
Flash Programmierer


Angehängte Dateien:
Adobe Flash Animationen sndfade.swf85.13 KB
anbine#12
Benutzerbild von anbine
Beiträge: 16
Registriert: Jan 2009

Themenautor/in

05.12.2011, 10:35

Ich danke dir echt vielmals!!!!!!! Merci

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2021 Sebastian Wichmann - Flashhilfe.de