unity-clinic2-unityscript-basics

50
WOODIWISS.ME Freelance Web Developer & Lecturer in the Winchester, Hampshire area. UnityScript The Basics

description

Slides from the 2nd Unity clinic at UOW.

Transcript of unity-clinic2-unityscript-basics

Page 1: unity-clinic2-unityscript-basics

WOODIWISS.MEFreelance Web Developer & Lecturer in the Winchester, Hampshire area.

UnityScriptThe Basics

Page 2: unity-clinic2-unityscript-basics

WOODIWISS.ME

ECMAWhat/Who is ECMA?

• European Computer Manufacturers Association.

• Non-profit Standards Organisation.

• Introducing ECMAScript!

Page 3: unity-clinic2-unityscript-basics

WOODIWISS.ME

ECMAScript

JavaScript.js ActionScript.as

ECMAScript.esLanguage

Dialects

Page 4: unity-clinic2-unityscript-basics

WOODIWISS.ME

ECMAScript

JavaScript.js

DialectsToolKit

Page 5: unity-clinic2-unityscript-basics

WOODIWISS.ME

ECMAScript

JavaScript.js

DialectsToolKit

Page 6: unity-clinic2-unityscript-basics

WOODIWISS.ME

ECMAScript

JavaScript.js

UnityScript.js

Page 7: unity-clinic2-unityscript-basics

WOODIWISS.ME

Onward!

• NewBehaviourScript.js

• Basic starting point.

• #pragma strict?

• Start

• Update

Page 8: unity-clinic2-unityscript-basics

WOODIWISS.ME

Page 9: unity-clinic2-unityscript-basics

WOODIWISS.ME

Page 10: unity-clinic2-unityscript-basics

WOODIWISS.ME

Page 11: unity-clinic2-unityscript-basics

WOODIWISS.ME

NewBehaviourScript.js

Page 12: unity-clinic2-unityscript-basics

WOODIWISS.ME

NewBehaviourScript.js

Page 13: unity-clinic2-unityscript-basics

WOODIWISS.ME

NewBehaviourScript.js

Page 14: unity-clinic2-unityscript-basics

WOODIWISS.ME

Start()

• gameObject = Cube

• Start = run before first frame.

• e.g set color, set size, set position…

Page 15: unity-clinic2-unityscript-basics

WOODIWISS.ME

Start()

• gameObject = Cube

• Start = run before first frame.

• e.g set color, set size, set position…

Page 16: unity-clinic2-unityscript-basics

WOODIWISS.ME

Start()

• gameObject = Cube

• Start = run before first frame.

• e.g set color, set size, set position…

Page 17: unity-clinic2-unityscript-basics

WOODIWISS.ME

Update

• gameObject = Cube still.

• Continually polling the code. Each frame.

Page 18: unity-clinic2-unityscript-basics

WOODIWISS.ME

Mono Madness

• All scripts extend MonoBehaviour.

• Awake()

• OnCollisionEnter()

• FixedUpdate()

• LOTS more base functions.

Page 19: unity-clinic2-unityscript-basics

WOODIWISS.ME

User Created Functions

Keeps your code DRY !D - on’t R - epeat Y - ourself

Page 20: unity-clinic2-unityscript-basics

WOODIWISS.ME

User Created Functions

Keeps your code DRY !D - on’t R - epeat Y - ourself

Page 21: unity-clinic2-unityscript-basics

WOODIWISS.ME

User Created Functions

Keeps your code DRY !D - on’t R - epeat Y - ourself

Defined

Page 22: unity-clinic2-unityscript-basics

WOODIWISS.ME

User Created Functions

Keeps your code DRY !D - on’t R - epeat Y - ourself

Defined

Page 23: unity-clinic2-unityscript-basics

WOODIWISS.ME

User Created Functions

Keeps your code DRY !D - on’t R - epeat Y - ourself

Defined

Invoked

Page 24: unity-clinic2-unityscript-basics

WOODIWISS.ME

In more detail

Page 25: unity-clinic2-unityscript-basics

WOODIWISS.ME

In more detail

Page 26: unity-clinic2-unityscript-basics

WOODIWISS.ME

In more detail

Define

Page 27: unity-clinic2-unityscript-basics

WOODIWISS.ME

In more detail

Define

Page 28: unity-clinic2-unityscript-basics

WOODIWISS.ME

In more detail

Call / Invoke

Define

