Стрельба c лука
Скрипты:
Arrow: http://piratus.w.pw/Unity3d/Arrow.js
#pragma strict
//скрипт стрелы, баллистическая траектория+застревание в цели.
function Start () {
//смещение центра тяжести по оси z
rigidbody.centerOfMass = Vector3 (0, 0, 5);
}
// функция проверки столкновения
function OnCollisionEnter (collision : Collision) {
// отключение физики стрелы включение кинематики
rigidbody.isKinematic = true;
// координаты стрелы присоединяются к координатам объекта столкновения.
transform.parent = collision.transform;
}
@script RequireComponent (Rigidbody)
Shoot: http://piratus.w.pw/Unity3d/Shoot.js
#pragma strict
var Arrow : GameObject; //Префаб стрелы/пули
private var Timer : float; //таймер который позволяет стрелять
var Reload : float; //время перезарядкы
function Start () {
Screen.showCursor = false; //скрыть курсор
}
function Update () {
Timer -= Time.deltaTime; //таймер перезарядки
if (Input.GetKey(KeyCode.Mouse0) && Timer <= 0) { //нажатия ЛКМ
var Arrov = Instantiate(Arrow,transform.position,transform.rotation); //Создаем префаб стрелы в позиции обэкта на котором скрипт
Arrov.rigidbody.AddForce(transform.forward* 5000); //придаем стреле ускорение вперед
Timer = Reload; //устанавливаем таймер например на 2 сек
}
}
12 комментариев