Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 31-01-2004, 15:58   #1 (permalink)
istvan
Gast
 
Beiträge: n/a
Text bei Mouseover

Hallo,
ich bin absoluter Anfänger in Flash.
Ich möchte ein Flashmovie aus PHP ansteuern. Es geht um eine Interaktive Landkarte.
Ich bin soweit gekommen, dass ich die Daten aus XML auslesen und nur die Städte in XML anzeige, die in der XML-Datei angegeben sind. Ich möchte nun einen Textfeld (zunächst, später eine Blase) bei jeder Stadt bei MouseOver-Ereigniss anzeigen, der wieder aus der XML-File Daten zu dieser Stadt anzeigt.
Mein Problem ist, das ich den Codeteil:
_root.createTextField("mytext",1,1,300,200,200);
mytext.text = "Text aus XML-File";
ums verrecken nicht so plazieren kann, dass es auch ausgeführt wird, wenn ich mit der Maus über den Punkt fahre.
Kann mir jemand einen Tipp geben, wie ich weitermachen soll, oder wo ich suchen könnte.

Danke im voraus
  Mit Zitat antworten
Alt 31-01-2004, 16:36   #2 (permalink)
Flash & TYPO3
 
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 2.700
Also wenn deine Stadtnamen in einem MC sind hab ich was Gutes...
Angehängte Dateien
Dateityp: zip flash-alt-tag.zip (5,7 KB, 27x aufgerufen)
johanness ist offline   Mit Zitat antworten
Alt 31-01-2004, 16:51   #3 (permalink)
istvan
Gast
 
Beiträge: n/a
Cool

Auf den ersten Blick ist das ziemlich genau das, was ich brauche. Ich versuche mich mal durchzubeissen und auf meinen Fall umzuzupfen.
Na, vielleicht wird es doch noch was...

Tausen Dank.
  Mit Zitat antworten
Alt 31-01-2004, 17:19   #4 (permalink)
istvan
Gast
 
Beiträge: n/a
Das klappt soweit 1A.

Ich habe nun das Problem, dass ich den Code onRollOver und on RollOut gerne in meine XMLparse Schleife einfügen möchte, wo die Daten aus XML ausgelesen werden.

Dazu dachte ich folgendes (Sorry, ich habe noch nicht raus, wie ich das Code "highlighten" kann):


function parseXML() {
// This functions parses the XML Data passed to it.
// cldNodes array will contains the child nodes of
// the XML Doc passed to it.
cldnodes = new Array();
cldnodes = XMLDoc.childNodes;
num = 0;
for (j=0; j<=cldnodes.length; j++) {
if (cldnodes[j].nodeName.toUpperCase() == "GRAPH") {
dataset = cldnodes[j].childNodes;
for (k=0; k<=dataset.length; k++) {
if (dataset[k].nodeName == "set") {
setProperty (




---- hier setze ich die Städte sichtbar, die in der XML-Datei vorhanden sind-----



dataset[k].attributes.name, _visible, true);

-----Jetzt dachte ich, ich könnte das Event-Handling hier auch implementieren, wie folgt:

_root.hancnover.setTitle("Abendhimmel rot");
_root[dataset[k].nodeName].onRollOver=function() {
this.useTitle();
}
_root[dataset[k].nodeName].onRollOut=function() {
this.disableTitle();
}

}
}
}
}

}

Mache ich in der Syntax einen Fehler, oder ist est generell nicht möglich so zu verfahren.

Danke im voraus.
  Mit Zitat antworten
Alt 31-01-2004, 17:52   #5 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060
generell geht das:
ActionScript:
  1. arg="mc"
  2. _root[arg].onPress=function()
  3. {
  4.     trace(this)
  5. }

du mußt nur darauf achten, daß bei den zuweisungen alle benötigten daten und instanzen vorhanden sind.
warrantmaster ist offline   Mit Zitat antworten
Alt 31-01-2004, 18:05   #6 (permalink)
istvan
Gast
 
Beiträge: n/a
Wo könnte in diesem Code der Fehler liegen:

if (dataset[k].nodeName == "set") {
arg=dataset[k].attributes.name
setProperty ( arg, _visible, true);
------bis hierhin tut's


_root[arg].setTitle(arg);
_root[arg].onRollOver=function() {
this.useTitle();
}
_root[arg].onRollOut=function() {
this.disableTitle();
}
}
  Mit Zitat antworten
Alt 31-01-2004, 18:15   #7 (permalink)
istvan
Gast
 
Beiträge: n/a
Ich habe vergessen zu sagen, dass wenn ich die Eventcodes mit den einzelnen Namen einfüge, dann klappt's; nur in der Schleife nicht.
  Mit Zitat antworten
Alt 31-01-2004, 18:23   #8 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060
hab ich oben geschrieben...

ActionScript:
  1. m = new XML();
  2. m.ignoreWhite = true;
  3. m.onLoad = function(ok)
  4. {
  5.     if (ok)
  6.     {
  7.         arg = this.firstChild.childNodes[0];
  8.         _root[arg].onPress = function()
  9.         {
  10.             trace(this);
  11.         };
  12.     }
  13. };
  14. m.load('probe.xml');




die zuweisung muß im onload des xml-objektes liegen.
oder du legst es in eine funktion:

ActionScript:
  1. m = new XML();
  2. m.ignoreWhite = true;
  3. m.onLoad = function(ok)
  4. {
  5.     if (ok)
  6.     {
  7.         arg = this.firstChild.childNodes[0];
  8.         funktionen(arg)
  9.     }
  10. };
  11. function funktionen(arg)
  12. {
  13.     _root[arg].onPress = function()
  14.     {
  15.         trace(this);
  16.     };
  17. }
  18. m.load('probe.xml');

grz
warrantmaster ist offline   Mit Zitat antworten
Alt 31-01-2004, 20:07   #9 (permalink)
istvan
Gast
 
Beiträge: n/a
Ich glaube, ich sehe nicht richtig.
Nach drei Stunden rumprobieren funktioniert's!

Danke, danke, danke!!!

Und nochmal tausend Dank.
  Mit Zitat antworten
Alt 31-01-2004, 21:34   #10 (permalink)
istvan
Gast
 
Beiträge: n/a
Jetzt habe ich aber doch noch ein Problem.
Bei mir lokal läuft alles 1A.
Wenn ich aber das Zeug zu meinem Provider hochlade werden die Teile des Scripts nicht ausgeführt, die mit der XML-Datei zusammenhängen. Muss man da auf etwas bestimmtes achten bem Hochladen? Die XML-Datei ist in dem gleichen Verzeichnis, wie die swf-Datei. Die Pfade müssten stimmen
  Mit Zitat antworten
Alt 31-01-2004, 22:45   #11 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060
die serverrechte richtig vergeben ?
warrantmaster ist offline   Mit Zitat antworten
Alt 31-01-2004, 23:01   #12 (permalink)
istvan
Gast
 
Beiträge: n/a
Es klappt mittlerweile.
Ich weiss nicht genau, woran es lag; auf jeden Fall an der XML-File. Ich habe es jetzt in bynary-mode hochgeladen, und ein Bindestrich vom Anfang der Datei rausgeholt.
Das Ergebnis kann man ansehen auf

http://www.travelgrove.com/projekt/t...ove.php?site=6

Dort auf Europa klicken und über ein Kreuz mit der Maus.
Der Rest der Seite ist noch eine einzige Baustelle.

Die Hilfe hier war echt 1A. Alleine hätte ich's nie geschafft, zumal ich Flash vorgestern zum ersten mal gesehen habe.
Na ja, auf jeden Fall nochmal ganz herzlichen Dank an alle, die sich die Mühe gemacht haben.
  Mit Zitat antworten
Alt 31-01-2004, 23:04   #13 (permalink)
istvan
Gast
 
Beiträge: n/a
Ich sehe gerade, dass die URL abgeschnitten wurde.
Hier das abgeschnittene Teil:

.../travel_grove.php?site=6[/url]
  Mit Zitat antworten
Alt 31-01-2004, 23:19   #14 (permalink)
istvan
Gast
 
Beiträge: n/a
Ich sehe gerade, dass vom URL noch mehr abgeschnitten wurde, als ich zum ersten mal gesehen habe.
Also hier das definitiv richtige:
www.travelgrove.com
/projekt/travel/php
/travel_grove.php?site=6
  Mit Zitat antworten
Alt 31-01-2004, 23:25   #15 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060
neenee, der erste link klappt schon

btw, das ist so klein+verwaschen, das kann kein mensch lesen.
auch die kreuze findet ohne anleitung niemand als rollover.
mach mal die rollover fläche größer.
warrantmaster 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 09:52 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele