Paso 8: Armas y balas
Pistola
Vamos a probar esta arma:
https://www.assetstore.Unity3D.com/#/content/10332
Arrastre en DartGun prefabricadas de pistola de Gas comprimido > prefabricados > DartGun a la escena.
Una casa prefabricada es como una clase sino en forma de 'objeto'. Es la copia con buenos valores predeterminados que puede utilizar para sus diferentes niveles.
Poner DartGun en reproductor > cámara principal
DartGun de posición/rotación (jugador > cámara principal > DartGun) según los valores siguientes:
Posición/rotación interna DartGun (jugador > cámara principal > DartGun > DartGun) según los valores siguientes:
Vamos a crear y disparar algunas balas!
Crear esfera yendo a GameObject > crear otro > esfera
Cambiar el nombre del objeto a bala
Agregar un nuevo RigidBody al objeto bala.
Haga clic en Agregar componente > física > RigidBody
Desactivar uso de gravedad
Detección de colisiones set a continua
Establecer la escala de transformación de la esfera a 0.2, 0.2, 0.2
Vamos a crear un javascript nuevo Script llamado "Bullet".
/ / La velocidad de la bala se mueve
varSpeed:float =. 4;El número de segundos antes de la bala se destruye automáticamente
varSecondsUntilDestroy:float = 10;privatevarstartTime:float;
{functionStart()}
startTime=Time.time;
}{functionFixedUpdate()}
Avanzar
this.gameObject.transform.position += Speed*this.gameObject.transform.forward;
Si la bala ha existido durante mucho tiempo como SecondsUntilDestroy, destruirlo
Si (Time.time startTime > = SecondsUntilDestroy) {}
Destroy(this.gameObject);
}
}
functionOnCollisionEnter(collision:Collision) {}
Eliminar la bala del mundo
Destroy(this.gameObject);
}
Arrastre y suelte la escritura de la bala desde la ventana de proyecto (activos > Scripts) para el objeto de la bala en la ventana de jerarquía.
Por último, vamos a hacer la bala en una casa prefabricada y eliminar de la escena.
Crear una casa prefabricada de la bala arrastrando el objeto de la bala en la ventana de proyecto los activos > prefabricados en la ventana de jerarquía.
Vamos a crear un javascript nuevo Script llamado "Arma."
/ / Esta es la casa prefabricada de bala la voluntad ser instanciada cuando hace clic en el reproductor
Se debe establecer en un objeto en el editor de
varBullet:GameObject;Una bala de fuego
{functionFire()}
Crear una nueva bala apuntando en la misma dirección que la pistola
varnewBullet:GameObject=Instantiate(Bullet,transform.position,transform.rotation);
}{functionUpdate()}
Fuego si se hace clic en el botón izquierdo del ratón
{if(Input.GetButtonDown("Fire1"))}
Fire();
}
}
Arrastrar y soltar el guión de la pistola desde la ventana de proyecto (activos > secuencias de comandos) al objeto de arma en la ventana de jerarquía.
Arrastrar y soltar la bala prefabricada en la escritura de la pistola donde dice "None (juego objeto)."
Recuerda siempre aplicar cambios a la casa prefabricada por ir al objeto escena > ventana inspector > prefabricados > aplicar.
Asegurémonos de que el jugador no disparen!
Capas > capas de editar
Crear capa de bala
Crear capa de jugador
Seleccione el objeto de la bala y defina su capa a bala.
Seleccione el jugador y establecer a capa de jugador.
Decir sí a los cambios de los niños.
Editar > ajustes del proyecto > física
Desactivar el reproductor de bala y bala bala