Avatar billede barf Nybegynder
23. november 2004 - 10:39 Der er 1 kommentar

tegn en cirkel med as

Jeg prøver at tegne en cirkel ud fra et x og et y koordinat samt radius.
Det virker sådan set også fint, bortset fra at cirklen ikke får centrum i de x/y koordinater jeg angiver (i hvert fald ikke i x). Hvad laver jeg galt?

MovieClip.prototype.drawOval = function(x, y, r, yr) {
    if (arguments.length<3) {
        return;
    }
    if (yr == undefined) {
        yr = r;
    }
    var segAngle, theta, angle, angleMid, segs, ax, ay, bx, by, cx, cy;
    var startAngle = 0;
    var arc = 360;
    segs = Math.ceil(Math.abs(arc)/45);
    segAngle = arc/segs;
    theta = -(segAngle/180)*Math.PI;
    angle = -(startAngle/180)*Math.PI;
    ax = x-Math.cos(angle)*r;
    ay = y-Math.sin(angle)*yr;
    this.moveTo(x, y);
    if (segs>0) {
        for (var i = 0; i<segs; i++) {
            angle += theta;
            angleMid = angle-(theta/2);
            bx = ax+Math.cos(angle)*r;
            by = ay+Math.sin(angle)*yr;
            cx = ax+Math.cos(angleMid)*(r/Math.cos(theta/2));
            cy = ay+Math.sin(angleMid)*(yr/Math.cos(theta/2));
            this.curveTo(cx, cy, bx, by);
        }
    }
    this.endFill(bx, by);
};
//
mc = _root.createEmptyMovieClip("mc", 1);
mc.lineStyle(1, 0x6688aa, 100);
mc.beginFill(0xaabbcc, 50);
mc.drawOval(50, 50, 50);
Avatar billede _k Nybegynder
23. november 2004 - 14:58 #1
this.moveTo(x, y); referere til hvor du vil flytte "blyanten" hen for at tegne den næste grafik, ikke hvor hele mc'et bliver placeret.
Du bliver i stedet nødt til at anvende dit nyoprettede mc's _x og _y positioner til at flytte det rundt på stagen. Du kan i slutningen af din drawOval-metode indsætte:

this._x = x;
this._y = y;

...eller bare flytte rundt på mc'et efter det er tegnet:

mc._x = 100;
mc._y = 100;
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester