Как использовать CitrusSprite.velocity

У меня есть следующая функция в сцене, которая расширяет citrus.core.starling.StarlingState - загружает PlayerRun анимация и отображает ее на экране. По большей части этот код работает: я вижу спрайт на экране (он работает на месте).

protected final override function DrawScene ():void
{
    Player = new CitrusSprite ( "Player" );

    Player.velocity = [60, 0]; // Doesn't seem to have an effect
    Player.x = 40;
    Player.y = 40;

    var oClip:MovieClip = new MovieClip ( Resources.getTextures ( 
        "PlayerRun" ), 24 );

    Player.view = oClip;

    add ( Player );
}

Я не уверен, как я должен использовать velocity свойство - для него нет документации, и независимо от того, какие числа я использую в приведенном выше коде, оно не меняет отображение: анимация воспроизводится, но спрайт неподвижен (он не движется горизонтально, как я ожидал).

Я использую velocity недвижимость неправильно? Поддерживает ли Citrus скорость спрайтов, или я должен сам это реализовать?

2 ответа

Как выясняется, CitrusSprite имеет свойство, updateCallEnabled это false по умолчанию и отключает звонки update(), Однажды я установил это свойство на trueкод начал работать как положено.

Я еще не использовал Citrus, но, глядя на исходный код, он должен работать так же, как вы, предполагая, что update метод вызывается на вашем плеере:

Вы можете посмотреть, как velocity Недвижимость работает в следующих местах:

Я подозреваю, что вам нужно добавить плеер к чему-то, что поставит его в очередь на обновление.

Другие вопросы по тегам