Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash 8

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 19-01-2008, 15:15   #1 (permalink)
backflasher
 
Benutzerbild von SteveDragon
 
Registriert seit: Sep 2001
Ort: Darmstadt
Beiträge: 92
xml problem mit funktionsaufruf

hallo Ihr Lieben,
ich steh grad mächtig aufm Schlauch.

Ich möchte ein Menu aufbauen, über eine XML-Datei werden dynamisch Inhalte an jeden Menupunkt übergeben, z.b. Text, ein Tooltip, ein Image.

Hier die XML (auszug):
Code:
<?xml version="1.0" encoding="UTF-8"?>
<menu>
	<menupunkte>
			<icon image="icons/vu.png" tooltip="spektrum" content="unser leistungsspektrum" link="info.swf" sound="spektrum" />
</menupunkte>
.
hier das AS:

Code:
xml.onLoad = function() {
	var nodes = this.firstChild.childNodes[0].childNodes;
	numOfItems = nodes.length;
	for (var i = 0; i < numOfItems; i++)
	{	var t = home.attachMovie("item", "item" + i, i + 1);
		
// zuweisungen innerhalb der menupunkte				
		t.toolText = subtit[i].nodeValue;
		t.content = nodes[i].attributes.content;
		t.url = nodes[i].attributes.link;
		t.image = nodes[i].attributes.image;

// HIER PASSIERT DIE ZUORDNUNG DES SOUNDS? 
		t.sound = nodes[i].attributes.sound;

In meiner Library gibt es ebenfalls einen Sound, der "spektrum" heißt, er steht auf exportieren und ist über AS mit dem Identifier "spektrum" erreichbar.

myButton.onRelease = function(){
Trace(t.sound);
}
ergibt "spektrum" in der Ausgabe.

ABER bei

myButton.onRelease = function(){
t.sound.start();
}

passiert NIX , wiso?

wie kann ich erreichen, daß pro Menupunkt der passende sound aus der Lib gespielt wird?

quasi á la

t.sound.start();

Mir ist nicht klar wie ich das erreiche, übei asfunction braucht man doch einen HTML-text-Link, oder?
SteveDragon ist offline   Mit Zitat antworten
Alt 19-01-2008, 15:24   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Öhm, solltest du den Sound nicht vielleicht erstmal attachen? So irgendwie:
PHP-Code:
myButton.onRelease = function(){
var 
ms = new Sound(this)
ms.attachSound(this.sound)
ms.start(); 

__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 19-01-2008, 15:44   #3 (permalink)
backflasher
 
Benutzerbild von SteveDragon
 
Registriert seit: Sep 2001
Ort: Darmstadt
Beiträge: 92
ok, also, die sounds sind alle bereits attached,

ich habe einen hauptfilm und lade mit dem moviecliploader ein swf-file in einen container, in diesem Swf file sind die Sounds. dieses sound-swf file hat folgendes script in der Hauptleiste:

_root.mp3.spektrum = new Sound(this);
_root.mp3.spektrum.attachSound("spektrum") <--- der ist in der Library und auf export/AS


nun kann ich im Hauptfilm die Sounds abfeuern via:

_root.mp3.spektrum.start();


Wie kann ich nun für die Menupunkte, die ich in der For-schleife mit den attributes versehe, eben auch einen individuellen Sound zuweisen?

Menupunkt 1 feuert _root.mp3.spektrum ab
Menupunkt 2 feuert _root.mp3.punkt2Audio ab
Menupunkt 2 feuert _root.mp3.punkt3Audio ab
... usw.

hier mal in etwa der code für das Release
Code:
function released() {
// aufgaben pro menupunkt("t") durchführen:

	for (var i = 0; i < numOfItems; i++){	

	var t:MovieClip = home["item" + i];

// wenn dieses t NICHT das war das die funktion ausgelöst hat, dann:
		if (t != this._parent){	
			...blablabla
			}
		else
// wenn dieses t DAS t war das die funktion ausgelöst hat, dann: 
			{ 	
			....blablabla

// HIER SOLL DER SOUND ABGEFEUERT WERDEN, DER IN DER XML BEIM MENUPUNKT STEHT!!
DAS FUNKTIONIERT NICHT :
			t.sound.start();	
		} // ELSE close
	} // FOR-LOOP close
} // RELEASED close
SteveDragon ist offline   Mit Zitat antworten
Alt 19-01-2008, 15:48   #4 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Müsste dann doch so aussehen, oder?

PHP-Code:
myButton.onRelease = function(){ 
_root.mp3[this.sound].start();  

...sofern dem MC in der Variable "sound" der Name zugewiesen wurde.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 19-01-2008, 16:02   #5 (permalink)
backflasher
 
Benutzerbild von SteveDragon
 
Registriert seit: Sep 2001
Ort: Darmstadt
Beiträge: 92
Thumbs up

du bist der Knaller!!!!

Ich habe die Eckigen Klammern vergessen, jetzt funzt es!!

allerdings mit : _root.mp3[t.sound].start();


1000 Dank! You saved my day!
SteveDragon 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 18:16 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele