Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 26-05-2006, 17:28   #1 (permalink)
***********
 
Registriert seit: Jul 2002
Beiträge: 32
Question Linie gezielt löschen? (Drawing API)

Hallo,

ich möchte dynamisch eine Linie zeichnen die mit jedem Frame um ein Segment verlängert wird (lineTo...). Insgesamt soll sie aber nicht mehr als z.B. 10 Segmente haben. Wenn also das 11te an der Reihe ist müsste das erste gelöscht werden, und so weiter. Nur wie?

Ich hoffe das ist verständlich ausgedrückt ...
tonymeman ist offline   Mit Zitat antworten
Alt 26-05-2006, 17:30   #2 (permalink)
Flashworker
 
Benutzerbild von sebastian
 
Registriert seit: Nov 2001
Ort: Wiesbaden
Beiträge: 10.945
Erstelle die Linien einfach auf verschiedenen Ebenen (also z.B. MovieClips dynamich erstellen). Dann kannst du diese einfach removen (so was ähnlich hatten wir vor ein paar Tagen, also so einen Lösungsansatz)
sebastian ist offline   Mit Zitat antworten
Alt 26-05-2006, 18:55   #3 (permalink)
***********
 
Registriert seit: Jul 2002
Beiträge: 32
Also praktisch für jedes Segment der Linie einen eigenen MC erstellen? Ich hatte schon befürchtet, dass es auf sowas hinausläuft.

Frisst das Performance, oder kann Flash recht gut mit vielen Hundert MCs, die dann gleichzeitig auf der Bühne liegen (und zu denen dann natürlich auch noch jede Menge Daten gehandelt werden müssen) umgehen?
tonymeman ist offline   Mit Zitat antworten
Alt 26-05-2006, 18:58   #4 (permalink)
Flashworker
 
Benutzerbild von sebastian
 
Registriert seit: Nov 2001
Ort: Wiesbaden
Beiträge: 10.945
Gabs letztens erst einen Thread dazu, aber im dreistelligen Bereich gibt es sicherlich nicht mal ansatzweise Probleme
sebastian ist offline   Mit Zitat antworten
Alt 27-05-2006, 13:00   #5 (permalink)
.
 
Registriert seit: May 2003
Ort: bayern
Beiträge: 1.117
vielleicht einfach so?
PHP-Code:
cols = new Array(0xFF00000x00FF000x0000FF0xFFFF000x00FFFF0xF0F0000xF000F00x00F0F00xF0F0F00x0F0F0F)
100;
430;
280;
110;
xStep 10;
yStep 10;
function 
init(){
pos = new Array();
for(var 
i=0;i<cols.length;i++){
    
this.lineStyle(2cols[i], 100);
    
this.moveTo(l+(i*xStep),t);               
    
this.lineTo(l+(i*xStep)+xStep,t);
    
pos[i] = new Array(l+(i*xStep),t);
}
dir "right";
}

function 
drawLine(){
    
lastElement chkNext();
    
this.clear();
    
pos.shift();
    
pos[pos.length] = lastElement;
    for(var 
i=0;i<pos.length-1;i++){
    
this.lineStyle(2cols[i], 100);
    
this.moveTo(pos[i][0],pos[i][1]);               
    
this.lineTo(pos[i+1][0],pos[i+1][1]);
}
}


function 
chkNext(){
    switch (
dir){
    case 
"right":
    if(
pos[pos.length-1][0]<xStep){
        
pos[pos.length-1][0]+ xStep;
        
pos[pos.length-1][1]
    }else{
        
pos[pos.length-1][0];
        
pos[pos.length-1][1] + yStep;
        
dir "bottom";
    }
    
nextPos = new Array(xy);
    break;
    case 
"bottom":
    if(
pos[pos.length-1][1]<yStep){
        
pos[pos.length-1][0]
        
pos[pos.length-1][1]+ yStep;
    }else{
        
pos[pos.length-1][0] - xStep;
        
pos[pos.length-1][1];
        
dir "left";
    }
    
nextPos = new Array(xy);
    break;
    case 
"left":
    if(
pos[pos.length-1][0]>xStep){
        
pos[pos.length-1][0] - xStep;
        
pos[pos.length-1][1]
    }else{
        
pos[pos.length-1][0];
        
pos[pos.length-1][1] - yStep;
        
dir "top";
    }
    
nextPos = new Array(xy);
    break;
    case 
"top":
    if(
pos[pos.length-1][1]>yStep){
        
pos[pos.length-1][0]
        
pos[pos.length-1][1] - yStep;
    }else{
        
pos[pos.length-1][0] + xStep;
        
pos[pos.length-1][1];
        
dir "right";
    }
    
nextPos = new Array(xy);
    break;    
    }
    return 
nextPos;
}

init();
this.onEnterFrame drawLine
__________________
[mooseMash]
mooseMash 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 19:33 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele