Candy Match 3 Kit Manual

From gamevanilla wiki
Revision as of 21:55, 23 November 2021 by David (Talk | contribs) (Manual)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Manual

How can I add a background music?

We use a background music in the demo but we are not allowed to redistribute it, so you need to do it manually yourself. You can find the download link in the Credits.pdf file located inside the Sounds folder. Once you have downloaded the music and imported it into your project (remember to set its Load Type as Streaming, which is the recommended setting for background music), you just need to drag it into the Audio Source component of the BackgroundMusic object located in the home scene.

How can I add a new level to the map?

The level map contains a scrollable list of buttons that are used to enter the levels (in the scene's hierarchy, you can find the list in Canvas/LevelMap/ScrollView. These buttons are instances of the LevelMapButton prefab, which has a Num Level property that indicates the level number:

level_button_prefab.png

You will need to have created the corresponding level with that number via the level editor.

How can I customize the art of the game?

Please refer to our re-skinning guide.

How can I make the tiles falling from the sky to be only visible inside the level bounds?

You can do it by using sprite masks in the background tiles. In order to do so, follow these steps:

  • Add a SpriteMask component to the LightBgTile and DarkBgTile prefabs located in the Prefabs folder (make sure to set their sprites to TileLight and TileDark respectively).
  • Modify the GameBoard class located in the Scripts/Game/Common folder by adding these lines at the end of the ApplyGravityInternal method:
if (tiles[tileIndex] == null && !isHole)
{
    var tile = CreateTile(i, j, true);
    tile.GetComponent<SpriteRenderer>().maskInteraction = SpriteMaskInteraction.VisibleInsideMask;
    // ...
    tween.setOnComplete(() =>
    {
        if (tile.activeSelf && tile.GetComponent<Animator>() != null)
        {
            tile.GetComponent<Animator>().SetTrigger("Falling");
            tile.GetComponent<SpriteRenderer>().maskInteraction = SpriteMaskInteraction.None;
        }
    });
    tiles[tileIndex] = tile;
}

Note the two new lines that have been added to the original code that set the mask interaction of the falling candies. This will mask the candies that fall from the sky, but not the ones that fall over a blank tile on the level. If you want to always mask the candies (even inside the blank lines of a level) instead, just do not add the two aforementioned lines of code to the GameBoard class and, for every candy prefab, set the 'Mask Interaction' field in the Sprite Renderer component to 'Visible Inside Mask'.