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

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

11

13.08.2012, 22:59

http://rbwhitaker.wikidot.com/xna-tutorials
Wenn du XNA nicht kannst/kennst, kannst du hier die Tutorials machen. Dort ist auch am Anfang zu C# was. Wie es für mich aussieht, programmierst du noch nicht sehr lange und solltest auch diese Tutorials durcharbeiten. Ansonsten gibt es in XNA die Klasse Vector2D die einen zweidimensionalen Vektor darstellt. Für deinen Schuss/Projektil erstellst du dir eine Klasse, da du mehrere Schüsse haben möchtest, solltest du diese wie bereits gesagt in einer Collection halten. Dafür bietet sich wie auch bereits gesagt die List an. Die Fluggeschwindigkeit rechnest du in jedem Frame / Rechenschritt einfach auf die Position deines Projektils und dadurch fliegt er. Genau das selbe machst du ja an sich auch mit deinem Spieler solange er sich bewegt. Da du bei den oberen Posts aber schon Probleme hattest und vermutlich auch bei diesem haben wirst, fehlen vermutlich einfach Grundlagen und du überschätzt dein Wissen über C#. Nur weil du ein paar Schleifen und IF's zusammen coden kannst bedeutet das nicht, dass du die Sprache wirklich kennst/kannst. Das ist aber ein Problem vieler Neulinge. Alles halb so wild. Wie gesagt, guck dir meinen Link oben mal an und geh die Tutorials Schritt für Schritt durch. Auch bei den C# Grundlagen sind sicherlich viele neue Sachen für dich dabei. Was du schon kennst, kannst du als Auffrischung ansehen;)
Viel Erfolg weiterhin.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

12

14.08.2012, 06:56

Jup, programmieren zu können heißt nicht, dass man 70% der Elemente einer Sprache kennt, sondern dass man 100% der Elemente (Sprach-Elemente, nicht die Bibliotheken. Letztere kann ein guter Programmierer auch nachschlagen) sofort so zusammen verwenden kann, dass man das Ziel erreicht. Das heißt die Schwierigkeit liegt im algorithmischen Denken. Der Rest ist nur Werkzeug, welches man kennen und richtig verwenden muss.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

MrZylox1998

Treue Seele

  • »MrZylox1998« ist der Autor dieses Themas

Beiträge: 186

Wohnort: Bayern

Beruf: Schüler(9.Klasse)

  • Private Nachricht senden

13

14.08.2012, 11:00

Danke für eure antworten,
Ich werde die Tutorials durchgehen, und sicher noch viele andere:D

ICh habe das mit dem schuss nochmal proiert, ich bekomms ned hin, deswegen lerne ich glaub ich erstmal so C#,
und dann seh ich mal weiter,
bei mir kommen keine schritte hin, sondern bei mir kommt immer ein strahl, der auch nicht in schritten länger und länger wird,
aber egal.

mFG MrZylox
Jetzt -- ist schon vorbei.

Rechtschreibfehler sind Spezialeffekte meiner Tastatur!

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

14

14.08.2012, 12:25

Gut, lass dir Zeit bei allem, nur falls dich "die Lösung" interessiert:

Och klingt doch gar nicht so schlecht, du bräuchtest jetzt vielleicht eine "Verzögerung" damit der Spieler nicht ohne Unterbrechung schießen kann. Für den Anfang könntest du da einen Zähler hochrechnen:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
nächstenSchussErlauben = 1; // wenn 1 = feuer!

update(){
    if(nächstenSchussErlauben < 1){
        nächstenSchussErlauben += 1/fps; // 1 Schuss pro Sekunde
    }

    if(nächstenSchussErlauben >= 1){ // >= weil 1/fps am Ende nicht genau 1 ergeben muss
        schießen();
    }
}

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

15

14.08.2012, 12:41

1/int = 0
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

16

14.08.2012, 12:45

Achso ich wollte ein float nehmen, sorry ^^

17

14.08.2012, 22:36

Hey MrZylox1998.
Hast du dir schonmal die SFML angeschaut? Das, was du damit umsetzen kannst, ist unbeschreiblich :D Das Einlesen/arbeiten dauert nichtmal eine Woche, gar einen Tag, wenn man besonders gute Kenntnisse hat ;)

mfg. denniro
Only God can judge me.

