I’m just not long ago began to study 2D ToolKit and I can not deal with switching sprites: example:
I need that when you click on a button, the sprite is changed. How to do it, tell me please!
P. S. I apologize for such language, translating the program “Dicter” 
From my experience, tk2d works through its script components, so that’s what you want to do in your code.
I don’t have a detailed example, but if you wanted to change the sprite of a gameObject, you would do it through the tk2dSprite component…for example…
//PSEUDO-CODE
tk2dSprite mySprite = gameObject.GetComponent<tk2dSprite>();
//Use intellisense or something to figure out how to change the sprite with mySprite here.
You’re probably looking for SwitchCollectionAndSprite. Here is a sample of code I use to mirror an animation (I place this on a normal tk2dSprite and it constantly updates itself to whatever frame an animation is using).
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(tk2dSprite))]
public class tk2dAnimationMirror : MonoBehaviour {
[SerializeField] tk2dAnimatedSprite _target;
tk2dSprite _sprite;
void Awake () {
_sprite = GetComponent<tk2dSprite>();
}
// Use this for initialization
void Start () {
if (_target == null){
Debug.LogError("A target is required for an animation mirror!");
Destroy (this);
}
if (_target == _sprite){
Debug.LogError("An animation cannot mirror itself, please select a different target!");
Destroy (this);
}
}
// Update is called once per frame
void LateUpdate () {
_sprite.SwitchCollectionAndSprite(_target.collection, _target.spriteId);
}
}
A little wrong. I have a collection of sprites, there are three pictures, how do I change them when you press the button?
Guys, add me in Skype!
Skype: Alien3DModeller
Just call SwitchCollectionAndSprite but pass the current collection - the actual function only updates the collection data if it’s changed (so passing the same collection does nothing).
Alternatively, just say
_sprite.spriteId = // your target sprite ID here
to update only the sprite. If you want to pass a sprite name along (string) instead of the id (int) - use
_sprite.spriteId = _sprite.GetSpriteIdByName(“Sprite Name”);
For me it is very hard! 
KyleStaves, you can add me to Skype?
I have 2 days to understand the code. Can you help? I would be very grateful!