Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 27-02-2006, 16:21   #1 (permalink)
[Flash - Fan]
 
Benutzerbild von ElPower
 
Registriert seit: Mar 2003
Ort: Hamburg
Beiträge: 50
Dynamische zufallsanordnung von mc's

Hallo,
ich bin gerade dabei ein paar mc's dynamisch in einem Raster anzuordnen, das
funktioniert auch soweit:

PHP-Code:
            var reiter.submenu["submenuItem_"+i];
            
m._x = (i%umbruch)*(w);//horizontale anordnung
            
m._y Math.floor(i/umbruch)*(h);//vertikale anordnung zeilenumbruch bei "umbruch" 
Jetzt würde ich aber gerne noch etwas Unregelmässigkeit rein bringen, indem zufällig ab und an mal ein mc ausgelassen bzw. eine Lücke erzeugt wird.

Ich habe schon verschiedene Versuche mit Math.random() gestartet, bin aber nicht erfolgreich gewesen...
Hat vielleicht jemand eine Idee?

Beste Grüsse,
El Power
ElPower ist offline   Mit Zitat antworten
Alt 27-02-2006, 16:31   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hi!

Man wird aus den 3 Zeilen ja nicht ganz schlau, aber mach's doch so
PHP-Code:
if(random(10)==3){
var 
reiter.submenu["submenuItem_"+i];
            
m._x = (i%umbruch)*(w);//horizontale anordnung
            
m._y Math.floor(i/umbruch)*(h);//vertikale anordnung zeilenumbruch bei "umbruch"  

oder so ähnlich.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 27-02-2006, 17:03   #3 (permalink)
[Flash - Fan]
 
Benutzerbild von ElPower
 
Registriert seit: Mar 2003
Ort: Hamburg
Beiträge: 50
Hey!
Vielen Dank für Deine Antwort, leider trifft das meine Frage nicht ganz..

Also mein Anliegen ist, eine mc-"liste" zu erzeugen, die immer z.B. 3 horizontal anzeigt, dann in die nächste "Zeile" geht usw.
Jetzt würde ich gerne diese "Liste", die ungefähr so:

mc1 mc2 mc3
mc4 mc4 mc5
mc6 mc7 mc8

aussieht (funktioniert mit dem o.g. Script), so anzeigen lassen:

mc1 mc2
mc3 mc4 mc5
mc6 mc7
mc8

wobei wichtig ist dass keine mc's ausgelassen werden,
sondern nur anders angeordnet.

Ich hoffe das war jetzt einigermassen verständlich erklärt...
Beste Grüsse,
ElP.

Geändert von ElPower (27-02-2006 um 17:04 Uhr)
ElPower ist offline   Mit Zitat antworten
Alt 27-02-2006, 17:18   #4 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Aha. Dann vielleicht so ungefähr...
Angehängte Dateien
Dateityp: rar anordnen.rar (3,8 KB, 21x aufgerufen)
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 27-02-2006, 17:26   #5 (permalink)
[Flash - Fan]
 
Benutzerbild von ElPower
 
Registriert seit: Mar 2003
Ort: Hamburg
Beiträge: 50
Vielen Dank, genau so solls aussehen!

Jetzt muss ich nur noch mal etwas Nachhilfe
bei AS definitive guide nehmen, denn diese Kurz-syntax ist mir noch
nicht so recht geläufig.

Beste Grüsse,
ElP.
ElPower ist offline   Mit Zitat antworten
Alt 28-02-2006, 13:40   #6 (permalink)
[Flash - Fan]
 
Benutzerbild von ElPower
 
Registriert seit: Mar 2003
Ort: Hamburg
Beiträge: 50
noch ne Frage

Jetzt habe ich doch noch eine Frage...
Irgendwie klappts nicht mit der Integration in mein Script:

PHP-Code:
//Subnavigation
function subnavi (xmySec){
    
removeSubnavi();//vorheriges Submenu entfernen
    
var subX = -1// Abstand von der Urinstanz
    
var = -1;
    var 
subSecNum mySec;//wählen der passenden subNavigation
    
var subSectionCount subcat[subSecNum].length-1;//Zählen der subNavigationspunkte
    
var subInterval setInterval(subnaviAnordnen250);//die navigationspunkte im intervall einblenden
}
// Anordnen der Subnavi
function subnaviAnordnen(xmySec) {
    
_root.reiter.submenu._x subEinrueck;//Einrückung zum HauptnaviPunkt
    
_root.reiter.submenu.submenuItemBase.duplicateMovieClip("submenuItem_"+ii);//Den Submenu-Button in Anzahl der Subnavigationspunkte Duplizieren
    
_root.reiter.submenu["submenuItem_"+i].subSecName subcat[subSecNum][i];//Submenünamen lesen und einstellen
    
_root.reiter.submenu["submenuItem_"+i].subSecLink subcat_form[subSecNum][i];//Verlinkung lesen und einstellen
    
_root.reiter.submenu["submenuItem_"+i].thumbLink klein[subSecNum][i];//Submenü-Thumbnail-Verlinkung lesen und einstellen
    
_root.reiter.submenu["submenuItem_"+i].currentSec subSecNum;//thumbnail-oberkategorie weitergeben
    
_root.reiter.submenu["submenuItem_"+i].currentI i;//thumb-id weitergeben

    //Die SubNavigationspunkte nebeneinander u. untereinander anordnen
    
[COLOR="Red"]subX += random(3) == 1//zufällige Lücken erzeugen[/COLOR]
    
_root.reiter.submenu["submenuItem_"+i]._x = (subX%umbruch)*(w+submenuWidthSpacing);//horizontale anordnung
    
_root.reiter.submenu["submenuItem_"+i]._y Math.floor(subX/umbruch)*(h+submenuHeightSpacing);//vertikale anordnung zeilenumbruch bei "umbruch"
    
    
if(>= subSectionCount) {//falls die anzahl der navigationspunkte erreicht ist
        
clearInterval(subInterval);//den intervall löschen
        
trace("clear Interval");
    }
    
i++;

Die mc's liegen jetzt alle übereinander und werden nicht angeordnet.
Wenn ich aber subX den Wert von i zuweise werden sie angeordnet, aber viel zu ordentlich...
Ich würde Dich(Frager) gerne noch mal um Hilfe bitten...

Vielen Dank, ElP.

Geändert von ElPower (28-02-2006 um 13:41 Uhr)
ElPower ist offline   Mit Zitat antworten
Alt 28-02-2006, 13:42   #7 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Nimm mal die "var"s in der Funktion subnavi alle raus. Wenn das nicht klappt, mal die komplette Datei schicken, damit man sich das angucken kann.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 28-02-2006, 13:56   #8 (permalink)
[Flash - Fan]
 
Benutzerbild von ElPower
 
Registriert seit: Mar 2003
Ort: Hamburg
Beiträge: 50
Thumbs up

Wow - Du bist ja immer echt superschnell mit Deiner Antwort
Ich konnte gerade das Problem, - da ich auch ein Problem mit dem Interval hatte,
der nicht stoppen wollte, lösen - es lag daran, dass der Interval und die Variablen nicht für das 'subnaviAnordnen'-Script verfügbar waren.
(Also hattest Du mit dem entfernen der vars recht..)
Nochmal das 'funktionierende' Script:

PHP-Code:
//Subnavigation
function subnavi (xmySec){
    
removeSubnavi();//vorheriges Submenu entfernen
    
var subX 0// Abstand von der Urinstanz
    
var 0;
    var 
subSecNum mySec;//wählen der passenden subNavigation
    
var subSectionCount subcat[subSecNum].length-1;//Zählen der subNavigationspunkte
    
var subInterval setInterval(subnaviAnordnen250);//die navigationspunkte im intervall einblenden
    // Anordnen der SubnaviPunkte
    
function subnaviAnordnen(xmySec) {
        
_root.reiter.submenu._x subEinrueck;//Einrückung zum HauptnaviPunkt
        
_root.reiter.submenu.submenuItemBase.duplicateMovieClip("submenuItem_"+ii);//Den Submenu-Button in Anzahl der Subnavigationspunkte Duplizieren
        
_root.reiter.submenu["submenuItem_"+i].subSecName subcat[subSecNum][i];//Submenünamen lesen und einstellen
        
_root.reiter.submenu["submenuItem_"+i].subSecLink subcat_form[subSecNum][i];//Verlinkung lesen und einstellen
        
_root.reiter.submenu["submenuItem_"+i].thumbLink klein[subSecNum][i];//Submenü-Thumbnail-Verlinkung lesen und einstellen
        
_root.reiter.submenu["submenuItem_"+i].currentSec subSecNum;//thumbnail-oberkategorie weitergeben
        
_root.reiter.submenu["submenuItem_"+i].currentI i;//thumb-id weitergeben
    
        //Die SubNavigationspunkte nebeneinander u. untereinander anordnen
        
subX += random(3) == 1//zufällige Lücken erzeugen
        
_root.reiter.submenu["submenuItem_"+i]._x = (subX%umbruch)*(w+submenuWidthSpacing);//horizontale anordnung
        
_root.reiter.submenu["submenuItem_"+i]._y Math.floor(subX/umbruch)*(h+submenuHeightSpacing);//vertikale anordnung zeilenumbruch bei "umbruch"
        
        
if(>= subSectionCount) {//falls die anzahl der navigationspunkte erreicht ist
            
clearInterval(subInterval);//den intervall löschen
            
trace("clear Interval");
        }
        
i++;
    }

Vielen Dank und beste Grüsse,
ElP.
ElPower 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 05:25 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele