Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-12-2005, 10:48   #1 (permalink)
Neuer User
 
Benutzerbild von Pilzbauer
 
Registriert seit: Dec 2005
Beiträge: 10
Question ActionScript dynamisch erweitern

Hallo,
Ich arbeite schon des längeren mit Flash aber mit ActionScript habe ich jedoch noch nicht viel Erfahrung. Zwar werde ich aus den Scripten schlau, aber mit dem selber schreiben hapert es leider noch.

Ich habe folgendes Problem:
Gestern habe ich mir einen Code von der Seite FlashHilfe.de gezogen und ihn soweit ich konnte meinen Ansprüchen angepasst. Jedoch bin ich mit dem Ergebnis noch nicht zufrieden.

Ich möchte die .swf dynamisch gestallten, sprich das man die Buttons extern ändern kann, ohne extra die .fla ändern zu müssen.
Also müssen Variablen her die aus einer MySQL Datenbank ausgelesen werden, diese habe ich auch schon erstellt:

PHP-Code:
-- Tabellenstruktur für Tabelle `flash_var`
-- 

CREATE TABLE `flash_var` (
  `
idint(11NOT NULL auto_increment,
  `
namevarchar(250NOT NULL default '',
  `
linkvarchar(250NOT NULL default '',
  
PRIMARY KEY  (`id`)
TYPE=MyISAM AUTO_INCREMENT=;

-- 
-- 
Daten für Tabelle `flash_var`
-- 

INSERT INTO `flash_varVALUES (1'Name1''http://link.de/');
INSERT INTO `flash_varVALUES (2'Name2''http://link.de/'); 
Eine Verbindung per PHP habe ich auch schon erstellt:
flash_var.php:
PHP-Code:
<?php
mysql_connect
("localhost""v093487""123456");
mysql_select_db("v093487");

$query "SELECT * FROM flash_var ORDER BY id DESC";
$vars mysql_query($query);
$row_vars mysql_fetch_assoc($vars);
?>
Nun weiß ich aber leider nicht mehr wie es weiter gehen soll bzw. wie ich die Variablen am besten auslesen kann.
Was ich gerne haben möchte:
1. Er soll an Hand der Variable "id" sehen wie viele Buttons erstellt werden müssen.
2. Im Array soll er jeweils den Namen des Links festlegen und die Verlingung an sich.

Wenn der Wert von "id" 5 ist, sollen auch jeweils 5 Buttons da sein mit den entsprechenden Werten. Wenn aber "id" nur 2 ist, nur 2 Buttons usw.

Ich weiß nicht ob das viel Arbeit ist oder es da eine ganz einfache Lösung gibt, aber vielleicht findet sich ja Jemand der es mir gut Erklären kann oder mir vielleicht sogar den Script umschreibt.

Vielen Dank,
Pilzbauer

PHP-Code:
this.loadVariables("flash_var.php");
fscommand("allowscale""false");
// Menüeinträge
links = new Array();
links[1] = ["http://","LinkName1"];
links[2] = ["http://","LinkName2"];
links[3] = ["http://","LinkName3"];
links[4] = ["http://","LinkName4"];


// Bühnen Breite + Höhe
posX Stage.width 2;
posY Stage.height 2;

// Clips Erzeugen
anzahl links.length-1;
for (var 
1anzahl 1i++) {
    
attachMovie("clip""clip" ii);
}

// Global Signal
_global.signal=true;

// Clips auf Umlaufbahn bringen
this.onEnterFrame = function() {
    if (
signal) {
    
mausPos += ((_root._xmouse posX) / 100);
    for (var 
1anzahl 1i++) {
        
winkel = ((mausPos + (360 anzahl i)) * Math.PI) / 180;
        
this["clip" i]._x posX + (Math.sin(-winkel) * 200);
        
this["clip" i]._y posY + (Math.cos(-winkel) * 30);
        
this["clip" i]._xscale 50 + (Math.cos(winkel) * 30)
        
this["clip" i]._yscale 50 + (Math.cos(winkel) * 30);        
        
this["clip" i].swapDepths(1000 + (Math.cos(winkel) * 100));
        
this["clip" i].txtName links[i][1].toUpperCase();
        
this["clip" i].url links[i][0];
        
this["clip" i].onRelease = function() {
            
getURL(this.url"_target");
            
signal false;
        };    
        
this["clip" i].onRollOver = function() {
            
signal true;
        };
        
this["clip" i].onRollOut = function() {
            
signal true;
        };
    }
    }
};

// MX (Logo)
planet.swapDepths(1001); 

Geändert von Pilzbauer (04-12-2005 um 10:50 Uhr)
Pilzbauer ist offline   Mit Zitat antworten
Alt 04-12-2005, 11:44   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Mit loadVariables hast du so keine Chance, weil der Befehl nicht auf die Rückmeldungen des Requests wartet. Das Script wird sofort weiter abgearbeitet. Schau dir besser mal die LoadVars-Klasse an und beachte, dass Wertepaare an Flash mit Ampersands getrennt werden, z.B.
PHP-Code:
echo "&meineVar=".$meineVar."&"
  Mit Zitat antworten
Alt 04-12-2005, 12:10   #3 (permalink)
Neuer User
 
Benutzerbild von Pilzbauer
 
Registriert seit: Dec 2005
Beiträge: 10
hm, ich hab mich eben mal in der Flash Hilfe umgesehen aber um ehrlich zu sein werde ich daraus nicht wirklich schlau...
Aber danke für den Tipp
Pilzbauer ist offline   Mit Zitat antworten
Alt 04-12-2005, 16:27   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
PHP-Code:
function geladen(erfolgreich) {
        if(
erfolgreich) {
             
trace("this.meineVar="+this.meineVar);        
        }
        else {
                
trace("Fehler beim Laden");
        }
}
LadeObj = new LoadVars();//neues Objekt instanziieren
LadeObj.onLoad geladen;//diesem Objekt eine Callbackfunktion zuweisen, die dann die Rückgabewerte erhält
LadeObj.sendAndLoad("meineDatei.php",LadeObj,"POST");//und den HTTP-Request starten 
  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 05:19 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele