- Home /
Question by
Krystian223 · Aug 02, 2021 at 04:20 PM ·
c#unity 52dscripting problemsprite
Sprite image not changing
Player's sprite is not changing on GetKeyDown script:
void ChangeDefaultSprite()
{
spriteRenderer.sprite = defaultSprite;
isCrossbow = false;
isAxe = false;
anim.SetBool("isAxe", false);
}
void CrossbowSprite()
{
spriteRenderer.sprite = crossbowSprite;
isCrossbow = true;
isAxe = false;
anim.SetBool("isAxe", false);
}
void AxeSprite()
{
spriteRenderer.sprite = axeSprite;
isAxe = true;
isCrossbow = false;
anim.SetBool("isAxe", true);
}
void Update()
{
movement.x = Input.GetAxisRaw("Horizontal");
movement.y = Input.GetAxisRaw("Vertical");
mousePos = cam.ScreenToWorldPoint(Input.mousePosition);
if(Input.GetKeyDown(KeyCode.Alpha1))
{
ChangeDefaultSprite();
}
if(Input.GetKeyDown(KeyCode.Alpha2))
{
CrossbowSprite();
}
if(Input.GetKeyDown(KeyCode.Alpha3))
{
AxeSprite();
}
if(rb.velocity != Vector2.zero)
{
anim.SetBool("isWalking", true);
}
else
{
anim.SetBool("isWalking", false);
}
}
I see that isCrossbow bool changes to true but image sprite not. Anyone knows what is the problem?
Comment