[JS] instancier deux objets décalés

Cette section est destinée aux scripts partagés par la communauté. Chaque post est destiné à un script. Suivez bien les recommandations.
sachou388
Messages : 4
Inscription : 20 Oct 2013 02:03

[JS] instancier deux objets décalés

Message par sachou388 » 26 Nov 2013 10:49

Bonjour à toutes et à tous, je suis débutant sur unity et je me suis lancé un projet celui de refaire un jeu d'arcade type shoot em up. J'ai assez bien avancer dans mon projet et là je m'attaque à coder le power_up. mon problème étant lorsque j'entre en collision avec l'objet power_up j'instancie deux cube qui sont les tirs de mon vaisseau hors il s'instancient sur la même position ils sont confondu comment je pourrais faire pour que l'un soit décalé par rapport à l'autre (j'utilise deux préfab différent pour chaque tir).
je vous met à disposition mon script:

Code : Tout sélectionner

var projectile : Rigidbody;
var projectile2 :Rigidbody;
var force :float;
var player : exSpriteAnimation;
var power_up : boolean = false ;

function Start () {

}

function Update () {

		if (Input.GetButtonDown("Fire1")&& !power_up) {
		
			var clone : Rigidbody;
			clone = Instantiate(projectile, transform.position, transform.rotation);
			clone.rigidbody.velocity = transform.TransformDirection (Vector3(0,0,force));

		}
		if(Input.GetButtonDown("Fire1") && power_up){
			var clone2 : Rigidbody;
			clone2 = Instantiate(projectile, transform.position, transform.rotation);
			clone2.rigidbody.velocity = transform.TransformDirection (Vector3(0,0,force));
			var clone3 : Rigidbody;
			clone3 = Instantiate(projectile2, transform.position, transform.rotation);
			clone3.rigidbody.velocity = transform.TransformDirection (Vector3(0,0,force));
		}
		if(Input.GetKeyDown("d")){
			player.Play("New SpriteAnimation");
		}
		if(Input.GetKeyUp("d")){
			player.Stop();
		}
		
		if(Input.GetKeyDown("q")){
			player.Play("New SpriteAnimation2");
		}
		if(Input.GetKeyUp("q")){
			player.Stop();
		}


}
function OnTriggerEnter(col : Collider){
	if( col.tag == "target"){
	Destroy(col.gameObject);
	}
	if (col.tag == "power_up"){
	
		power_up =true;
		Destroy(col.gameObject);
	}
}

ps: je tiens a dire que j'ai fais pas mal de recherche sur ce sujet sans succès alors peut être qu'il y a un post traitant ce sujet mais je ne l'ai pas trouver et je m'en excuse.
Merci.

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

Re: [JS] instancier deux objets décalés

Message par Pico57 » 26 Nov 2013 11:30

Il suffit que dans ton Instantiate tu mette une valeur différente à la place de transform.position pour la seconde instantiation.

sachou388
Messages : 4
Inscription : 20 Oct 2013 02:03

Re: [JS] instancier deux objets décalés

Message par sachou388 » 26 Nov 2013 12:39

non parce que l'objet instancié ne suis pas le vaisseau il reste sur la même position mais j'ai trouver j'ai créer deux variables de type transform et je les ai mis dans ma fonction instanciate puis sur unity j'ai créer deux gamobjects empty et j'ai associé ces variables merci pour les réponses

Avatar de l’utilisateur
artemisart
Messages : 1893
Inscription : 21 Juin 2011 19:51
Localisation : Centre
Contact :

Re: [JS] instancier deux objets décalés

Message par artemisart » 26 Nov 2013 13:13

Tu peux rajouter un offset : Instantiate (projectile, transform.position + tonOffset, transform.rotation);

Répondre

Revenir vers « Scripts »