- Home /
Question by
JP10 · Aug 18, 2012 at 02:24 PM ·
javascripttransform.positionrespawning
Respawn player from Tornado Twin script issue
This edited version of tornado twins doesn't work :/
After falling -7 below on y axis, player does not respawn. Any help is hugely appreciated :)
var speed = 3.0;
var rotateSpeed = 3.0;
var bulletPrefab:Transform;
private var dead = false;
if(transform.position.y <= -7)
{
dead = true;
}
function Update ()
{
var controller : CharacterController = GetComponent(CharacterController);
//Rotate around Y axis
transform.Rotate(0, Input.GetAxis ("Horizontal") * rotateSpeed, 0);
//Move forward and back
var forward = transform.TransformDirection(Vector3.forward);
var curSpeed = speed * Input.GetAxis ("Vertical");
controller.SimpleMove(forward * curSpeed);
if(Input.GetButtonDown("Jump"))
{
var bullet = Instantiate(bulletPrefab,
GameObject.Find("spawnPointPlayer").transform.position, Quaternion.identity);
bullet.rigidbody.AddForce(transform.forward * 2000);
}
}
function LateUpdate()
{
if(dead)
{
transform.position = Vector3(0,3,0);
dead = false;
}
}
@script RequireComponent(CharacterController)
Comment
Best Answer
Answer by aldonaletto · Aug 18, 2012 at 02:36 PM
The position.y checking code is in the wrong place: code outside any function is executed only once when the object is created. You should instead place this code inside Update, thus it would verify the player y coordinate every frame - something like this:
...
function Update () { // move the fall checking code inside Update: if(transform.position.y
Your answer
