// Update is called once per frame void Update() { if (Input.GetButtonDown("Fire1")) { //rayの生成 Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit = new RaycastHit(); //rayと衝突していなかったら以降の処理をしない if (Physics.Raycast(ray, out hit) && isFirst) { Vector3 vec = new Vector3(hit.point.x, hit.point.y, hit.point.z); //パンプキングからパンプ菌を発射 throwBom.ThrowingBall(vec, BomType.normal); bomb = throwBom.GetBomObj(); isFirst = false; } } if (bomb == null && isFirst == false) { camShake.DoShake(0.5f, 0.5f); isFirst = true; } }
void OnGUI() { if (GUILayout.Button("Click", GUILayout.Width(100), GUILayout.Height(100))) { Debug.Log("<color=green>[log]</color>---" + ToolsUseful.GetStackInfo()); _shake.DoShake(); } }
void OnDestroyCell() { ParticlesManager.instance.Play(poolExplosionCell, explosionCellPrefab, transform.position, transform.rotation); SoundManager.instance.Play(poolExplosionSound, explosionCellSound.audioClip, transform.position, explosionCellSound.volume); //do camera shake camShake.DoShake(); }
public void Shake(string camName) { if (dic.ContainsKey(camName)) { CameraShake cameraShake = dic[camName]; cameraShake.DoShake(); cameraShake.DoPull(); } }
/// <summary> /// パンプ菌を作る /// </summary> /// <param name="parentObj"></param> void MinionsCreate(GameObject parentObj, int createPumpkin, bool isBossAttack, GameObject bossObj) { Vector3 position = parentObj.transform.position; Vector2 size = new Vector2(4.0f, 4.0f); //揺らす camShake.DoShake(0.25f, 0.5f); AudioManager.Instance.PlaySE("Bomb"); //攻撃してくるパンプキンを生成 if (isBossAttack) { attackPumpkin = Instantiate(bossPumpkin, position, Quaternion.identity, parentObj.transform); parentObj.transform.parent = bossObj.transform; } else { attackPumpkin = Instantiate(pumpkinPre, position, Quaternion.identity, parentObj.transform); } StatusSet(createPumpkin); Vector3 effectOffset = new Vector3(position.x, position.y + 4.0f, position.z); //エフェクト生成 Instantiate(createEffect, effectOffset, Quaternion.identity, parentObj.transform); Vector3 vec = Vector3.zero; float x = 0, y = 0, z = 0; //見た目だけのパンプキンを生成 for (int i = 1; i < createPumpkin; i++) { if (isBossAttack) { x = Random.Range(position.x - size.x / 2, position.x + size.x / 2); y = Random.Range(position.y - size.y / 2, position.y + size.y / 2); vec = new Vector3(x, y, position.z); Instantiate(bossDisp, vec, Quaternion.identity, parentObj.transform); } else { x = Random.Range(position.x - size.x / 2, position.x + size.x / 2); z = Random.Range(position.z - size.y / 2, position.z + size.y / 2); vec = new Vector3(x, -9.5f, z); Instantiate(displayPumpkinPre, vec, Quaternion.identity, parentObj.transform); } } //FlickInitialize(); }
public void Hit() { if (!_isInvincible) { Handheld.Vibrate(); SoundManager.instance.Play(SoundManager.clip.PlayerHit); StartCoroutine(cameraShake.DoShake(0.1f, 0.3f)); StartCoroutine(InvincibilityBlink(maxInvincibilityTime)); _playerScript.DecreaseLife(1); } }
// Update is called once per frame void Update() { if (isFirst == true) { if (gameObject.activeSelf == true) { shake.DoShake(2.0f, 1.0f); isFirst = false; } } }
private void OnAttackProgress() { float moveCoeff = 0f; if (_timeSinceLastAttack > _handMoveDownTime) { moveCoeff = 1f - ((_timeSinceLastAttack - _handMoveDownTime) / _handReturnRotationTime); } else { moveCoeff = _timeSinceLastAttack / _handMoveTime; } Mathf.Clamp01(moveCoeff); moveCoeff = _handMoveCurve.Evaluate(moveCoeff); Vector3 rotation = new Vector3(0f, 0f, _targetHandZAngle * moveCoeff); if (_lastAttackIsRightHand) { _rightHand.transform.rotation = new Quaternion(); _rightHand.transform.Rotate(rotation); } else { _leftHand.transform.rotation = new Quaternion(); _leftHand.transform.Rotate(rotation); } if (_timeSinceLastAttack >= _handMoveDownTime) { if (!_handLanded) { // Произошел удар лапой _cameraShake.DoShake(); float rand = UnityEngine.Random.Range(0f, 1f); if (rand < _lootboxChance) { _lootboxSpawner.Spawn(); } _handLanded = true; } } if (_timeSinceLastAttack >= _handMoveDownTime + _handReturnRotationTime) { _rightHand.transform.position = _rightHandStartingPos; _leftHand.transform.position = _leftHandStartingPos; } }
void OnDestroy() { GameObject explosion = Instantiate(Exploding); explosion.transform.position = transform.position; explosion.transform.rotation = transform.rotation; CanCheckForEnemies = true; collisionPeriodElapsed = 0.0f; CameraShake shake = Camera.main.gameObject.GetComponent <CameraShake>(); if (shake != null) { shake.DoShake(); } if (CanCheckForEnemies) { GameObject[] objArr = GameObject.FindGameObjectsWithTag("Enemy"); //collisionPeriodElapsed += Time.deltaTime; //if (collisionPeriodElapsed < TotalCollisionPeriod) { for (int i = 0; i < objArr.Length; i++) { if (Vector3.Distance(objArr[i].transform.position, transform.position) < BlastRadius) { EnemyCollisionManager collisionManager = objArr[i].GetComponent <EnemyCollisionManager>(); if (collisionManager != null) { collisionManager.DestroyEnemy(); } } } //} objArr = GameObject.FindGameObjectsWithTag("Drone"); for (int i = 0; i < objArr.Length; i++) { if (Vector3.Distance(objArr[i].transform.position, transform.position) < BlastRadius) { DroneAI droneAI = objArr[i].GetComponent <DroneAI>(); if (droneAI != null) { droneAI.Damage(); } } } } }
public void RpcTakeDamage(float damage) { camShake.DoShake(.2f); if (isDead) { return; } currHealth -= damage; if (isLocalPlayer) { _uiManager.UpdateHealthBar(currHealth); } if (currHealth <= 0) { Die(); } }
/// <summary> /// 出現時に画面を揺らす /// </summary> protected void StartShake(float time = 0) { //一番最初のみ演出 if (isFirst) { isFirst = false; // ボス出現時にカメラを揺らす shakeCam.DoShake(2.0f, 1.0f); // 音 AudioManager.Instance.PlaySE("BossPOP"); // 出現アニメーションが終わるまで待機 StartCoroutine(WaitAnimEnd("pop", time)); } }
// Update is called once per frame void Update() { if (holeInf.AllInfection()) { if (isFirst) { cam.DoShake(1.0f, 0.5f); isFirst = false; } if (boss != null) { Destroy(boss); } foreach (Transform t in transform) { Destroy(t.gameObject); } } }
protected override void DoUpdate() { // HPが0であれば処理しない if (HP <= 0) { return; } // HPバーの表示 hpBar.fillAmount = (float)HP / (float)status.hp; if (IsDamage()) { // ダメージを受けた際にカメラを揺らし、画面を赤くする imageAnim.SetBool("IsDamage", true); shakeCam.DoShake(0.5f, 0.5f); } else { imageAnim.SetBool("IsDamage", false); } }
public void PlayCameraShake(float duration, float x, float y) { camShakeEffect.DoShake(duration, x, y); }
void OnTriggerEnter(Collider col) { camShake.DoShake(1.5f, 0.5f); AudioManager.Instance.FadeOutBGM(0.5f); }
public static void Shake() { instance.DoShake(); }