Du bist nicht angemeldet.

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

Goldwing Studios

Treue Seele

Beiträge: 359

Wohnort: Heidelberg

Beruf: Softwareentwickler, Vertriebler

  • Private Nachricht senden

11

25.10.2016, 09:27

bezüglich des Radius' kannst du ja 1-2 verschiedene Radien nehmen. Einen für eine immer größer werdende Druckwelle und eine für die letztendliche Explosion. Könntest ja vielleicht ein paar fliegende Hüte einbauen XD XD XD

Martin Mundorf

Treue Seele

  • »Martin Mundorf« ist der Autor dieses Themas

Beiträge: 262

Wohnort: Waldorf, Kr. Ahrweiler

Beruf: Althistoriker

  • Private Nachricht senden

12

25.10.2016, 11:55

ich habe verschiedene Radien und Power-Einstellungen ausprobiert, es tut sich nichts ?(

Glaube, das mit dem "andere Collider aufsammeln" funktioniert nicht so, wie es sollte... (siehe Bild).

@GolwingStudios: Hüte? was für Hüte?
»Martin Mundorf« hat folgendes Bild angehängt:
  • merch_8.png
"Eine Signatur ist das Buchstaben-Zahlen-Zettelchen unten an ein einem Buch in der Bibliothek!"



was ich zur Zeit ausprobiere: 3rd person Shooter <- hierfür suche ich noch Unterstützung.


"Lehrjahre": Im Lande der Hasen
mein ewiges Spielprojekt "Straights & Rows".
meine Grafiken "ohne Verwendungszweck"

Goldwing Studios

Treue Seele

Beiträge: 359

Wohnort: Heidelberg

Beruf: Softwareentwickler, Vertriebler

  • Private Nachricht senden

13

25.10.2016, 11:57

Hüte die durch die Druckwelle wegfliegen :D

Habe grade ein wenig rum gesponnen :D

Martin Mundorf

Treue Seele

  • »Martin Mundorf« ist der Autor dieses Themas

Beiträge: 262

Wohnort: Waldorf, Kr. Ahrweiler

Beruf: Althistoriker

  • Private Nachricht senden

14

25.10.2016, 12:20

sobald ich rausgefunden habe, wie überhaupt irgendwas herumfliegt nach einer Explosion, kann ich meinetwegen auch Hüte einbauen... aber erstmal muß es sweit kommen.

Im Prinzip möcht ich ja alle GameObjects in einem gewissen Radius um die Granate her um in einen Array laden, und dann alle Objekte in diesem Array (und auch die Granate selbst) zerstören (oder den Objekten in dem Array ein "ApplyDamage") hinzufügen.

Einen Knall u ggf. Partikelsystem Effekt käme dann gaaanz zum Schluß.

Momentan bekomm ich das it dem Array aber nicht hin :wacko:
"Eine Signatur ist das Buchstaben-Zahlen-Zettelchen unten an ein einem Buch in der Bibliothek!"



was ich zur Zeit ausprobiere: 3rd person Shooter <- hierfür suche ich noch Unterstützung.


"Lehrjahre": Im Lande der Hasen
mein ewiges Spielprojekt "Straights & Rows".
meine Grafiken "ohne Verwendungszweck"

Martin Mundorf

Treue Seele

  • »Martin Mundorf« ist der Autor dieses Themas

Beiträge: 262

Wohnort: Waldorf, Kr. Ahrweiler

Beruf: Althistoriker

  • Private Nachricht senden

15

25.10.2016, 13:44

also ich hab jetzt hin und her probiert:

über die Tags abzufragen - manchmal spuckt mir die Console zwar ein "boom" aus, wenn ich über debug.log einen collide2D mit dem Tag "Enemy" abfrage, aber nicht immer. Und destroy(other) bzw destroy(gameObeject) wird dabei geflissentlich ignoriert.

Das einzige was klappt, ist die selbstzerstörung nach 3 Sekunden...

hat denn niemand ne Idee wo es dran liegen könnte? ich verzweifel hier :wacko:




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
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;

public class selddestroy : MonoBehaviour
{

    
    void Start()
    {
        Invoke("selfdestruction", 3);

    }

  //void OnTriggerStay2D(Collider2D other)
  //  {

  //      if (other.CompareTag("Enemy"))
  //      {
  //          // Invoke("boom_true", 2);
  //          Destroy(other);
  //      }


  //      boom(other);

  //  }
   void OnTriggerEnter2D(Collider2D other)
    {
        //if (!other.CompareTag("Handgranate"))
        //{
        // Invoke("boom_true", 2);
        //    Destroy(other);
        selfdestruction();
        //}

      //  boom(other); 
    }
    //void OntriggerExit2D(Collider2D other)
    //{
    //    if (other.CompareTag("Enemy"))
    //    {
    //        // Invoke("boom_true", 2);
    //        Destroy(other);
    //    }


    //    boom(other);
    //}

    void boom(Collider2D other)
    {
        if (other.CompareTag("Enemy"))

        {
                        Debug.Log("boom");
            //Destroy(other);
            //Destroy(gameObject);

        }
    }

    void selfdestruction()
    {
        Destroy(gameObject);

    }
  

}
"Eine Signatur ist das Buchstaben-Zahlen-Zettelchen unten an ein einem Buch in der Bibliothek!"



was ich zur Zeit ausprobiere: 3rd person Shooter <- hierfür suche ich noch Unterstützung.


"Lehrjahre": Im Lande der Hasen
mein ewiges Spielprojekt "Straights & Rows".
meine Grafiken "ohne Verwendungszweck"

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

16

25.10.2016, 14:53

Hast du schonmal mit dem Debugger geguckt, was die Physics2D.OverlapCircleAll überhaupt liefert?

Martin Mundorf

Treue Seele

  • »Martin Mundorf« ist der Autor dieses Themas

Beiträge: 262

Wohnort: Waldorf, Kr. Ahrweiler

Beruf: Althistoriker

  • Private Nachricht senden

17

25.10.2016, 17:19

der liefert mir wie gewünscht alle Objekte im Radius...

aber wenns dann zur rigidbody-Addforce Stelle kommt, kommt der Fehler:

Error MissingComponentException: There is no 'Rigidbody' attached to the "Handgranate(Clone)" game object, but a script is trying to access it.
You probably need to add a Rigidbody to the game object "Handgranate(Clone)". Or your script needs to check if the component is attached before using it.

Die Granate hat einen rigidbody, und das script ist ihr auch zu eigen ...

offenbar tritt das bei allen Objekten auf - obwohl sie alle einen Rigidbody haben :fie:



Nachtrag: mittlerweile bekomme ich die Collider zerstört - aber die Gameobjecte bleiben erhalten. Ich bräuchste sowas wie eine "GetParent" anstatt einer GetComponent Funktion... :hmm: mal sehen, wie ich das bewerkstelligen kann...
"Eine Signatur ist das Buchstaben-Zahlen-Zettelchen unten an ein einem Buch in der Bibliothek!"



was ich zur Zeit ausprobiere: 3rd person Shooter <- hierfür suche ich noch Unterstützung.


"Lehrjahre": Im Lande der Hasen
mein ewiges Spielprojekt "Straights & Rows".
meine Grafiken "ohne Verwendungszweck"

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Martin Mundorf« (25.10.2016, 18:00)


Martin Mundorf

Treue Seele

  • »Martin Mundorf« ist der Autor dieses Themas

Beiträge: 262

Wohnort: Waldorf, Kr. Ahrweiler

Beruf: Althistoriker

  • Private Nachricht senden

18

25.10.2016, 18:34

also die colliders liefert mir die CircleOverlappall - da hab ich mich eben vertan.
wenn ich bloß an die Gameobjects herankäme - aber das Log liefert immer nur null ;(


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
    public float radius = 5;
   // public float power = 50;


    void Start()
    {
                //   < -"Lebenszeit"(Wurfzeit) der Handgranate
        Invoke("selfff", 2);
            }

    void selfff()
    {
        Vector2 explosionPos = transform.position;
        Collider2D  [] colliders = Physics2D.OverlapCircleAll(explosionPos, radius);
        foreach (Collider2D   hit in colliders)
        {
            if ((!hit.CompareTag("Handgranate")) && (hit.CompareTag("destructurus")) || (hit.CompareTag("Enemy")))
            {
                //Rigidbody rb = hit.GetComponent<Rigidbody>();
                //if (rb != null)

                GameObject go = hit.GetComponent<GameObject>();
               // if (go != null)
            //    {
                    Debug.Log(go);
                    //    Destroy(go);
              //  }
            }

        }      
        Destroy(gameObject);
    }
"Eine Signatur ist das Buchstaben-Zahlen-Zettelchen unten an ein einem Buch in der Bibliothek!"



was ich zur Zeit ausprobiere: 3rd person Shooter <- hierfür suche ich noch Unterstützung.


"Lehrjahre": Im Lande der Hasen
mein ewiges Spielprojekt "Straights & Rows".
meine Grafiken "ohne Verwendungszweck"

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

19

25.10.2016, 18:44

Du machst das falsch. GameObject ist keine Komponente. Du solltest lieber Google nutzen statt einfach irgendwas zu versuchen. https://www.google.de/search?q=unity+get…mobile&ie=UTF-8
Die Unity-Dokumentation und Google sollten immer deine erste Anlaufstelle sein.

Martin Mundorf

Treue Seele

  • »Martin Mundorf« ist der Autor dieses Themas

Beiträge: 262

Wohnort: Waldorf, Kr. Ahrweiler

Beruf: Althistoriker

  • Private Nachricht senden

20

25.10.2016, 19:12

das GameObject keine Komponente ist weiß ich, und googlen u ich schon den ganzen Tag... nur ich bin mir unsocher wonach
ich suchen sollte...

Das die betreffenden Objekte in ein Array kommen is mir klar - aber für mich stellt sich das Problem so dar, das ich eben nicht ein Array erstellen kann, von der Objekt-type, die ich gerne zerstören möchte.
mit destroy(gameobject) zerstöre ich ein Objekt. Aber leider funktioniert das nicht.
Mit den Collidern geht das - aber dann bleiben die Texturen wo sie sind.
Und den Rigidbodies eine Force zuweisen wär ja ganz nett, aber dann kommt die Fehlermeldung, die Objekte hätten keinen Rigidbody (obwohl sie einen haben)
So stellt sich mir zumindest das Problem dar, nach dessen Lösung ich suche.
"Eine Signatur ist das Buchstaben-Zahlen-Zettelchen unten an ein einem Buch in der Bibliothek!"



was ich zur Zeit ausprobiere: 3rd person Shooter <- hierfür suche ich noch Unterstützung.


"Lehrjahre": Im Lande der Hasen
mein ewiges Spielprojekt "Straights & Rows".
meine Grafiken "ohne Verwendungszweck"

Werbeanzeige