Recupérer les variables depuis un script ?

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
Avatar de l’utilisateur
CYRIAQU3
Messages : 7
Inscription : 24 Sep 2014 22:52

Recupérer les variables depuis un script ?

Message par CYRIAQU3 » 26 Sep 2014 13:49

Salut à tous.

Bon alors je sais que quand vous voyez le titre vous vous dites :
RAAHH VUe et re-vue cherche sur GOOGLE !


Je l'ai fait, refait et je n'arrive pas à résoudre mon soucis : je vais donc vous exposer mon cas :

- Je possède un objet "WeaponSpawnPoint" qui me sert à faire apparaître une arme "Weapon" (associée depuis une var : transform) il possède également son script.
Image
- Weapon est donc une "arme" qui contiens un script de configuration (name, ammo etc...).
Image

Ma question :
Comment récupérer les variables du script de Weapon dans le script de WeaponSpawnPoint ?

J'ai essayé avec getComponant, variable.valeur etc... mais là vraiment je bloque :cry:

Quelqu'un pourrais t-il éclairer ma lanterne ? :D

Merci d'avance.

Avatar de l’utilisateur
axel
Messages : 1924
Inscription : 26 Avr 2012 09:10
Localisation : Lille - Dunkerque
Contact :

Re: Recupérer les variables depuis un script ?

Message par axel » 26 Sep 2014 14:07

tu peux poster ton code?

Avatar de l’utilisateur
CYRIAQU3
Messages : 7
Inscription : 24 Sep 2014 22:52

Re: Recupérer les variables depuis un script ?

Message par CYRIAQU3 » 26 Sep 2014 14:18

WeaponSpawnPoint :

Code : Tout sélectionner

var weapon : Transform;
private var weaponMsg : String;
private var weaponName: String;
private var isActive : boolean;
private var weaponConfig : Transform;
function Awake()
{
	isActive = false;
}
function Start () 
{
	var weaponConfig = weapon.GetComponent("WeaponConfig");
	var testgetname = weaponConfig.weaponName;

	// On remplace l'arme "hologramme" par celle définie par la var weapon (fonctionne)

	var preview = GameObject.Find("WeaponPreview");
	var previewPos = preview.transform.position;
	Destroy(preview);
	var newPreview = Instantiate (weapon, Vector3(previewPos.x, previewPos.y, previewPos.z), Quaternion.identity);
	newPreview.transform.parent = gameObject.transform;
}
Weapon :

Code : Tout sélectionner

var weaponName : String;
var ammoType : Transform;
var ammoIsInfinite : boolean;
var ammoQuantity : int;
var shootSpeed : int;
var shootDelay : int;

function Start () {
}

function Update ()
{
    if(Input.GetButtonDown("Fire1"))
    {
        Shot();
    }
}
 
function Shot()
{
	if(ammoQuantity > 0 || ammoIsInfinite)
	{
		var weaponPosition = transform.position;
		// creation de la balle + force
    	var pel = Instantiate(ammoType, Vector3(weaponPosition.x, weaponPosition.y, weaponPosition.z+0.8), Quaternion.identity);
    	pel.rigidbody.AddForce(transform.forward * shootSpeed);
    	if(!ammoIsInfinite)
    	{
    		ammoQuantity = ammoQuantity-1;
    	}
    }
}

Pico57
Messages : 576
Inscription : 19 Fév 2013 16:30
Localisation : Cluny

Re: Recupérer les variables depuis un script ?

Message par Pico57 » 26 Sep 2014 14:24

Dans WeaponSpawnPoint, tu as définit :

Code : Tout sélectionner

var weapon : Transform;
C'est dommage de définir ta weapon par son transfiorm ; si tu veux récupérer les infos du weapon config, tu doit passer par un GetComponent(). Mais le plutot pratique est peut-être de définir ta variable weapon comme un WeaponConfig :

Code : Tout sélectionner

var weapon : WeaponConfig;
ainsi, dans weapon, les paramètres seront directement accessibles.

Avatar de l’utilisateur
CYRIAQU3
Messages : 7
Inscription : 24 Sep 2014 22:52

Re: Recupérer les variables depuis un script ?

Message par CYRIAQU3 » 26 Sep 2014 14:33

Je vois ce que tu veux dire.
Cependant j'ai utilisé cette organisation pour pouvoir créer un autre préfab arme facilement (juste changer l'apparence et après j'applique les parametres avec WeaponConfig)

Et aussi pour que SpawnPoint me remplace :

Image

Par :

Image

Je devrais revoir mon "modèle" ? :|

Pico57
Messages : 576
Inscription : 19 Fév 2013 16:30
Localisation : Cluny

Re: Recupérer les variables depuis un script ?

Message par Pico57 » 26 Sep 2014 14:48

Je n'ai pas tout compris à l'explication mais c'est pas grave. ^^
Si tu ne veux pas changer le type de variable, je comprend que cela puisse être moins pratique.
Dans ce cas là, tu gardes ta variable en tant que Transform et tu utilise le GetComponent pour aller chercher le script WeaponConfig situé sur le Transform et tu peut alors accéder à ses informations.

Avatar de l’utilisateur
CYRIAQU3
Messages : 7
Inscription : 24 Sep 2014 22:52

Re: Recupérer les variables depuis un script ?

Message par CYRIAQU3 » 26 Sep 2014 14:50

Ouai c'était pas clair :D

Bon en tout cas merci pour les réponses.

Répondre

Revenir vers « Scripting »