Функция if и стрельба с задержкой.
Добавлено: 26 ноя 2011, 14:33
Добрый день,мучаюсь уже много часов над 2 вещами,которые не знаю как воплотить.
Подскажите пожалуйста как реализовать что если величина curhealth( состояние здоровья врага в данный момент(от 0 до 100)) изменяется то выскакивает ShowhealthBar()(показывается полоса здоровья этого врага), а если ударить другого врага то эта полоса закрывается и появляется другая.
Пытался данное действие совместить со скриптом попадания пули,которая наносит урон,но к сожалению пуля попадает,наносит урон,вызывает скрипт показа здоровья и ломается)А значит закрыть HideHealthBar()уже не может...Поэтому и пытаюсь сделать через изменение здоровья,но не знаю как(
И второе. Есть стрельба,реализованная в виде :
Как сделать чтобы между выстрелами был промежуток,да можно вставить между нажатиями мышью задержку, но если я сделаю что стрельба идет при зажатой мыши,чтобы вылетало не чаще 1 патрона в 2 секунды допустим.
Заранее благодарен.
Подскажите пожалуйста как реализовать что если величина curhealth( состояние здоровья врага в данный момент(от 0 до 100)) изменяется то выскакивает ShowhealthBar()(показывается полоса здоровья этого врага), а если ударить другого врага то эта полоса закрывается и появляется другая.
Пытался данное действие совместить со скриптом попадания пули,которая наносит урон,но к сожалению пуля попадает,наносит урон,вызывает скрипт показа здоровья и ломается)А значит закрыть HideHealthBar()уже не может...Поэтому и пытаюсь сделать через изменение здоровья,но не знаю как(
И второе. Есть стрельба,реализованная в виде :
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;
public class PlayerShoot : MonoBehaviour {
public int bulletSpeed=100;
public Transform theBullet;
void Start () {
}
void Update () {
if(Input.GetKeyDown(KeyCode.Mouse0)){
Shoot();
}
}
private void Shoot(){
Transform bulletCreate=(Transform)Instantiate(theBullet,GameObject.Find("BulletSpawnPoint").transform.position,Quaternion.identity);
bulletCreate.rigidbody.AddForce(transform.forward*bulletSpeed);
}
}
using System.Collections;
public class PlayerShoot : MonoBehaviour {
public int bulletSpeed=100;
public Transform theBullet;
void Start () {
}
void Update () {
if(Input.GetKeyDown(KeyCode.Mouse0)){
Shoot();
}
}
private void Shoot(){
Transform bulletCreate=(Transform)Instantiate(theBullet,GameObject.Find("BulletSpawnPoint").transform.position,Quaternion.identity);
bulletCreate.rigidbody.AddForce(transform.forward*bulletSpeed);
}
}
Как сделать чтобы между выстрелами был промежуток,да можно вставить между нажатиями мышью задержку, но если я сделаю что стрельба идет при зажатой мыши,чтобы вылетало не чаще 1 патрона в 2 секунды допустим.
Заранее благодарен.