Search code examples
unity-game-enginespriteunityscriptgameobjectunity3d-2dtools

Changing sprites using Sprite.Create does not take effect?


I'm making minecraft-like 2D game and everything seems like it's okay except changing block texture in one chunk. This is how I try to change sprite:

var block = new GameObject("blok", typeof(SpriteRenderer), typeof(BoxCollider2D), typeof(CircleCollider2D));
block.GetComponent(SpriteRenderer).sprite = Sprite.Create(Resources.Load("/Prefabs/Blokovi/blok_zemlja") as Texture2D, Rect(0, 240, 16, 16), Vector2(0.5, 0.5), 16);

It does not take any effect, why?

P.S. I use UnityScript/JavaScript.

Thanks in advance!


Solution

  • I solved my problem by adding an tag named "blok" to block GameObject and adding one for loop which then changes sprite for every type of block (gameobject with tag "blok"). Here is for loop code:

        var go_list = GameObject.FindGameObjectsWithTag ("blok");
    
        for (var object in go_list) {
        }