|
Beiträge: 43 Wohnort: Leonberg Registriert: Jan 2010
| 01.06.2010, 20:16
Hallo zusammen,
ich versuche gerade einen Sound abspielen zu lassen, wenn die Maus sich an einer bestimmten x-Position befindet. Die Position erkennt er auch, und gibt sie über die Ausgabe heraus. Jedoch wird der Sound nicht gestartet. Wo liegt da der Fehler? Ich finde es leider nicht.
Vielen Dank schon einmal für die Hilfe!
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | var xachse;
var yachse;
var lied1 = new Sound();
lied1.loadSound("Musik/Dudu.mp3", true);
var mouseListener:Object = new Object();
mouseListener.onMouseMove = function() {
xachse = _xmouse;
yachse = _ymouse;
box1_txt.text = xachse;
if (xachse > 99) {
lied1.start();
trace (xachse);
};
};
Mouse.addListener(mouseListener);
|
Viele Grüße Jule |
|
|
Beiträge: 43 Wohnort: Leonberg Registriert: Jan 2010
Themenautor/in
| 01.06.2010, 21:27
Ok es hat jetzt doch noch geklappt. Der Sound wird jetzt abgespielt, wenn die Maus sich in einem bestimmten Bereich befindet.
Jetzt hab ich jedoch das Problem, dass wenn ich die Maus weiter bewege der Sound immer wieder von vorne abspielt wird, bevor er zu Ende ist. Wie kann ich es lösen, das es erst bis zum Ende abgespielt?
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | var xachse;
var yachse;
var lied1 = new Sound();
lied1.loadSound("Musik/Dudu.mp3", true);
lied1.stop();
var mouseListener:Object = new Object();
mouseListener.onMouseMove = function() {
xachse = _xmouse;
yachse = _ymouse;
box1_txt.text = xachse;
if (xachse > 99 && xachse < 231) {
lied1.start();
trace (xachse);
};
};
Mouse.addListener(mouseListener);
|
Vielen Dank! Grüße, Jule |
|
|
Beiträge: 189 Wohnort: Rostock Registriert: Jan 2007
| 02.06.2010, 13:14
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | var xachse;
var yachse;
var lied1 = new Sound();
lied1.loadSound("Musik/Dudu.mp3", true);
lied1.stop();
var mouseListener:Object = new Object();
mouseListener.onMouseMove = function() {
xachse = _xmouse;
yachse = _ymouse;
box1_txt.text = xachse;
if (xachse >= 99 && xachse <= 231) {
lied1.start();
trace (xachse);
} else {
lied1.stop();
}
};
Mouse.addListener(mouseListener);
|
|
Geändert von daxs am 02.06.10 um 13:15 Uhr | |
|
|
Beiträge: 43 Wohnort: Leonberg Registriert: Jan 2010
Themenautor/in
| 02.06.2010, 13:23
Danke für deine Antwort.
Jedoch hat es leider nichts geändert. Wenn ich in das Feld die Maus reinbewege wird der Sound abgespielt aber startet sofort wieder von vorne, wenn ich die Maus in dem Feld weiterbewege und wird nicht bis zum Ende abgespielt.
Ist es möglich einzustellen, dass der Sound ersteinmal bis zum Ende abgespielt wird, auch wenn man die Maus in dem Feld weiterbewegt? |
|
|
Beiträge: 189 Wohnort: Rostock Registriert: Jan 2007
| 02.06.2010, 13:40
Alles klar. jetzt weiß ich was du meinst: Du musst per variable feststellen, ob der sound schon abgespielt wird:
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 | _root.playing=0
var xachse;
var yachse;
var lied1 = new Sound();
lied1.loadSound("Musik/Dudu.mp3", true);
lied1.stop();
var mouseListener:Object = new Object();
mouseListener.onMouseMove = function() {
xachse = _xmouse;
yachse = _ymouse;
box1_txt.text = xachse;
if (xachse >= 99 && xachse <= 231) {
if(_root.playing==0){
lied1.start();
_root.playing=1;
trace (xachse);
}
} else {
lied1.stop();
_root.playing=0
}
};
Mouse.addListener(mouseListener);
|
|
Geändert von daxs am 02.06.10 um 13:42 Uhr | |
|
|
Beiträge: 43 Wohnort: Leonberg Registriert: Jan 2010
Themenautor/in
| 02.06.2010, 14:02
Super! Vielen Dank!
Jetzt spielt er das Lied bis zum Ende. Jedoch wird es wenn man aus das Feld rauskommt gleich wieder gestoppt.
Kurz zu dem, was ich am Ende haben möchte: Ich habe mehrere Felder, denen jeweils ein anderer Sound zugeordnet ist. Und immer wenn man in ein Feld kommt, soll der Sound abgespielt werden bis zum Ende (so wie es jetzt ist). Wenn ich dann in das nächste Feld rübergehe, soll dann auch dort der Sound abgespielt werden. Allerdings soll der Sound vom ersten Feld dann nicht gestoppt werden, sondern trotzdem weiterhin bis zum Ende spielen, so dass sie sich auch überlagern können die Sounds
Wie kann ich das Problem dann noch lösen?
Ich hoffe du verstehst was ich meine :) |
|
|
Beiträge: 189 Wohnort: Rostock Registriert: Jan 2007
| 02.06.2010, 14:18
Nimm mal beim
ActionScript:1 2 3 4 | else {
lied1.stop();
_root.playing=0
}
|
das
raus.
Spielt er das lied jetzt zu ende ohne es danach zu wiederholen? |
Geändert von daxs am 02.06.10 um 14:21 Uhr | |
|
|
Beiträge: 189 Wohnort: Rostock Registriert: Jan 2007
| 02.06.2010, 14:20
Dann musst du noch verschiedene lieder definieren (für die buttons) bzw. das gleiche lied in unterschiedliche sounds reinlegen. Diese sounds musst du dann jeweils mit den buttons ansteuern:
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 | lied1.loadSound("Musik/Dudu.mp3", true);
lied2.loadSound("Musik/Dadu.mp3", true);
lied3.loadSound("Musik/Didu.mp3", true);
lied4.loadSound("Musik/Dodu.mp3", true);
//oder
lied1.loadSound("Musik/Dudu.mp3", true);
lied2.loadSound("Musik/Dudu.mp3", true);
lied3.loadSound("Musik/Dudu.mp3", true);
lied4.loadSound("Musik/Dudu.mp3", true);
|
|
Geändert von daxs am 02.06.10 um 14:21 Uhr | |
|
|
Beiträge: 43 Wohnort: Leonberg Registriert: Jan 2010
Themenautor/in
| 02.06.2010, 15:57
Vielen lieben Dank, jetzt ist es genau so, wie ich es wollte :)
Hier mal der Code wie es jetzt aussieht:
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 | _root.playing=0
var xachse;
var yachse;
var lied1 = new Sound();
var lied2 = new Sound();
lied1.loadSound("Musik/sound1.mp3", true);
lied2.loadSound("Musik/sound2.mp3", true);
lied1.stop();
lied2.stop();
var mouseListener:Object = new Object();
mouseListener.onMouseMove = function() {
xachse = _xmouse;
yachse = _ymouse;
box1_txt.text = xachse;
if (xachse >= 99 && xachse <= 231) {
if(_root.playing==0){
lied1.start();
_root.playing=1;
}
} else {
_root.playing=0
}
if (xachse >= 299 && xachse <= 431) {
if(_root.playing==0){
lied2.start();
_root.playing=1;
}
} else {
_root.playing=0
}
};
Mouse.addListener(mouseListener);
|
Ich muss das ganze jetzt nur noch mit 80 Sounds machen. Irgendwie kürzer schreiben kann man das nicht oder, das ich den Code etwas verkürzen kann bei 80 Sounds? |
|
|
Beiträge: 189 Wohnort: Rostock Registriert: Jan 2007
| 02.06.2010, 16:35
Naja vielleicht mit einer for-Schleife... |
|
|
Beiträge: 43 Wohnort: Leonberg Registriert: Jan 2010
Themenautor/in
| 03.06.2010, 18:31
Ok, viele Dank nochmal! Hast mir sehr geholfen :) |
|