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

Martin Mundorf

Treue Seele

  • »Martin Mundorf« ist der Autor dieses Themas

Beiträge: 262

Wohnort: Waldorf, Kr. Ahrweiler

Beruf: Althistoriker

  • Private Nachricht senden

1

23.10.2016, 18:52

Die Abenteuer des Athanasius Weitwinkel

Hallo zusammen :-)

Da ich mein aktuellen Projekt betreffend schon zwei "Problem-Threads" eröffnet habe, und es müßig finde, dies immer wieder aufs neue zu tun, möchte ich mein Projekt - ein simples jump&run -Spiel hier vorstellen.

im Prinzip habe ich nach youtube-Tutorial von "Hummelwalker" ( https://youtu.be/BMVef0bAtSE ) soweit es geht nachgebaut. Ich bin was C# / Unity anbelangt noch blutiger Anfänger, aber habe mich bis jetzt schnell zurecht gefunden. So habe ich zB. schon eigenständig Lösungen über das, was in diesem Tutorial erklärt wird, hinaus gefuden: wie man nicht nur ein Medi-Kit, sondern gleich zwei verschiedene aufsammelt etc.

ich möchte gerne in diesem Thread sowohl Fragen zur Programmierung stellen, aber auch meine Fortschritte zeigen, da ich gemerkt habe, das auch andere "Frischlinge" unterwegs sind, die dieses oder ähnliche Tutorials als Lerngrundlage haben. Vielleicht kann man sich so gegenseitig helfen.

Bislang funktioniert: ein spielbares Level. Alles andere muß ich noch in unity/ C# erkunden und lernen (es gibt da so zwei drei Sachen, die ich gerne einbauen würde, bevor ich mehrere Level o.ä. baue)

Worauf ich "stolz" bin - das ich meine selbstgezeichneten Grafiken verwende. Die sehen zwar etwas Cartoonhaft aus, aber das ist mein Stil. (ich habe festgestellt, das Tutorial-grafiken durchweg recht simpel gestrickt sind - meine Zeichnungen mit Photoshop und unity zum "Leben" zu erwecken macht mir fast mehr Spaß, als das programieren selbst :P

Zum Spiel selbst: Athanasius Weitwinkel ist ein humanoider Hase, der mehr oder weniger freiwillig in einem Wüstengebiet auf Terroristenjagd gehen muß - diese Idee entsammt einer Fortsetzungsgeschichte auf meinem blog.

bislang kann Weitwinkel laufen und schießen, sowie Items einsammeln. Ich würde ihm gern noch das kämpfen mit dem Schwert (Schaden den Feind zufügen) und die Schußwaffe wechseln beibringen. Die Gegner ("böse Terroristen") stehen bislang noch wie Pappkameraden in der idle-Bewegung herum, und können noch nicht laufen oder zurückschießen - das sind so Dinge, die ich gerne noch Stück für Stück lernen möchte und im Erfolgs/Verzweiflungsfalle gerne hier zur Schau stellen möchte. :)
»Martin Mundorf« hat folgende Bilder angehängt:
  • merch_3_kl.jpg
  • MPi_2.png
  • 9mm.png
  • 9mm_2.png
  • magazin.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"

Martin Mundorf

Treue Seele

  • »Martin Mundorf« ist der Autor dieses Themas

Beiträge: 262

Wohnort: Waldorf, Kr. Ahrweiler

Beruf: Althistoriker

  • Private Nachricht senden

2

23.10.2016, 20:00

Sprites zur Laufzeit wechseln

...und schon knabbere ich am ersten Stolperstein herum... ich möchte diese beiden Spritetexturen zur Laufzeit hin und her wechseln können (u ggf. den angehangenen Spawn Punkt für die Geschosse ändern, aber das geht glaub relativ einfach).
Jedenfalls hab ich die Aufrufungs-routine schon hinbekommen, aber mein googlen nach welcher Klasse bzw. welcher Funktion die benötigt wird, war nicht weiterbringend.

C#-Quelltext

1
2
3
4
5
6
7
8
9
10
     public Sprite img1 , img2;
     
     void SetSprite()
     {
         gameObject.GetComponent<SpriteRenderer>().sprite = img1;
     }
     void SetSprite2()
     {
         gameObject.GetComponent<SpriteRenderer>().sprite = img2;
     }


das hab ich zwar im Netz gefunden, aber ich bin mir nicht sicher wo und wie ich das aufrufen kann. Hat da jemand vlielleicht einen Tip?
»Martin Mundorf« hat folgendes Bild angehängt:
  • arm_wechs.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"

Martin Mundorf

Treue Seele

  • »Martin Mundorf« ist der Autor dieses Themas

Beiträge: 262

Wohnort: Waldorf, Kr. Ahrweiler

Beruf: Althistoriker

  • Private Nachricht senden

3

23.10.2016, 20:37

Nachtrag: ich habe das Problem gelöst: der betreffende Arm hat ein eigenes Script bekommen, das ihn die Texturen auswechseln läßt

(jetzt muß ich nur noch den Spawn Point mit verschieben... :hmm:

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
 public Sprite Luger;
    public Sprite MPi;

    public bool pist = true;
    public Vector2 pos;


    // Use this for initialization
    void Start()
    {

        gameObject.GetComponent<SpriteRenderer>().sprite = Luger;
     //   gameObject.GetComponentInChildren<SpawnPoint>().
   
    }

    void FixedUpdate()
    {
        if (Input.GetKeyDown(KeyCode.H))
        {
            if (!pist)
            {
                gameObject.GetComponent<SpriteRenderer>().sprite = Luger;
                pist = true;
            }
            else
            {
                gameObject.GetComponent<SpriteRenderer>().sprite = MPi;
                pist = false;
            }
        }



    }
} 
"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

4

24.10.2016, 14:51

verschiedene Kampfmodi umgesetzt :)

