HiveBrain v1.2.0
Get Started
← Back to all entries
patternjavaMinor

Game sprite animation

Submitted by: @import:stackexchange-codereview··
0
Viewed 0 times
animationgamesprite

Problem

This code animates my main game sprite by increasing the animation frame. First I check if the character is moving, then I increase the animation counter until it reaches the desired speed, and then if so, I increase the animation frame.

How can I make it more elegant and optimised in terms of speed?

if (moving){
        anispeed++;
        if (anispeed==animaxspeed){
            anispeed=0;
            animationframe++;
            if (animationframe==3) animationframe=0;
        }

Solution

Two small comments:

Naming:

The convention for variable names in Java is camelCase. Your animationframe should instead be animationFrame when going by that rule. Similar for your animaxspeed. You don't have to save characters in your code, write it out: animationMaxSpeed.

anispeed can also be written out: animationSpeed. This should make your code even more clear than it is ;)

Braces:

It's also convention to place all if-blocks in braces, disregarding whether they have to, or not. This is to decrease the possibility of bugs when changing such blocks and forgetting braces.

if (animationFrame == 3) {
    animationFrame = 0;
}


Also the Java-Coding-Standard is 4 spaces indentation. It might be, that the markup for SE broke yours, but either way, your first if-statement is too far in.

Code Snippets

if (animationFrame == 3) {
    animationFrame = 0;
}

Context

StackExchange Code Review Q#47124, answer score: 7

Revisions (0)

No revisions yet.