Page 29: unity-clinic2-unityscript-basics

WOODIWISS.ME

VariablesWhat is a variable? !var playerHealth : int = 100; !var playerHealth : int; playerHealth = 100;

Page 30: unity-clinic2-unityscript-basics

WOODIWISS.ME

Basic Data Types

int - Number without decimal place.

float - Number with decimal place.

boolean - Truth value.

String - Text or words, numbers, some symbols.

Vector3 - X Y Z co-ordinates.

GameObject - Object that is present in the Unity Scene.

Page 31: unity-clinic2-unityscript-basics

WOODIWISS.ME

Basic Data Types

int = 17;

float = 5.994;

boolean = true;

String = “Darren”;

Vector3(100,124,55); // x, y, z

GameObject = GameObject.Find("Zombie");

Page 32: unity-clinic2-unityscript-basics

WOODIWISS.ME

Casting

var fingersOnHand : int;

var playerHeight : float;

var powerupActive : boolean;

var playerName : String;

var playerStartLocation : Vector3;

var enemy : GameObject;

Page 33: unity-clinic2-unityscript-basics

WOODIWISS.ME

Casting and Assigningvar playerAge : int = 17;

var playerHeight : float = 5.994;

var powerupActive : boolean = true;

var playerName : String = “Darren”;

var playerStartLocation = Vector3(0,0,0);

var enemy : GameObject;

enemy = GameObject.Find("Zombie");

Page 34: unity-clinic2-unityscript-basics

WOODIWISS.ME

Arguments

• First define required parameters.

• Specify arguments parsed to function.

Page 35: unity-clinic2-unityscript-basics

WOODIWISS.ME

Arguments

• First define required parameters.

• Specify arguments parsed to function.

Page 36: unity-clinic2-unityscript-basics

WOODIWISS.ME

Arguments

• First define required parameters.

• Specify arguments parsed to function.

Page 37: unity-clinic2-unityscript-basics

WOODIWISS.ME

More argumentsIt’s like bloody Eastenders in here.

Page 38: unity-clinic2-unityscript-basics

WOODIWISS.ME

More argumentsIt’s like bloody Eastenders in here.

Page 39: unity-clinic2-unityscript-basics

WOODIWISS.ME

More argumentsIt’s like bloody Eastenders in here.

Page 40: unity-clinic2-unityscript-basics

WOODIWISS.ME

More argumentsIt’s like bloody Eastenders in here.

Page 41: unity-clinic2-unityscript-basics

WOODIWISS.ME

More argumentsIt’s like bloody Eastenders in here.

Cube

Page 42: unity-clinic2-unityscript-basics

WOODIWISS.ME

More argumentsIt’s like bloody Eastenders in here.

Cube

Page 43: unity-clinic2-unityscript-basics

WOODIWISS.ME

More argumentsIt’s like bloody Eastenders in here.

Cube

1

Page 44: unity-clinic2-unityscript-basics

WOODIWISS.ME

More argumentsIt’s like bloody Eastenders in here.

Cube

1

Page 45: unity-clinic2-unityscript-basics

WOODIWISS.ME

More argumentsIt’s like bloody Eastenders in here.

Cube

1

Page 46: unity-clinic2-unityscript-basics

WOODIWISS.ME

More argumentsIt’s like bloody Eastenders in here.

Cube

1

cube

Page 47: unity-clinic2-unityscript-basics

WOODIWISS.ME

More argumentsIt’s like bloody Eastenders in here.

Cube

1cube

cube

Page 48: unity-clinic2-unityscript-basics

WOODIWISS.ME

Links / Research• http://en.wikipedia.org/wiki/Ecma_International

• http://en.wikipedia.org/wiki/ECMAScript

• http://www.mono-project.com/What_is_Mono

• docs.unity3d.com/Documentation/ScriptReference/MonoBehaviour.html

• http://unity3d.com/learn/tutorials/modules/beginner/scripting

• https://www.inkling.com/read/javascript-definitive-guide-david-flanagan-6th/chapter-8/function-arguments-and

• http://www.sublimetext.com/

Page 49: unity-clinic2-unityscript-basics

WOODIWISS.MEFreelance Web Developer & Lecturer in the Winchester, Hampshire area.

Next TimeScope / Operators / Statements …

Page 50: unity-clinic2-unityscript-basics

WOODIWISS.MEFreelance Web Developer & Lecturer in the Winchester, Hampshire area.

Questions?