Update: es ist zwar nur ein kleiner Schritt für die menschheit, aber für mich ists ein großer Schritt:

mein Spielcharakter kann nun nicht nur laufen , springen und schießen, sondern:


- Schußwaffen wechseln (dh. zwischen Einzelschuß und Salve)
- Sekundärwaffen wechseln - d.h. zwischen Säbel und Granatenwurf.
- Spielmusik läßt sich muten
- Spiel läßt sich unterbrechen oder vorzeitig verlassen

die nächste Baustelle ist, daß die Granate bei ihrer Zerstörung eine Explosion/Gegnerzerstörung performt. (siehe angehangenen Code) - ich denke über eine Lösung mit einem Trigger-Collider nach.

Sodann möchte ich, daß der Säbel während des "Schwertangriffs" (bool ja oder nein) dem Gegner Schaden zufügt - aber eins nach dem anderen.

Außerdem habe ich mein "GUI Interface" etwas neu gestaltet :)

Um Vorschläge bin ich natürlich immer sehr dankbar.

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
public class selddestroy : MonoBehaviour
{
 
    public GameObject obj;
      
  
    void Start()
    {

        // <- "Lebenszeit" (Wurfzeit) der Handgranate
         
       Invoke("selfff", 2);

    }
    
  


    void selfff()
    {

      // < -- hier wäre mMn. die Explosion anzusiedeln...

        Destroy(obj);

    }



}
»Martin Mundorf« hat folgendes Bild angehängt:
  • merch_7.jpg
"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

5

24.10.2016, 19:12

Handgranaten-Explosionen...

Ich komme nicht so recht vorwärts bei der Explosion meiner Handgranaten... hat jemand eine Idee?


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
    void Start()
    {

      //   < -"Lebenszeit"(Wurfzeit) der Handgranate

         Invoke("selfff", 2);

    }

    void selfff() {
            Vector2 explosionPos = transform.position;
            Collider2D[] colliders = Physics2D.OverlapCircle(explosionPos, radius,1,0,5);
            foreach (Collider2D hit in colliders)
            {
                Rigidbody rb = hit.GetComponent<Rigidbody>();

                if (rb != null)
                    rb.AddExplosionForce(power, explosionPos, radius, 3.0F);
            
            }
      //  Destroy(hit);
        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

Martin Mundorf

Treue Seele

  • »Martin Mundorf« ist der Autor dieses Themas

Beiträge: 262

Wohnort: Waldorf, Kr. Ahrweiler

Beruf: Althistoriker

  • Private Nachricht senden

7

24.10.2016, 19:55

ich bekomme die Fehlermeldung

"Error CS0029 Cannot implicitly convert type 'UnityEngine.Collider2D' to 'UnityEngine.Collider2D[]' "

ich hab auch schon vor Verzweiflung die Physics/Collider -"2D" weggelassen - irgendwann gabs dann keine Fehlermeldung mehr, aber es tat sich nichts. Die geworfene Granate blieb einfach liegen... :hmm:
"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

9

24.10.2016, 21:24

ah... danke...

Jetzt ist der Fehler weg, und die Granate verschwindet... aber einen Einfluß auf die umgebenden Objekt hats noch nicht...stehe da noch etwas auf dem Schlauch... :hmm:
"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

10

24.10.2016, 22:30

Evtl. ist die Kraft bzw. der Radius zu klein?

Werbeanzeige