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.

How To Apply For A Bachelor’s Degree in Germany
Tuesday October 16, 2018

35% of all international students enrolled at German universities are seeking a Bachelor degree. It’s not hard to see why Bachelor’s study programs in Germany enjoy this unmatched popularity. A German bachelor degree will equip you with a strong theoretical and practical understanding of your professional field open doors toward your future career and academic […]

The post How To Apply For A Bachelor’s Degree in Germany 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#.

Watch the April 2019 Graduation Videos!
Monday April 15, 2019

Graduates,YOU DID IT! Congratulations on your major achievement! As alumni, be sure to stay in touch and join our future alumni mixers, on-campus events and more. Watch your LAFS/LARS graduation videos and relive the special day. Don’t forget that our monthly graduations are available to watch on our live stream. Your family and friends can […]

The post Watch the April 2019 Graduation Videos! 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”:

Apartments in Berlin
Wednesday December 12, 2018

The German capital Berlin is a national economic powerhouse, hosting countless medium to large and globally valued companies in different sectors. Berlin is a place of attractive tourism sites and many cultural gems. Its community is a mixture of different cultures and nationalities making for a rich and diverse society immersed in a unique lifestyle. […]

The post Apartments in Berlin 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!