I currently have a javascript code for a 2D game with an enemy that patrols a platform. Using the width of the sprite, it detects the edge of whatever collider it is on and flips the sprite. I essentially tried to translate a working functional C# script to javascript. The javascript code doesn’t flag any errors, but the enemy stays in place and rapidly flips back and forwards. Can anyone tell me what I’m missing?
JavaScript code
#pragma strict
public var speed : float;
public var enemyMask : LayerMask;
private var myBody : Rigidbody2D;
private var myTrans : Transform;
private var myWidth : float;
private var lineCastPos : Vector2;
private var isGrounded : boolean;
private var currRot : Vector3;
function Start () {
myTrans = this.transform;
myBody = this.GetComponent(Rigidbody2D);
myWidth = this.GetComponent(SpriteRenderer).bounds.extents.x;
}
function FixedUpdate () {
lineCastPos = myTrans.position - myTrans.right * myWidth;
isGrounded = Physics2D.Linecast (lineCastPos, lineCastPos + Vector2.down, enemyMask);
if (!isGrounded) {
currRot = myTrans.eulerAngles;
currRot.y += 180;
myTrans.eulerAngles = currRot;
}
var myVel : Vector2 = myBody.velocity;
myVel.x = -myTrans.right.x * speed;
myBody.velocity = myVel;
}
and C# for reference
using UnityEngine;
using System.Collections;
public class Enemytest : MonoBehaviour {
public float speed;
public LayerMask enemyMask;
Rigidbody2D myBody;
Transform myTrans;
float myWidth;
// Use this for initialization
void Start () {
myTrans = this.transform;
myBody = this.GetComponent<Rigidbody2D> ();
myWidth = this.GetComponent<SpriteRenderer> ().bounds.extents.x;
}
// Update is called once per frame
void FixedUpdate () {
Vector2 lineCastPos = myTrans.position - myTrans.right * myWidth;
bool isGrounded = Physics2D.Linecast (lineCastPos, lineCastPos + Vector2.down, enemyMask);
if (!isGrounded) {
Vector3 currRot = myTrans.eulerAngles;
currRot.y += 180;
myTrans.eulerAngles = currRot;
}
Vector2 myVel = myBody.velocity;
myVel.x = -myTrans.right.x * speed;
myBody.velocity = myVel;
}
}
Any help would be greatly appreciated!