Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 14-07-2011, 08:44   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2010
Beiträge: 61
bestimmte anzahl an MCs createn

Hallo ich bin's nochmal.
Und zwar möchte ich eine bestimmte Anzahl an MCs erstellen, welche nebeneinander angeordnet werden und in welche dann ein Bild aus einer XML hineingeladen werden soll. So wie ich es bis jetzt gemacht habe passiert leider nichts. Ich weiß auch nicht wie ich vermitteln kann, dass sich jeder MC vom vorherigen um 20 Pixel nach rechts verschiebt. (unter Thumbnails)

liege = new XML();
liege.ignoreWhite = true;
liege.load("liege.xml");
var j=0;
var produkt_liege:Number=0;
var farbeliege="royal";
var pl;

liege.onLoad = function(status) {
if (status && this.loaded) {
anzahl_produkte_liege= liege.firstChild.childNodes.length;
anzahl_liege = liege.firstChild.childNodes[produkt_liege].childNodes.length;
geladen_liege = true;
ladeBild_liege(j);
}
};

template_liege._xscale = template_liege._xscale/2;
template_liege._yscale = template_liege._yscale/2;
template_liege.loaded = true;

onEnterFrame = function () {
for(j=0;j<anzahl_liege+1;j++){
if (liege.firstChild.childNodes[produkt_liege].childNodes[j].attributes.farbe==farbeliege){
trace("hit");
trace(j);
};}}

// Funktion, welche die Daten der XML-Datei verarbeitet



function ladeBild_liege(j) {
bild_liege = liege.firstChild.childNodes[produkt_liege].childNodes[j].attributes.pic;
bildname_liege = liege.firstChild.childNodes[produkt_liege].childNodes[j].attributes.name;
loadMovie(bild_liege, "template_liege");}

//Thumbnails//
function loadThumbs (){
thumb_bild_liege=liege.firstChild.childNodes[pl].attribute.pic;
for (pl=0; pl<anzahl_produkt_liege; pl++) {
_root.createEmptyMovieClip("thumb_liege"+pl, pl+50);
["thumb_liege"+pl]_y=500;
["thumb_liege"+pl]_yscale=50;
["thumb_liege"+pl]_xscale=50;
loadMovie(thumb_bild_liege,["thumb_liege"+pl]);

}}
Rareer ist offline   Mit Zitat antworten
Alt 14-07-2011, 09:05   #2 (permalink)
Neuer User
 
Registriert seit: Dec 2010
Beiträge: 61
also ich habe schon einen Fehler gefunden. nämlich war der Pfad zu dem Bild in der XML falsch...jetzt ists so: (geht aber immernoch nicht)

function loadThumbs (pl){
thumb_bild_liege=liege.firstChild.childNodes[pl].childNodes[1].attribute.pic;
for (pl=0; pl<anzahl_produkte_liege; pl++) {
_root.createEmptyMovieClip("thumb_liege"+pl, pl+50);
["thumb_liege"+pl]_y=500;
["thumb_liege"+pl]_yscale=50;
["thumb_liege"+pl]_xscale=50;
loadMovie(thumb_bild_liege,["thumb_liege"+pl]);

}}
Rareer ist offline   Mit Zitat antworten
Alt 14-07-2011, 09:42   #3 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.164
PHP-Code:
["thumb_liege"+pl
Das hier ist keine Referenz auf ein Bild, sondern ein Array mit einem String Element. Eine dynamische Referenz müsste so aussehen:
PHP-Code:
_root["thumb_liege"+pl
In jedem Fall muss hinter der ] aber ein Punkt stehen:
PHP-Code:
_root["thumb_liege"+pl]._xscale 50
Mehr Informationen zum Thema Klammersyntax habe ich vor einiger Zeit hier zusammengestellt.


Grundsätzlich würde ich Dir aber empfehlen, ganz auf diese Syntax zu verzichten und stattdessen mit einer lokalen Variablen zu arbeiten:
PHP-Code:
var thumb_bild_liege:String liege.firstChild.childNodes[pl].childNodes[1].attribute.pic;

for (var 
pl:Number 0pl anzahl_produkte_liegepl++) {
    var 
mc:MovieClip _root.createEmptyMovieClip("thumb_liege" plpl 50);
    
mc._y 500;
    
mc._yscale 50;
    
mc._xscale 50;
    
mc.loadMovie(thumb_bild_liege);

Ach ja: Du solltest Deinen Code als solchen markieren ([PHP]), wenn Du ihn hier postest, dann kann man ihn auch besser lesen
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!

Geändert von Martin Kraft (14-07-2011 um 10:03 Uhr)
Martin Kraft ist gerade online   Mit Zitat antworten
Alt 14-07-2011, 10:02   #4 (permalink)
Neuer User
 
Registriert seit: Dec 2010
Beiträge: 61
Danke schonmal für deine Antwort.
Ich habe jetzt mal deinen Code verwendet. bei der ersten Zeile (also import flash.display.MovieClip kommt eine Fehlermeldung dass er die Klasse nich laden könnte. Wofür wäre die eigentlich verantwortlich? (bin noch anfänger)
Weiter bräuchte ich noch einen Tip wie ich die ganzen MCs nebeneinander Positionieren kann.
Rareer ist offline   Mit Zitat antworten
Alt 14-07-2011, 10:05   #5 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.164
Zitat:
Zitat von Rareer Beitrag anzeigen
Danke schonmal für deine Antwort.
Ich habe jetzt mal deinen Code verwendet. bei der ersten Zeile (also import flash.display.MovieClip kommt eine Fehlermeldung dass er die Klasse nich laden könnte. Wofür wäre die eigentlich verantwortlich? (bin noch anfänger)
Ups - sorry, das ist mir reingerutscht, weil ich den Code in einem AS3-Editor geschrieben habe. In AS1/2 solltest Du das einfach weglassen.

Zitat:
Zitat von Rareer Beitrag anzeigen
Weiter bräuchte ich noch einen Tip wie ich die ganzen MCs nebeneinander Positionieren kann.
PHP-Code:
var breite:Number 200;
for (var 
pl:Number 0pl anzahl_produkte_liegepl++) {
    var 
mc:MovieClip _root.createEmptyMovieClip("thumb_liege" plpl 50);
    
mc._x breite pl;
    
mc._y 500;
    
mc._yscale 50;
    
mc._xscale 50;
    
mc.loadMovie(thumb_bild_liege);

__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!

Geändert von Martin Kraft (14-07-2011 um 10:17 Uhr)
Martin Kraft ist gerade online   Mit Zitat antworten
Alt 14-07-2011, 10:11   #6 (permalink)
Neuer User
 
Registriert seit: Dec 2010
Beiträge: 61
schön, dass du so schnell antwortest

leider werden aber noch keine bilder geladen. hier nochmal der gesamte code:

PHP-Code:

liege 
= new XML();
liege.ignoreWhite true;
liege.load("liege.xml");
var 
j=0;
var 
produkt_liege:Number=0;
var 
farbeliege="royal";
var 
breite 100;

liege.onLoad = function(status) {
    if (
status && this.loaded) {
        
anzahl_produkte_liegeliege.firstChild.childNodes.length;
        
anzahl_liege liege.firstChild.childNodes[produkt_liege].childNodes.length;
        
geladen_liege true;
        
ladeBild_liege(j);
        
    }
};
    
template_liege._xscale template_liege._xscale/2;
template_liege._yscale template_liege._yscale/2;
template_liege.loaded true;
    
onEnterFrame = function () {
/*    for(j=0;j<anzahl_liege+1;j++){
        if (liege.firstChild.childNodes[produkt_liege].childNodes[j].attributes.farbe==farbeliege){*/
        
trace(j);
        
trace(liege.firstChild.childNodes[produkt_liege].childNodes[j].attributes.farbe);
};
    
// Funktion, welche die Daten der XML-Datei verarbeitet
    
function ladeBild_liege(j) {
    
bild_liege liege.firstChild.childNodes[produkt_liege].childNodes[j].attributes.pic;
    
bildname_liege liege.firstChild.childNodes[produkt_liege].childNodes[j].attributes.name;
    
loadMovie(bild_liege"template_liege");}
    

var 
thumb_bild_liege:String liege.firstChild.childNodes[pl].childNodes[1].attribute.pic;

for (var 
pl:Number 0pl anzahl_produkte_liegepl++) {
    var 
mcl:MovieClip _root.createEmptyMovieClip("thumb_liege" plpl 50);
    
mcl._x breite pl;
    
mcl._y 300;
    
mcl._yscale 100;
    
mcl._xscale 50;
    
mcl.loadMovie(thumb_bild_liege);

Rareer ist offline   Mit Zitat antworten
Alt 14-07-2011, 10:25   #7 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.164
Ich versteh Deine XML-Zugriffe nicht:
  • Wieso lädst Du bei mehreren Nodes immer das Bild aus dem j-Node?
  • Was ist j? Was produkt_liege?

  • Wie sieht denn Dein XML aus?
  • Und was hast Du eigentlich vor?
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist gerade online   Mit Zitat antworten
Alt 14-07-2011, 10:33   #8 (permalink)
Neuer User
 
Registriert seit: Dec 2010
Beiträge: 61
Also das Problem liegt unter anderm glaube ich dain, dass die variable
PHP-Code:
var thumb_bild_liege:String 
immer undefiniert bleibt.

hier die XML:

<?xml version"1.0"?>
<Bilder>
<liege1>
<Bild name="Weisse liege" pic="bilder/liege_farbe/liege1/1195schwarz.jpg" farbe="schwarz"></Bild>
<Bild name="Orange liege" pic="bilder/liege_farbe/liege1/1196royal.jpg" farbe="royal"></Bild>
<Bild name="Orange liege" pic="bilder/liege_farbe/liege1/1197anthrazit.jpg" farbe="anthrazit"></Bild>
<Bild name="weiss" pic="bilder/liege_farbe/liege1/1198weiss.jpg" farbe="weiss"></Bild>
<Bild name="Orange liege" pic="bilder/liege_farbe/liege1/1199kirsch.jpg" farbe="kirsch"></Bild>
<Bild name="Orange liege" pic="bilder/liege_farbe/liege1/1204ocean.jpg" farbe="ocean"></Bild>
<Bild name="Orange liege" pic="bilder/liege_farbe/liege1/1205chrome.jpg" farbe="chrome"></Bild>
<Bild name="Orange liege" pic="bilder/liege_farbe/liege1/1210creme.jpg" farbe="creme"></Bild>
<Bild name="Orange liege" pic="bilder/liege_farbe/liege1/1230sand.jpg" farbe="sand"></Bild>
</liege1>
<liege2>
<Bild name="Weisse liege" pic="bilder/liege_farbe/liege2/1195schwarz.jpg" farbe="schwarz"></Bild>
<Bild name="Orange liege" pic="bilder/liege_farbe/liege2/1196royal.jpg" farbe="royal"></Bild>
<Bild name="Orange liege" pic="bilder/liege_farbe/liege2/1197anthrazit.jpg" farbe="anthrazit"></Bild>
<Bild name="weiss" pic="bilder/liege_farbe/liege2/1198weiss.jpg" farbe="weiss"></Bild>
<Bild name="Orange liege" pic="bilder/liege_farbe/liege2/1199kirsch.jpg" farbe="kirsch"></Bild>
<Bild name="Orange liege" pic="bilder/liege_farbe/liege2/1204ocean.jpg" farbe="ocean"></Bild>
<Bild name="Orange liege" pic="bilder/liege_farbe/liege2/1205chrome.jpg" farbe="chrome"></Bild>
<Bild name="Orange liege" pic="bilder/liege_farbe/liege2/1210creme.jpg" farbe="creme"></Bild>
<Bild name="Orange liege" pic="bilder/liege_farbe/liege2/1230sand.jpg" farbe="sand"></Bild>
</liege2>
</Bilder>

mein ziel ist es aus dieser XML immer ein Produkt zu laden (hier z.b. liege1) welches als Thumbnail geladen wird und groß angezeigt wird. Durch das verändern von j ändert man die Farbe des Produktes. Wenn man später auf die Thumbs klickt wird dieses Bild Groß in der Mitte angezeigt und man kann wiederum für dieses dann die Farbe einstellen
Rareer ist offline   Mit Zitat antworten
Alt 14-07-2011, 10:42   #9 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.164
Zitat:
Zitat von Rareer Beitrag anzeigen
mein ziel ist es aus dieser XML immer ein Produkt zu laden (hier z.b. liege1) welches als Thumbnail geladen wird und groß angezeigt wird.
Und wieso lädst Du dann z.Z. immer dasselbe Bild?

P.S.: Markier' mal Deinen Code als solchen!
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist gerade online   Mit Zitat antworten
Alt 14-07-2011, 10:50   #10 (permalink)
Neuer User
 
Registriert seit: Dec 2010
Beiträge: 61
naja also zur Zeit wird immer das gleiche geladen, weil mir ja noch die Thumbs fehlen, welche dann das Auswählen eines anderen Produktes ermöglichen. Durch das Klicken auf das Thumb wird sozusagen immer das erste Bild (ist glaube immer schwarz) eines Produktes geladen (variable produkt_liege wird verändert) und durch das Klicken auf Farbbuttons welche dann in der swf sind verändert man das j. Allerdings soll es eigentlich so sein, dass mit klick auf den Farbbutton die variable "farbeliege" festgelegt wird und nur das bild geladen wird, wo das Attribut "farbe" dieser Variable entspricht. (siehe anderes Thema, was ich hier erstellt habe) das hab ich aber noch nicht hinbekommen
Rareer ist offline   Mit Zitat antworten
Alt 14-07-2011, 11:47   #11 (permalink)
Neuer User
 
Registriert seit: Dec 2010
Beiträge: 61
Ah ich glaube jetzt hab ichs hinbekommen. Es werden nun MCs entsprechend der XML erzeugt und mit Bildern gefüllt. Jetzt muss ich nur noch diese MC anklickbar machen und mit dem anderen Container verlinken.
Rareer ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
createemptymovieclip, dynamisch, schleife, xml

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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Flash 8] mc liste bestimmte anzahl pro seite ? palpalo Flash Einsteiger 17 05-01-2011 07:51
bestimmte Anzahl von Zeilen im Textfeld harego ActionScript 1 5 23-11-2007 22:51
Variable + bestimmte Anzahl an Frames n00b26 Flash Einsteiger 2 14-06-2006 20:18
per Script bestimmte Anzahl Movieclips erstellen frankson909 Flash MX 2004 10 08-02-2006 12:57
Bestimmte Anzahl von Zufallszahlen Falloutboy6 Flash MX 2004 3 09-11-2005 11:01


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:43 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele