我想渲染这张卡,并且在第一次加载时,动画开始一次。我要的是默认没有动画发生。有谁知道如何做到这一点?
class Card extends AnimationComponent {
Card(width, height)
: super.sequenced(width, height, 'card.png', 5,
textureWidth: 144.0, textureHeight: 220.0, loop: false);
}
class GameScreen extends BaseGame {
GameScreen({@required this.size}) {
add(Card(0,0));
}
}
答案 0 :(得分:0)
根据source code,您将可以使用Animation
来控制帧。
为简单起见,只需不调用update
并继续渲染,就不会更新帧索引。
void update(double dt) {
clock += dt;
elapsed += dt;
if (isSingleFrame) {
return;
}
if (!loop && isLastFrame) {
onCompleteAnimation?.call();
return;
}
while (clock > currentFrame.stepTime) {
if (!isLastFrame) {
clock -= currentFrame.stepTime;
currentIndex++;
} else if (loop) {
clock -= currentFrame.stepTime;
currentIndex = 0;
} else {
break;
}
}
}
因此,您可以重写update
方法来控制Sprite动画。