Einzelnen Beitrag anzeigen
Alt 09-10-2009, 17:22   #7 (Permalink)
salazar
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 9.909
Post

das thema ist halb so wild
hab dir da mal was schnelles gescriptet... geht sicher auch schöner, aber ich wollt nur schnell ein bsp schreiben.

zum probieren einfach eine leere fla generieren als AS3 projekt und den folgenden code einfügen:
PHP-Code:
//---
            
var line:Sprite = new Sprite();

this.addChildline );
            
//---        
            
function drawSketchedLinexS:NumberyS:NumberxE:NumberyE:NumberlineHolder:SpritelineThickness:NumberlineColor:uint 0lineAlpha:Number 1linePartition:int 10lineRandomFaktor:int ):void {

    var 
dirs:Array = new Array( 1, -);
    var 
dir:Number;

    var 
a:int 0;
    var 
b:int linePartition 1;
    
    var 
xL:Number xE xS;
    var 
yL:Number yE yS;
    
    var 
xF:Number xL linePartition;
    var 
yF:Number yL linePartition;
    
    var 
xP:Number;
    var 
yP:Number;

    
lineHolder.graphics.lineStylelineThicknesslineColorlineAlpha );
    
lineHolder.graphics.moveToxSyS );
    
    while ( 
a++ < ) {
        
        
dir dirsMath.floorMath.random() * dirs.length ) ];
        
        
xS += xF;
        
yS += yF;
        
        
xP xS + ( Math.random() * lineRandomFaktor ) * dir;
        
yP yS + ( Math.random() * lineRandomFaktor ) * dir;

        
lineHolder.graphics.lineToxPyP );

    }
    
    
lineHolder.graphics.lineToxEyE );

}

//---

//zeichnet ein viereck
drawSketchedLine505030050line30x000000110);
drawSketchedLine30050300300line30x000000110);
drawSketchedLine30030050300line30x000000110);
drawSketchedLine503005050line30x000000110);

//--- 
dieser zeichnet dir ein viereck/rechteck.
wie stark eine linie "unpräzise" sein soll bestimmst du über die beiden parameter linePartition und lineRandomFaktor.
linePartition gibt an in wieviel abschnitte eine linie unterteilt werden soll und mit lineRandomFaktor bestimmst du wie groß die verzerrung an den unterteilten punkten der linie max sein kann.

viel spaß damit... hoffe das ist das was du brauchst

cheers,
sal

edit: hab den code der function nochmal ein bisschen aufgräumt und optimiert.

Geändert von salazar (09-10-2009 um 17:41 Uhr)
salazar ist offline   Mit Zitat antworten