Scratch To Unity: Control

Beginner Scratch Tutorial Unity

This post provides a handy reference guide to go from Scratch’s “Control” category of code blocks to C# with Unity.

Best Music School Four Years in a Row
Wednesday April 29, 2020

Billboard Names L.A. Recording School a Top Music Business School of 2020 Billboard Magazine released its Top Music Business Schools of 2020 this month and The Los Angeles Recording School, a division of The L.A. Film School, ranks among the best schools in the country. The Music Production Degree Program is in its seventh year, […]

The post Best Music School Four Years in a Row appeared first on Dua xe moto.

Code Blocks
Click on the picture of any of these Scratch code blocks to see how to write similar code statements in C#.

Game Releases: Week of May 8
Tuesday May 05, 2020

CHECK OUT OUR LIST OF GAME RELEASES FOR THE WEEK OF May 8, 2020! Want to know the latest video game releases? From Forza Street to Population Zero, here is our schedule of the games coming out soon! Game Releases Forza Street (iOS, Android) – May 5 John Wick Hex (PlayStation 4) – May 5 […]

The post Game Releases: Week of May 8 appeared first on Dua xe moto.

IEnumerator Start()
{
// Optional code here
yield return new WaitForSeconds(1f);
// Optional code here
}

for (int i = 0; i < 10; ++i)
{
// Code to repeat
}

You can simply use the “Update” method of a “MonoBehaviour”:

Top 10 German Universities for International Students in 2019
Thursday February 14, 2019

Germany is among the top ten most popular study destinations in the world. According to the official data provided by the German federal statistical office, around 480,000 international students are studying in Germany. With the same healthy growth of international enrollment likely to continue in the upcoming years, Germany will soon climb as one of […]

The post Top 10 German Universities for International Students in 2019 appeared first on Dua xe moto.

void Update()
{
// Code to repeat per frame
}

Or, you can use a “while” loop. Make sure to provide some way to pause execution (like a yield statement in a Coroutine) or you will lock up Unity.

IEnumerator Start()
{
while(true)
{
// Optional code here
yield return null; // wait a frame
// Optional code here
}
}

// "condition" is anything that evaluates to true or false
if (condition)
{
// Code to execute when condition is true
}

// "condition" is anything that evaluates to true or false
if (condition)
{
// Code to execute when condition is true
}
else
{
// Code to execute when condition is false
}

// Optional code here
// "condition" is anything that evaluates to true or false
yield return new WaitUntil(() => condition);
// Optional code here

This is basically a “while” loop where you want the condition to be false:

// "condition" is anything that evaluates to true or false
while (!condition)
{
// Code to repeat
}

You can stop a script by disabling it.

enabled = false;

Or, if you were running a Coroutine you could stop it:

var coroutine = SomeCoroutine();
StartCoroutine(coroutine);
StopCoroutine(coroutine);

There isn’t a “good” equivalent for this, but a possible solution exists based on a pattern Unity has implemented. Whenever a clone is instantiated, the name of the clone will have “(Clone)” added to the end of its name. I only say it isn’t a “good” solution because you can rename an instantiated clone and then wouldn’t have any way to determine that status.

void Start()
{
if (name.Contains("Clone"))
{
Debug.Log("I'm a clone!");
}
}

Instantiate(gameObject);

Destroy(gameObject);

Summary
This should cover all of the code blocks in Scratch’s “Control” category. If you have any questions about this reference guide feel free to ask below.
If you find value in my blog, you can support its continued development by becoming my patron. Visit my Patreon page here. Thanks!