Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

C# Disparar magia

Iniciado por kalm97, Noviembre 14, 2015, 06:11:33 AM

Tema anterior - Siguiente tema
Tengo un problema con un codigo intento hacer q el personaje dispare una magia,, el ataque aparece pero no se mueve, se queda quieto, este es el comando, porfavor ayudenme antes q me vuelva loco using UnityEngine;
using System.Collections;public class Disparar : MonoBehaviour {    public Rigidbody2D projectile;
    void Update() {
        if (Input.GetButtonDown("Fire1")) {
            Rigidbody2D clone;            clone = Instantiate(projectile, transform.position, transform.rotation) as Rigidbody2D;
            clone.velocity = transform.TransformDirection(Vector3.forward * 10);
        }
    }
}Grasias por su atencion..

¿Tiene rigidbody el ataque?

el prefab del ataque tiene una animacion y un rigibody2d

Al hacer click invocas a la accion de mover una sola vez, por eso no se mueve, utiliza un boleano o crea un script para el prefab, ademas no se si se maneja asi su movimiento con velocity

como aria para aplicar que se siga moviendo..???  como aplico el bolean soy un poco manco en el lenguaje informatico 

[quote author=kalm97" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="34421" data-ipsquote-contentcommentid="123482 date=1447523915]como aria para aplicar que se siga moviendo..???  como aplico el bolean soy un poco manco en el lenguaje informatico [/quote]Se puede mantener la velocidad, con un Linear Drag y Gravity Scale a 0 en el Rigidbody2D.

Ya logre que el proyectil se mueva hacia delante pero ahora lo que no es que cuando yo me de la vuelta y dispare el cambie de direccion tengo este codigousing UnityEngine;
using System.Collections;public class MoverR : MonoBehaviour {    public float velocidad = 4;    public GameObject F;    // Use this for initialization
    void Start () {    }
    
    // Update is called once per frame
    void Update () {
        transform.Translate (Vector3.right * Time.deltaTime * velocidad, Camera.main.transform);        Destroy (F, 0.8f);
        }
} como lo aria.....Grasias por su atencion.

Etiquetas: