小编e_l*_*tro的帖子

在c ++中编写一堆类似的if语句的漂亮方法?

我想动画一个精灵.要做到这一点,我有一个给我一个毫秒时间的自动收报机.根据我希望精灵显示不同图像的时间.不幸的是,除了一堆if语句之外,我无法想到一个简单而漂亮的方法.

    if (ticker_.getElapsedTime().asMilliseconds() >= ANIMATION_STEP * 0 &&
           ticker_.getElapsedTime().asMilliseconds() < ANIMATION_STEP * 1)
    {
        sprite_.setTexture(*game_->getResourceManager().getTexture("animation/explosion_00.png"));
    }

    if (ticker_.getElapsedTime().asMilliseconds() >= ANIMATION_STEP * 1 &&
           ticker_.getElapsedTime().asMilliseconds() < ANIMATION_STEP * 2)
    {
        sprite_.setTexture(*game_->getResourceManager().getTexture("animation/explosion_01.png"));
    }

    // 10 more of these ...

    if (ticker_.getElapsedTime().asMilliseconds() >= ANIMATION_STEP * 13 &&
           ticker_.getElapsedTime().asMilliseconds() < ANIMATION_STEP * 14)
    {
        sprite_.setTexture(*game_->getResourceManager().getTexture("animation/explosion_13.png"));
    }
Run Code Online (Sandbox Code Playgroud)

c++ if-statement

0
推荐指数
1
解决办法
107
查看次数

标签 统计

c++ ×1

if-statement ×1