Probleme avec mon JavaScript

Résolu
Bonjour, j'ai un probleme avec mon Script sur java. J'utilise MonoDevelopp et Unity 3D. Voici mon Script:

#pragma strict

var car: Transform;
var player: Transform;
var exitPoint: Transform;
var doorTriggerLeft: Transform;
var PlayerCamera: Camera;
var isPlayerVisible: boolean;

function Update(){
if(Input.GetButtonUp("Action")&& isPlayerVisible){
player.gameObject.SetActiveRecursively(false);
player.gameObject.active = false;
player.parent = exitPoint.transform;
player.transform.localPosition = Vector3(-1.5,0,0);
exitPoint.parent = car.transform;
exitPoint.transform.localPosition = Vector3(-0.5,0,0);
(GameObject.Find("PorscheCayman").GetComponent("CarControl") as MonoBehaviour).enabled = true;
PlayerCamera.enabled = false;
CarCamera.enabled = true;
}
else
{
if(Input.GetKeyUp("r")){
player.gameObject.SetActiveRecursively(true);
player.gameObject.active = true;
player.transform.parent = null;
exitPoint.parent = doorTriggerLeft.transform;
(GameObject.Find("PorscheCayman").GetComponent("CarControl") as MonoBehaviour).enabled = true;
PlayerCamera.enabled = true;
CarCamera.enabled = false;

}
}
}

function OnTriggerEnter(Player: Collider){
isPlayerVisible = true;
}

function OnTriggerExit(Player: Collider){
isPlayerVisible = false;
}

Mon probleme est que unity m'indique ceci:

Assets/Scripts/EnterExitCar.js(20,19): BCE0020: An instance of type 'UnityEngine.Behaviour' is required to access non static member 'enabled'.

Je ne sais plus quoi faire...

Merci d'avance pour une réponse...

10 réponses

  1. Bonjour, CarCamera ne semble pas déclaré.

    Au passage : EnterExitCar.js(20,19) Ligne 20, caractère 19
    1
    1. Merci, et je marque var CarCamera : Camera; ou CarCamera correspond a un autre parametre?
      0
    2. De la manière que vois ton code je dirais que c'est clairement une variable de type Camera que tu dois initialiser. Donc var CarCamera : Camera;
      Je n'ai jamais utilisé Unity, mais est-ce qu'utiliser 2 caméras à une utilité?
      0
    3. oui,pour 2 vues : 3 eme personne et cockpit :)
      0
    4. Ne vaut-il pas mieux utiliser une seule instance de Camera et changer sa position selon la vue ?
      0
    5. Je rejoins également l'avis de Pitet. Généralement, lorsque l'on utilise une deuxième caméra c'est plutôt pour une mini-map (et encore, niveau performances c'est très discutable) ou un écran scindé.
      0
  2. function OnTriggerExit(Player: Collider){
    isPlayerVisible = true;

    Je ne m'y connais pas très bien mais je pense que c'est çà
    0
    1. non, ce n'est pas sa, merci quand mm
      0
      1. tu fais quoi comme jeu ?
        0
        1. un jeu d'auto avec personnage a la premiere personne ou 3e personne
          0
          1. style gta ou style forza ?
            0
            1. gta mais sans fusil... plus du style Test Drive Unlimited 2
              0
              1. ok ben bonne chance :)
                0
                1. En fait, ce script sert a un personnage a la premiere personne de pouvoir entrer dans une auto. Donc, je suis perdu un peu avec la variable CarCamera...

                  --
                  0
                  1. Et bien plutôt que de désactiver une caméra et d'activer l'autre. Je pense que le moyen le plus juste serait de n'utiliser que PlayerCamera. Lorsque tu rentres dans une voiture, tu changes la perspective de celle-ci. Tu peux trouver les propriétés de la caméra ici

                    https://docs.unity3d.com/ScriptReference/Camera.html

                    Je pense notamment à orthographic, orthographicSize et fieldOfView
                    Il y en a peut-être d'autres, je n'ai pas tout regardé.
                    0
                2. ok merci, je vais essayer

                  --
                  0