1. Create project folder
2. Name the folder as scripts
3. Create new component, new script, name it as PlayerController, the script name must be started using Capital letter. Drag the script to "scripts" folder.
*change the language to c#
4. Lets start scripting! double click the PlayerController script, it ll lead us to MonoDevelop-unity, scripting editor that bundled with unity software.
using UnityEngine;
using System.Collections;
public class PlayerController : MonoBehaviour {
void FixedUpdate () {
float moveHorizontal = Input.GetAxis("Horizontal");
float moveVertical = Input.GetAxis("Vertical");
//how much we want our object to move on the y-axis? nono
//set to o.of
float y_axis = 0.0f;
//store the vector object in moving variable;
Vector3 movement = new Vector3 (moveHorizontal, y_axis, moveVertical);
rigidbody.velocity = movement;
}
}
*ensure the method called FixedUpdate spelled correctly.
tips : highlight library then press ctrl + ' in windows to trigger the help doc
5. as we can see the first scripting lead us to allow game player object to move on x and z axis. but it turns out to be in slow speed. now the new script below, allow us to multiply the speed and also let us to set the boundary limit to where our game player object can move.
using UnityEngine;
using System.Collections;
using UnityEngine;
using System.Collections;
//ensure that our new class is serialized so that we can see it in out unity player object properties
//another class created and serialized so that our player script properties is more neat
[System.Serializable]
public class Boundaries {
public float xMin, xMax, zMin, zMax;
}
//in c# : means the player controller class is inheriting from MonoBehavior class
public class PlayerController : MonoBehaviour {
//create public variable/field called speed
public float speed;
public Boundaries boundary;
void FixedUpdate () {
float moveHorizontal = Input.GetAxis("Horizontal");
float moveVertical = Input.GetAxis("Vertical");
//how much we want our object to move on the y-axis? nono
//set to o.of
float y_axis = 0.0f;
//store the vector object in moving variable;
Vector3 movement = new Vector3 (moveHorizontal, y_axis, moveVertical);
rigidbody.velocity = movement * speed;
//now we realised that our player object can move in out from the game screen play.
//we will put limition on our player object
//we are aware that our player object cant move up or down the y-axis as we assign it always to
//0.0f
rigidbody.position = new Vector3
(
Mathf.Clamp (rigidbody.position.x, boundary.xMin, boundary.xMax),
y_axis,
Mathf.Clamp (rigidbody.position.z, boundary.zMin, boundary.zMax)
);
}
}
ctrl + ' shortcut keys to unity help doc
This is another tutorial continuation from previous tutorial in this kick start - space shooter project.
reason im posting here just to share with you guys, and capture it as note for myself
Tutorials :
Comments
Post a Comment