- Home /
monobehaviour script accessing problem causes error
hello and hi, i am using one monobehaviour script named inverseKinematics.js i want to access this script in another script named say xyz.js in xyz.js i am writing
var target : Transform;
var elbowTarget : Transform;
var inverseKinematicsScript : MonoBehaviour;
//private var inverseKinematicsScript ;
function Start(){
inverseKinematicsScript = GetComponent(inverseKinematics);
}
function Update () {
inverseKinematicsScript.target = target.position;
inverseKinematicsScript.elbowTarget = elbowTarget.position;
inverseKinematicsScript.CalculateIK(); }
then i am getting errors in another files related to this file are
BCE0019: 'CalculateIK' is not a member of 'UnityEngine.MonoBehaviour'.
BCE0019: 'target' is not a member of 'UnityEngine.MonoBehaviour'.
BCE0019: 'elbowTarget' is not a member of 'UnityEngine.MonoBehaviour'. //----------------------------------------------- my inverseKinematics.js is //----------------------------------------------- var target : Vector3; var elbowTarget : Vector3;
function CalculateIK(){
transform.LookAt(target, transform.position - elbowTarget);
var upperArm : Transform = transform.Find("upperArm");
var elbow : Transform = transform.Find("upperArm/elbow");
var hand : Transform = transform.Find("upperArm/elbow/hand");
var upperArmLength : float = Vector3.Distance(upperArm.position, elbow.position);
var forearmLength : float = Vector3.Distance(elbow.position, hand.position);
var armLength : float = upperArmLength + forearmLength;
var hypotenuse : float = upperArmLength;
var targetDistance : float = Vector3.Distance(upperArm.position, target);
targetDistance = Mathf.Min(targetDistance, armLength - 0.0001); //Do not allow target distance be further away than the arm's length.
var adjacent : float = targetDistance * (upperArmLength / armLength);
var ikAngle : float = Mathf.Acos(adjacent/hypotenuse) * Mathf.Rad2Deg;
upperArm.LookAt(target, transform.root.up);
upperArm.localRotation.eulerAngles.x += ikAngle;
elbow.LookAt(target, transform.root.up);
}
so please suggest me what should i do.....
Answer by OmahaNS · Feb 22, 2013 at 02:38 PM
you are declaring your inverseKinematicsScript with type Monobehavior, when you want its type to be inverseKinematics.
Try changing this line:
var inverseKinematicsScript : MonoBehaviour;
to
var inverseKinematicsScript : inverseKinematics;
thank you @OmahaNS , now i can make my build.. thanks a lot