- Home /
Animation Question Open Container
Hey guys i have the container with door. I have 2 questions: 1: I have script, script attached to prefab of container. Container have 2 part. Box and Door. When i put only 1 prefab with container to scene that works ok. opening and close. But if i duplicate that container and when i opening it and than i opening another it's playing close animation. I have private variable on script _Activated = true when opened false when it's close. What should i do to do that script working correctly for duplicated objects? 2: How can i control my animations? I mean when playing my animation on open i can't activate object one more time until it's complete.
I am new to unity. Thank you for answers guys.
class AnimateObject extends MonoBehaviour
{
public var playerCam : Camera;
public var obj : String;
public var HighLightColor : Color;
private var currentObj : GameObject;
static var firstAnim : boolean= false;
static var secondAnim : boolean= false;
private var _Activated : boolean= false;
private var _secondAnim : boolean= false;
public var anim1 : String;
public var anim2 : String;
var Anim1Sound : AudioClip;
var Anim2Sound : AudioClip;
function AnimateThatObj(obj,anim1 : String,anim2 : String)
{
var hit : RaycastHit;
var ray : Ray = playerCam.ScreenPointToRay(new Vector3(Screen.width * 0.5, Screen.height * 0.5, 0)); // Луч
if (Input.GetButtonDown("Fire1") ){
if(Physics.Raycast(ray.origin, ray.direction,hit, 5.0)){
if(hit.collider.gameObject.tag==obj && _Activated == false){
currentObj = hit.collider.gameObject;
ObjectControl(Anim1Sound,true,anim1,currentObj);
}
else if(hit.collider.gameObject.tag==obj && _Activated == true)
{
currentObj = hit.collider.gameObject;
ObjectControl(Anim2Sound,false,anim2,currentObj);
}
}
}//Input.GetButtonDown
}
}
function Update () {
AnimateThatObj(obj,anim1,anim2);
Debug.Log(_Activated);
}
function ObjectControl(aClip : AudioClip, ActivatedCheck : boolean, animName : String, thisObj : GameObject)
{
audio.PlayOneShot(aClip);
_Activated = ActivatedCheck;
thisObj.animation.Play(animName);
//thisObj.renderer.material.color = HighLightColor;
}
Your answer

Follow this Question
Related Questions
how to open two classic double door and windows 0 Answers
Help touch button 1 Answer
How to run an animation mouse click. 2 Answers