Проблема чтения координат x & y промежуточного объекта на входной рамке - AS3 - PullRequest
0 голосов
/ 15 апреля 2011

Привет. Может кто-нибудь объяснить, почему линии, нарисованные между кружками в приведенном ниже коде, не выровнены по центру окружностей?

Кажется, свойства кругов x и y не соответствуют их фактическим позициям, но как это может быть?

import flash.display.Sprite
import fl.transitions.*;
import fl.transitions.easing.*;

var mcs=[];

function go(Y,size,col,opac){
    var mc=new Sprite()
    mc.y=Y
    mc.x=600
    mc.graphics.beginFill(col,opac)
    mc.graphics.drawCircle(0,0,size/3)
    mc.graphics.endFill()
    addChild(mc)
    mcs.push(mc)

    var xPosT = new Tween(mc, "x", Strong.easeOut, 600, 0, 3,true);
}

function upd(e){
    graphics.clear()
    graphics.moveTo(mcs[0].x,mcs[0].y)
    for(var i in mcs){
        graphics.lineStyle(0,0xCCCCCC,1)
        graphics.lineTo(mcs[i].x, mcs[i].y)
    }
}

setInterval(function(){
    go(randomNo(400),randomNo(50,5),0xCCCCCC,1)
},500)

stage.addEventListener(Event.ENTER_FRAME,upd)


//Returns a random number between from and to inclusive
function randomNo(to:Number,from=0,decimalPlaces=0):Number{
    var ret=roundDecimal(Math.random()*(to-from)+from,decimalPlaces)
    return(ret)
}
function roundDecimal(num:Number, precision:int):Number{
    var decimal:Number = Math.pow(10, precision);
    return Math.round(decimal* num) / decimal;
}

1 Ответ

0 голосов
/ 16 апреля 2011

Легко. Твин обновляется после срабатывания события ввода кадра.Вы никогда не должны использовать событие enterframe для управления таким интерфейсом.полностью удалите эту строку.

stage.addEventListener(Event.ENTER_FRAME,upd)

И добавьте эту строку в свою функцию go.

var xPosT = new Tween(mc, "x", Strong.easeOut, 600, 0, 3,true);
xPosT.addEventListener( TweenEvent.MOTION_CHANGE, upd )

MOTION_CHANGE срабатывает после обновления анимации движения.Также обратите внимание, что вы должны учитывать сборку мусора, потому что, если это приложение работает в течение длительного периода времени, оно будет иметь проблемы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...