MrZylox1998

Treue Seele

  • »MrZylox1998« ist der Autor dieses Themas

Beiträge: 186

Wohnort: Bayern

Beruf: Schüler(9.Klasse)

  • Private Nachricht senden

18

29.08.2012, 14:04

Nach langer überlegung steige ich nun doch auf c++ um,
auch wenn es angeblich soo schwer ist, mir persönlich gefällt C++ besser,
und ich werde SFML benutzen, aber ich lerne ersteinmal c++ richtig ^^

So dann hab ich auchnoch fragen:
was haltet ihr von C++ ?
Soll ich SFML benutze
Und kennt ihr gute tuts für c++ und sfml ?
Dieses c++ in 21 tagen undso kenne ich schon das ist nichts für mich.

//edit: Danke für eure antworten =D

MfG MrZylox
Jetzt -- ist schon vorbei.

Rechtschreibfehler sind Spezialeffekte meiner Tastatur!

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

19

29.08.2012, 14:45

Erst mal solltest du dafür einen neuen Thread aufmachen, da es hier um ein anderes Thema geht;)
Des weiteren ist so ein Sprachwechsel oft ein unsinniger Schritt. Hinterher macht es durchaus Sinn, aber dann auch aus guten Gründen. Am Anfang überfordert das den lernenden eigentlich nur, da er so verschiedene Sachen kennen lernt und durcheinander bringt. Dazu kommt der Grund aus dem man am Anfang womöglich die Sprache wechselt. Du schriebst, dir gefällt C++ besser. Für die Teile die du bereits kennst, dürften eigentlich wenig Unterschiede zu sehen sein. Die Syntax wirkt in vielen Bereichen ja sehr ähnlich. Klar gibt es Unterschiede und ich persönlich bin froh irgendwann eingesehen zu haben, dass man sich die Sprache nach der Anforderung aussucht und deswegen für meine Probleme fast ausschließlich C# benutze, aber das ist ein anderes Thema. Ich glaube zum Beispiel dass du wechselst weil du dir dadurch erhoffst einfacher und besser voran zu kommen. Ohne jetzt hier eine Diskussion über die bessere Sprache losbrechen zu wollen, welche meiner Meinung nach auch zu keinem Ende kommen kann. C# ist für den lernenden anfänglich sicherlich einfacher. Vieles an technischer Arbeit wird dir abgenommen. Solange du unter Windows entwickelst steht dir das mächtige .Net Framework zur Verfügung von dem du noch lange überhaupt nicht wissen wirst, wie wichtig es für dich ist und wie sehr es dir weiterhelfen kann. Bei C++ gibt es durch STL und Co auch viel Hilfe, aber einfacher zu benutzen finde ich immer noch C#. Guck vielleicht einfach mal nach bestimmten Problemen im Forum. Strings sind ein gutes Stichwort, Abhängigkeiten in Headern ein weiteres. Debuginformationen gehören auch dazu. Drei Punkte, bei denen es mit C++ oft zu Problemen kommt. Durchsuch einfach mal das Forum.
Nun warum Anfänger damit unter C++ Probleme haben hat viele verschiedene Gründe. Wie gesagt durchsuch ein bisschen das Forum und guck dir die Threads dazu an. Ich möchte damit nicht von C++ abschrecken, denn auch C# hat sicherlich seine Tücken, aber du solltest nicht meinen, dass dir das entwickeln leichter fällt sobald du auf C++ umgestiegen bist.
Wie gesagt, obiges entspricht meiner Meinung und ich sehe auch die Vorteile die C++ haben kann, jedoch lernen es die meisten weil sie meinen somit das "richtige" zu lernen und das ist halt nun mal Schwachsinn.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

MrZylox1998

Treue Seele

  • »MrZylox1998« ist der Autor dieses Themas

Beiträge: 186

Wohnort: Bayern

Beruf: Schüler(9.Klasse)

  • Private Nachricht senden

20

29.08.2012, 14:52

Ich geb dir schon recht, und ich weiss für anfänger
Ist c# leichter.
Ich denke nicht dass es einfacher wird im gegenteil
Es wird sicher schwerer aber dass war mir bewusst(:
Jetzt -- ist schon vorbei.

Rechtschreibfehler sind Spezialeffekte meiner Tastatur!

Werbeanzeige