Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].
C#-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
using UnityEngine; using System.Collections; public class EnemyHealth : MonoBehaviour { public float health = 4; public PlayerController Player; void ApplyDamage (float damage) { health -= damage; if (health <= 0) Player .kills = Player .kills +1; Destroy(gameObject); } } |
C#-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 |
using UnityEngine; using System.Collections; using UnityEngine.UI; public class PlayerController : MonoBehaviour { public AudioSource shootSource; public float maxSpeed = 3.0f; public float jumpForce = 450f; public Transform groundCheck; public LayerMask whatisGround; public int kills = 0; public Text KillText; //*** public int ammo = 9; public Text AmmoText; public Text endtxt; public AudioClip shootsound; public AudioClip pickupsound; public float damage = 2f; //*** [HideInInspector] public bool lookingRight = true; public GameObject laserPrefab; public Transform spawnPoint; public float laserSpeed = 500f; private Rigidbody2D rb2d; private Animator anim; private bool isGrounded = false; private bool jump = false; private bool isAttacking = false; // *** private bool swordattack = false; private bool genugammo = true; //*** // Use this for initialization void Start() { rb2d = GetComponent<Rigidbody2D>(); anim = GetComponent<Animator>(); amotxt(); } // Update is called once per frame void Update () { if (Input.GetButtonDown ("Jump") && isGrounded) jump = true; if (Input.GetButtonDown("Fire1") && !isAttacking) isAttacking = true; //*** if (Input.GetButtonDown("Fire2") && !swordattack) swordattack = true; //*** // KillText.text = kills.ToString() ; } void FixedUpdate () { float hor = Input.GetAxis("Horizontal"); anim.SetFloat("Speed", Mathf.Abs(hor)); rb2d.velocity = new Vector2(hor * maxSpeed, rb2d.velocity.y); isGrounded = Physics2D.OverlapCircle(groundCheck.position, 0.15f, whatisGround ); anim.SetBool("IsGrounded", isGrounded); if ((hor > 0 && !lookingRight) || (hor < 0 && lookingRight)) Flip(); if (jump) rb2d.AddForce(new Vector2(0, jumpForce)); jump = false; if (ammo <= 0) { genugammo = false; } if (isAttacking && genugammo) { anim.SetTrigger("Attack"); GameObject laser = (GameObject)Instantiate(laserPrefab, spawnPoint.position, Quaternion.identity); if (lookingRight) laser.GetComponent<Rigidbody2D>().AddForce(Vector3.right * laserSpeed); else laser.GetComponent<Rigidbody2D>().AddForce(Vector3.left * laserSpeed); ammo = ammo - 1; AudioSource.PlayClipAtPoint(shootsound, transform.position, 1); isAttacking = false; amotxt(); } if ((swordattack) || (isAttacking && !genugammo)) anim.SetTrigger("SwordAttack"); // *** hier damage-Prozedur für Schwertattacke einfügen swordattack = false; isAttacking = false; //*** } public void Flip() { lookingRight = !lookingRight; Vector3 myscale = transform.localScale; myscale.x *= -1; transform.localScale = myscale; } void OnCollisionEnter2D(Collision2D other) { if (other.gameObject.CompareTag("AmmoBox")) { ammo = ammo + 27; pickupsnd(); amotxt(); } if (other.gameObject.CompareTag("Magazin")) { ammo = ammo + 9; pickupsnd(); amotxt(); } if (other.gameObject.CompareTag("LevelExit")) { endtxt.text = "Ende!"; } } void pickupsnd() { AudioSource.PlayClipAtPoint(pickupsound, transform.position, 1); } void amotxt() { AmmoText.text = ammo.ToString(); genugammo = true; KillText.text = kills.ToString(); } } |
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].
C#-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
using UnityEngine; using System.Collections; public class EnemyHealth : MonoBehaviour { public float health = 4; public PlayerController Player; public GameObject other; public PlayerController gaco; void Start() { other = GameObject.FindGameObjectWithTag("Player"); gaco = other.GetComponent<PlayerController>(); } void ApplyDamage (float damage) { health -= damage; if (health <= 0) { gaco.kills = gaco.kills + 1; Destroy(gameObject); } } } |
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].
Werbeanzeige