PDA

Volledige versie bekijken : coordinaten vierkant / square


dolf123
%Europe/Berlin %724 %2007, 18:22
Beste scripters,

Na veel zoekwerk geen oplossing gevonden.
Kan iemand mij hiermee helpen?

Ik teken een vierkant met de volgende code;

drawShape_title = function(){

if ((this.time += this.speed) >= 1){
this.time = 1;
delete this.onEnterFrame;
// completed
...
}

// variables
var seg = Math.min(Math.floor(this.time*this.anchors.length) , this.anchors.length-1);
var nextseg = (seg < this.anchors.length-1) ? seg + 1 : 0;
var segtime = (this.time-seg/this.anchors.length)*this.anchors.length;

// draw
this.clear();

this.lineStyle.apply(this, this.style);
for (var i=0; i<=seg; i++) {
if (!i) this.moveTo.apply(this, this.anchors[0]);
else this.lineTo.apply(this, this.anchors[i]);
}
this.lineTo(this.anchors[seg][0] + (this.anchors[nextseg][0]-this.anchors[seg][0])*segtime, this.anchors[seg][1] + (this.anchors[nextseg][1]-this.anchors[seg][1])*segtime);

};

// square
createEmptyMovieClip("square_title",19);
square_title.time = 0;
square_title.speed = .02;
square_title.style = [1, 0x000000, 100, true, "none", "square", "miter", 1];
square_title.anchors = [
[100,300],[20,300],[20,100],[100,100]
];
square_title.onEnterFrame = drawShape_title;

////////////////////////// EINDE CODE ////////////////

Nu is mijn vraag als volgt.
Ik wil graag een movieclip aan deze drawing hangen, zodat het
lijkt alsof het vierkant getekend wordt met een pen.
Nu krijg ik dit niet voor elkaar, omdat ik niet weet hoe ik de coordinaten
van het volgende punt moet omzetten in een var.

Kan iemand mij hiermee helpen?

Alvast bedankt.


Groet Dolf.

Mr. Black
%Europe/Berlin %371 %2007, 09:55
Ik zou zeggen net zoals je de lijn tekent:

drawShape_title = function () {
if ((this.time += this.speed)>=1) {
this.time = 1;
delete this.onEnterFrame;
}
var seg = Math.min(Math.floor(this.time*this.anchors.length) , this.anchors.length-1);
var nextseg = (seg<this.anchors.length-1) ? seg+1 : 0;
var segtime = (this.time-seg/this.anchors.length)*this.anchors.length;
this.clear();
this.lineStyle.apply(this, this.style);
for (var i = 0; i<=seg; i++) {
if (!i) {
this.moveTo.apply(this, this.anchors[0]);
} else {
this.lineTo.apply(this, this.anchors[i]);
}
}
this.lineTo(this.anchors[seg][0]+(this.anchors[nextseg][0]-this.anchors[seg][0])*segtime, this.anchors[seg][1]+(this.anchors[nextseg][1]-this.anchors[seg][1])*segtime);
pen._x = this.anchors[seg][0]+(this.anchors[nextseg][0]-this.anchors[seg][0])*segtime;
pen._y = this.anchors[seg][1]+(this.anchors[nextseg][1]-this.anchors[seg][1])*segtime
};
createEmptyMovieClip("square_title", 19);
square_title.time = 0;
square_title.speed = .02;
square_title.style = [1, 0xFFFFFF, 100, true, "none", "square", "miter", 1];
square_title.anchors = [[100, 300], [20, 300], [20, 100], [100, 100]];
square_title.onEnterFrame = drawShape_title;

'pen' is dus de movieclip.


Succes nog!

dolf123
%Europe/Berlin %614 %2007, 15:45
Helemaal goed.
Is op zich ook wel logisch,
had het zelf iig niet bedacht.

Heel erg bedankt.

Groet Dolf.