Blame |
Last modification |
View Log
| RSS feed
package com.gebauz.pingk.entities;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Texture;
import com.gebauz.Bauzoid.graphics.sprite.Sprite;
import com.gebauz.pingk.game.GameConsts;
import com.gebauz.pingk.game.GameLogic;
public class BallWarp
extends Entity
{
private Sprite mSprite =
null;
private float mSizes
[] =
{
GameConsts.
BALL_WARP_SIZE_0,
GameConsts.
BALL_WARP_SIZE_1,
GameConsts.
BALL_WARP_SIZE_2,
GameConsts.
BALL_WARP_SIZE_3,
};
private float mAlphas
[] =
{
GameConsts.
BALL_WARP_ALPHA_0,
GameConsts.
BALL_WARP_ALPHA_1,
GameConsts.
BALL_WARP_ALPHA_2,
GameConsts.
BALL_WARP_ALPHA_3,
};
public BallWarp
(GameLogic gameLogic
)
{
super(gameLogic
);
}
@
Override
public void init
()
{
mSprite =
new Sprite
(getGameLogic
().
getGraphics(),
new Texture
(Gdx.
files.
internal("data/textures/warp.png")));
mSprite.
x = GameConsts.
VIRTUAL_SCREEN_WIDTH/2.0f
;
mSprite.
y = getGameLogic
().
getPlayField().
getVirtualHeight()/2.0f
;
mSprite.
centerPivot();
mSprite.
color = GameConsts.
PINGK_COLOR.
copy();
reset
();
}
@
Override
public void exit
()
{
if (mSprite
!=
null)
{
mSprite.
dispose();
mSprite =
null;
}
}
@
Override
public void update
(float deltaTime
)
{
for (int i =
0; i
< 4; i++
)
{
if (mAlphas
[i
] < 0.0f
)
continue;
mSizes
[i
] += GameConsts.
BALL_WARP_GROWTH * deltaTime
;
mAlphas
[i
] -= GameConsts.
BALL_WARP_FADE * deltaTime
;
}
}
@
Override
public void render
()
{
for (int i =
0; i
< 4; i++
)
{
if (mAlphas
[i
] < 0.0f
)
continue;
mSprite.
w = mSizes
[i
];
mSprite.
h = mSizes
[i
];
mSprite.
centerPivot();
mSprite.
color.
w = mAlphas
[i
];
mSprite.
render();
}
}
public void reset
()
{
mSizes
[0] = GameConsts.
BALL_WARP_SIZE_0;
mSizes
[1] = GameConsts.
BALL_WARP_SIZE_1;
mSizes
[2] = GameConsts.
BALL_WARP_SIZE_2;
mSizes
[3] = GameConsts.
BALL_WARP_SIZE_3;
mAlphas
[0] = GameConsts.
BALL_WARP_ALPHA_0;
mAlphas
[1] = GameConsts.
BALL_WARP_ALPHA_1;
mAlphas
[2] = GameConsts.
BALL_WARP_ALPHA_2;
mAlphas
[3] = GameConsts.
BALL_WARP_ALPHA_3;
}
}