Technology sharing

[Unity2D 2022: Particulae System] Add hit particulam speciales effectus

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Particula specialis effectus ludum obiecti

2. Modify system proprietatibus particularibus

1. Vulgate attributa

(1) Modificare durationem particularum emissarum ad 1s

(II) Licens Looping

(3) Modificare particulam temporis existentiae (Initium Vitae) ad valorem temere inter 0.1 et 0.2

(4) Modificare particulam celeritatem initialem (Satus Speed) ad 0

(5) Modificare particulam magnitudinem initialem (Satus Size) ad valorem temere inter 0,7 et 1

(6) Modificare particulam anguli rotationis initialis (Rotationes Start) ad valorem temere inter 0 et 360 .

2. Emissio

(1) Pone velocitatem emissam (Rate over Time) ad 0 (i.e. particulas non emittere)

(2) Burst Add, Tempus est 0, Comes est 5

3. Emitte Figura (Shape)

(I) constitue figura Circuli

(2) Pone angulum rotationis (Rotation) ad 900 in directionem x-axis

(III) radium ad (Radius) 0.12

(IV) Pone modum (Modo) ad Expande (Clausis propagationem)

4. Particulae color (Color in Vita)

(1) Perspicuum est pone 255-0 (i.e. magis ac magis perspicuum).

5. particula magnitudine (Size in Vita)

(I) constitue particulam magnitudinis ad 0.6-1

6. Particulae textura animationis (Texture Sheet Animation)

(1) Adde particula spiritus imaginibus

3. speciales effectus crea hit prefab

4. Speciales effectus ludunt cum glande hostem ferit.

1. Edit scriptor bullet:

(I) crea hit speciales effectus prefab

  1. public class Bullet : MonoBehaviour
  2. {
  3. // 创建命中特效预制体
  4. public GameObject hitEffectParticlePrefab;
  5. }

(2) Rescribe iterator interfaciei et particulam hit effectam dele post dilationem 1s.

  1. public class Bullet : MonoBehaviour
  2. {
  3. // 创建命中特效预制体
  4. public GameObject hitEffectParticlePrefab;
  5. // 在1s后删除粒子特效
  6. private async Task deleteEffectParticle(GameObject EffectParticle, float delay)
  7. {
  8. // 等待1s
  9. await Task.Delay(1000);
  10. // 删除粒子特效
  11. Destroy(EffectParticle);
  12. }
  13. }

(3) Cum inimicum feriendo, particulam hit effectum specialem in situ glandis efficiunt et eam post 1s delebunt.

  1. public class Bullet : MonoBehaviour
  2. {
  3. // 创建命中特效预制体
  4. public GameObject hitEffectParticlePrefab;
  5. // 击中敌人
  6. private void OnCollisionEnter2D(Collision2D collision)
  7. {
  8. Enemy enemy = collision.gameObject.GetComponent<Enemy>();
  9. if(enemy != null) {
  10. enemy.changeHealthPoint(-25);
  11. GameObject hitEffectParticle = Instantiate(hitEffectParticlePrefab, transform.position, Quaternion.identity);
  12. deleteHitEffectParticle(hitEffectParticle, 1);
  13. }
  14. Destroy(gameObject);
  15. }
  16. // 在1s后删除粒子特效
  17. public static async Task deleteEffectParticle(GameObject EffectParticle, float delay)
  18. {
  19. // 等待1s
  20. await Task.Delay(1000);
  21. // 删除粒子特效
  22. Destroy(EffectParticle);
  23. }
  24. }

2. Adde hit particulam effectus speciales ad glandem prefab

3 Praeterea, finalis effectus, ut infra patebit;

Finis huius capitis. Gratias legendi!