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.

Scratch To Unity: Motion
Thursday July 25, 2019

This post provides a handy reference guide to go from Scratch’s “Motion” category of code blocks to C# with Unity. Code Alternatives Before you dive in, I wanted the opportunity to present a few alternatives for your animation needs. Unity has a lot of features you wont find in Scratch, so doing things the “Scratch […]

The post Scratch To Unity: Motion 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#.

Cover Letter for German Student Visa
Wednesday February 27, 2019

The cover letter for German student visa is very important and most of the international students ignore it completely when applying for their student visa. What is a Cover Letter? Basically, a cover letter is a document where a student visa applicant describes the purpose of its visit to Germany in some details and lists […]

The post Cover Letter for German Student Visa 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”:

Watch the March 2019 Graduation Videos!
Monday March 18, 2019

Graduates, we’re proud of your academic achievements! Congratulations, LAFS and LARS graduates! As alumni, be sure to stay in touch and join our future alumni mixers, on-campus events and more. Watch your LAFS graduation video and relive the special day. Join us back on campus for the next alumni mixer on Wednesday, March 27, 2019! […]

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