Hola muy buenas aver si me podeis dar algun consejo o referencia de como hacer disparar 2 gameobjects con una bala con rigidbodi al apretar el boton de el mouse.La cosa es que tengo una nave simple que lleva 2 cañones uno en cada ala.E creado un script que va bien y dispara una especie de laser verde , este script esta añadido a un Empty con un Rigid Body.Bien , si clono dicho GO y lo pongo en la segundo cañon ...deberia disparar igual que el primero...pero no ...sale una cosa rara que no es el rayo.Aver si teneis alguna sujerencia de porque no disparan los dos a la vez.A , he probado a ponerle que el segundo cañon dispare en vez de con el boton 1 de el raton con el 2 y funciona pero claro me implica tener los 2 botones ocupados para 1 disparo.El script:
using UnityEngine;
using System.Collections;
public class disparosyrecargosnave : MonoBehaviour {
public Rigidbody Bala;
public float Velocidad = 80;
public float municion = 10;
public Animation reload;
float municionderecargo = 10;
public float municiontotal = 200;
///public static float municiontotal = 150;
public disparosyrecargos2 MyScriptShoot;
public float Conteo = 0;
public GUIText guimuni;
public GUIText guitotal;
public GameObject destello;
//public GameObject manoanim;
public GameObject expulsabalas;
public AudioClip recarga;
public AudioClip gunShot;
public AudioClip vacio;
//bool DisparoDual = true;
void Start (){
destello.active = false;
}
void Update (){
guimuni.text = "Balas " + municion.ToString();
guitotal.text = "Total Balas " + municiontotal.ToString();
if (Input.GetButton("Fire1"))
{
//if(Input.GetMouseButtonDown(0)){
Conteo = Conteo + 1;
if(Conteo > 15){
Conteo = 0;
}
if(Conteo == 15 && municion > 0 && municiontotal >= 0){
Rigidbody clone;
clone=Instantiate(Bala, transform.position, transform.rotation) as Rigidbody;
clone.velocity = transform.TransformDirection(Vector3.forward * 400);
municion -= 1;
Destroy (clone,1.0f);
GetComponent<AudioSource>().PlayOneShot(gunShot);
}
}
if(Input.GetKeyDown("r") && municiontotal > 0 && !Input.GetMouseButton(0) && !Input.GetMouseButton(1)){
reload.Play("pistolamueve");
municion = 0;
Invoke ("recargando",2);
AudioSource.PlayClipAtPoint(recarga, transform.position, 1);
}
if(Input.GetButton("Fire1")){
destello.active = true;
}
else
if(Input.GetMouseButtonUp(0)){
destello.active = false;
}
if (municion <= 0){
if(Input.GetButton("Fire1")){
expulsabalas.SetActive(false);
AudioSource.PlayClipAtPoint(vacio, transform.position, 1);
destello.active = false;
}
}
}
void recargando (){
expulsabalas.SetActive(true);
if(municiontotal > 0){
municiontotal -= municionderecargo;
municion += municionderecargo;
}
if (municion > municionderecargo){
municion = municionderecargo;
}
}
}
Yo normalmente clono GameObjects,sustituye Bala para que sea un GameObject, y clonas la bala entera, no deberias tener ningun problema
[quote author=ProgramacionWH" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="15887" data-ipsquote-contentcommentid="101282">Yo normalmente clono GameObjects,sustituye Bala para que sea un GameObject, y clonas la bala entera, no deberias tener ningun problema por Gameobject Bala?
Título: Doble Disparo
Publicado por: ProgramacionWH en Agosto 31, 2015, 07:12:19 PM
@ramunda Lo siento ramunda e estado fuera varias semanadas/dias,si a eso me referia
[quote author=ramunda" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="15887" data-ipsquote-contentcommentid="101134">Hola muy buenas aver si me podeis dar algun consejo o referencia de como hacer disparar 2 gameobjects con una bala con rigidbodi al apretar el boton de el mouse.La cosa es que tengo una nave simple que lleva 2 cañones uno en cada ala.E creado un script que va bien y dispara una especie de laser verde , este script esta añadido a un Empty con un Rigid Body.Bien , si clono dicho GO y lo pongo en la segundo cañon ...deberia disparar igual que el primero...pero no ...sale una cosa rara que no es el rayo.Aver si teneis alguna sujerencia de porque no disparan los dos a la vez.A , he probado a ponerle que el segundo cañon dispare en vez de con el boton 1 de el raton con el 2 y funciona pero claro me implica tener los 2 botones ocupados para 1 disparo.El script:
using UnityEngine;using System.Collections;
public class disparosyrecargosnave : MonoBehaviour {
public Rigidbody Bala;
public float Velocidad = 80;
public float municion = 10;
public Animation reload;
float municionderecargo = 10;
public float municiontotal = 200;
///public static float municiontotal = 150;
public disparosyrecargos2 MyScriptShoot;
public float Conteo = 0;
public GUIText guimuni;
public GUIText guitotal;
public GameObject destello;
//public GameObject manoanim;
public GameObject expulsabalas;
public AudioClip recarga;
public AudioClip gunShot;
public AudioClip vacio;
//bool DisparoDual = true;
void Start (){
destello.active = false;
}
void Update (){
guimuni.text = "Balas " + municion.ToString();
guitotal.text = "Total Balas " + municiontotal.ToString();
if (Input.GetButton("Fire1"))
{
//if(Input.GetMouseButtonDown(0)){
Conteo = Conteo + 1;
if(Conteo > 15){
Conteo = 0;
}
if(Conteo == 15 && municion > 0 && municiontotal >= 0){
Rigidbody clone;
clone=Instantiate(Bala