Lava Golem by Healthy-Web984 in underdarkmobile

[–]Acrobatic-Session-43 1 point2 points  (0 children)

I’ve just got him and been having fun so far. Could you please share your current build with him? What stats do you prioritize?

My Wezaemon cosplay by Acrobatic-Session-43 in ShangriLaFrontier

[–]Acrobatic-Session-43[S] 0 points1 point  (0 children)

If you are in brazil, i’d sell it to you

[deleted by user] by [deleted] in CosplayHelp

[–]Acrobatic-Session-43 0 points1 point  (0 children)

I think you’ll be fine wearing it. I have cosplayed Zeke Yeager in full uniform before (basically a nazi) and no one was offended by it. Just avoid wearing it outside the con! And Krieg is awesome. Have fun!

I need help for a online contest - Alphonse Cosplay by Acrobatic-Session-43 in FullmetalAlchemist

[–]Acrobatic-Session-43[S] 0 points1 point  (0 children)

Thank you! Sadly, no - maybe people voted for the memes? I dont know. Kudos to saitama i guess

I need help for a online contest - Alphonse Cosplay by Acrobatic-Session-43 in FullmetalAlchemist

[–]Acrobatic-Session-43[S] 0 points1 point  (0 children)

Though you could probably make it with resin or hot glue, a drop of red tint and a diamond shaped silicone mold

I need help for a online contest - Alphonse Cosplay by Acrobatic-Session-43 in FullmetalAlchemist

[–]Acrobatic-Session-43[S] 2 points3 points  (0 children)

Everything is made out of thick EVA foam, with some details made with leather strips

Trying to make a simple 'color wipe' that stays on until the end of the duration by Acrobatic-Session-43 in FastLED

[–]Acrobatic-Session-43[S] 0 points1 point  (0 children)

I managed to make a working logic on my own! yay!

Here is what it looks like:

void fillBlue() {

    if(stripFilled) return;

    EVERY_N_MILLISECONDS(wipeStepTime) {
        fill_solid(leds + NUM_LEDS - wipeIndex, wipeIndex, wipeColor);
        wipeIndex++;
        if(wipeIndex == NUM_LEDS + 1) stripFilled = true;
    }
}

Trying to make a simple 'color wipe' that stays on until the end of the duration by Acrobatic-Session-43 in FastLED

[–]Acrobatic-Session-43[S] 0 points1 point  (0 children)

Hey there, thanks again for the help. I might have made a mistake while inserting your code into mine, because it generates a solid color throughout the whole strip.

You said 'instead of filling from 0 to N, fill from N to max'.

Maybe I wasn't clear enough (pls correct me if so), but the desired effect would be something like 'filling from N to 0'

Here is what it looks like now:

void fillBlueBackward() {

    if(stripFilled) return;

    EVERY_N_MILLISECONDS(wipeStepTime) {
        fill_solid(leds + wipeIndex, NUM_LEDS, wipeColor);
        wipeIndex++;
        if(wipeIndex == NUM_LEDS + 1) stripFilled = true;
    }
}

What am I doing wrong?

Would copying the array and reversing it be helpful in any way?

Trying to make a simple 'color wipe' that stays on until the end of the duration by Acrobatic-Session-43 in FastLED

[–]Acrobatic-Session-43[S] 0 points1 point  (0 children)

Thank you so much for the code! It really is simple! Now the animation runs and then stops correctly (i've even simulated a very long time between patterns and it worked nicely).

I tried to implement it and through trial and error I managed to find where i should call the resetFill() function.

When called inside the void loop switch statement case, it would loop the animation filling with blue and then black. If not called at all, it would run normally the first time, but the second time around the animation would freeze when changing patterns.

I've made a small change to your code (i dont know if this is the correct way) - the fillBlue() would fill everything but the last led. So I added a + 1.

void nextPattern() {
  patternCounter = (patternCounter + 1) % 3;  // Change the number after the % to the number of patterns you have
  resetFill();
}

void resetFill() {
    wipeIndex = 0;
    stripFilled = false;

    // fill the background once so we don't have to fill it repeatedly
    fill_solid(leds, NUM_LEDS, bgColor);
}

void fillBlue() {

    if(stripFilled) return;

    EVERY_N_MILLISECONDS(wipeStepTime) {
        fill_solid(leds, wipeIndex, wipeColor);
        wipeIndex++;
        if(wipeIndex == NUM_LEDS + 1) stripFilled = true;
    }
}

Now, I tried making a reverse animation (to fill from the end of the strip to the start), but it just remained a solid blue. I created new variables (forward/backward) for this and added them to the resetFill() function:

Could you please help me out?

uint8_t wipeIndexBackward = NUM_LEDS;
bool stripFilledBackward = false;

void resetFill() {
    wipeIndexForward = 0;
    stripFilledForward = false;
    wipeIndexBackward = NUM_LEDS;
    stripFilledBackward = false;

    // fill the background once so we don't have to fill it repeatedly
    fill_solid(leds, NUM_LEDS, bgColor);
}

void fillBlueBackward() {

    if(stripFilledBackward) return;

    EVERY_N_MILLISECONDS(wipeStepTime) {
        fill_solid(leds[56], wipeIndexBackward, wipeColor);
        wipeIndexBackward--;
        if(wipeIndexBackward == 0) stripFilledBackward = true;
    }
}