Hallo GamerIII
ein
Timer ist schon die richtige Wahl, nur scheinst du einige Grundlagen der C#-Programmierung noch nicht richtig zu beherschen:
- Methoden können nicht geschachtelt werden, d.h. du mußt die Tick-Methode außerhalb deiner aktuellen Methode definieren
- Um Zugriff von einer anderen Methods aus auf die PictureBox zu erhalten, solltest du diese Variable als Klassenmember (
private PictureBox SchussP) anlegen
Wenn es bei dir mehr als
einen Schuss parallel geben soll, solltest du die Schüsse in einer Liste
List<T> ablegen und dann nur genau einen Timer erzeugen (in dessen
Tick-Methode du dann die Liste iterierst und jeden Schuss bewegst).
P.S. Das Koordinatensystem geht bei Windows von oben links nach unten rechts, d.h. damit der Schuss nach oben geht, mußt du
SchussP.Top -= 5; benutzen. Außerdem solltest du dann eine Abbruchbedingung benutzen, damit der Schuss nicht ins Unendliche läuft.
