Seite 1 von 2

2D tutorials

Verfasst: 11.07.2008 23:21
von Impact:)
hio leute :mrgreen:

hi ich hätte da mal eine frage an euch

also kennt ihr tutorials wo in richtung 2D spiele gehen ??


würde mich freuen auf eine antwort und hoffe diesmal das ihr wisst was ich meine^^:allright:

bedanke mich schon mal im voraus für jede antwort:D


______________________________
ich habe PureBasic4 3D Game Developer :allright:

Verfasst: 12.07.2008 10:14
von Mok
Ich mach gerade eins für 2D-Drawing... Spiele is wieder was anderes, aba wenn du ein paar Collisionen hier einfügst, ein paar Keyboardbefehle da, und so weiter, wird es schon Spiele-like ;)
Einfach rumprobieren

MfG, M :D k

Verfasst: 12.07.2008 13:49
von Xaby
http://www.purebasic.fr/german/viewtopi ... light=ball

http://www.purebasic.fr/german/viewtopi ... light=ball

Was möchtest du machen?

Es gibt hier im Forum für alles mögliche Anleitungen.

Das Problem mit deiner Fragestellung ist, dass die Antwort dich einfach überlasten würde.
- Du kannst Spiele mit 2D-Drawing-Befehlen machen
- Du kannst welche mit Sprites machen
- Du kannst theoretisch auch welche in der Textconsole basteln
2D-Drawing-Spiele:
http://www.purebasic.fr/german/viewtopi ... =drawmania

Am Anfang solltest du dir überlegen, was du eigentlich möchtest.
Möchtest du ein 2D-Jump'n'Run, eine Aufbausimulation, ein Rollenspiel oder Knobelaufgaben. Oder Tetris ...

Ein Konzept muss her, was du mit deinem Spiel bezwecken willst.
Dann kannst du dir um die Umsetzung Gedanken machen.

Wenn du eine Maus als Steuerung willst: ExamineMouse(), InitMouse() ...
Für die Tastatur: ExamineKeyboard(), InitKeyBoard()

Soll in deinem Spiel später auch Ton vorkommen:
InitSound() ...

Dein Grundgerüst wird immer so aussehen:

>>>>>>>> PureBasic-Hilfe: 2D Spiele & Multimedia Libraries

>>> PureBasic - Sprite

Code: Alles auswählen

;
; ------------------------------------------------------------
;
;   PureBasic - Windowed Screen example file
;
;    (c) 2006 - Fantaisie Software
;
; ------------------------------------------------------------
;

If InitSprite() = 0 Or InitKeyboard() = 0
  MessageRequester("Error", "Can't open DirectX 7 or later", 0)
  End
EndIf

If OpenWindow(0,0,0,410,310,"A screen in a window... using gadget and sprites!",#PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_ScreenCentered)
  If CreateGadgetList(WindowID(0))
    ButtonGadget(1,340, 10,60,20,"Button 1")
    ButtonGadget(2,340, 40,60,20,"Button 2")
    ButtonGadget(3,340, 70,60,20,"Button 3")
    TextGadget  (4,340,110,60,30,"")
  EndIf

  If OpenWindowedScreen(WindowID(0),5,5,320,300,0,0,0)
    CreateSprite(0,20,20)
    ; Draw some red line on our sprite
    If StartDrawing(SpriteOutput(0))
      FrontColor(RGB(255,0,0))
      For k = 0 To SpriteHeight(0) Step 2
        Line(0, k, SpriteWidth(0), 0)
      Next
      StopDrawing()
    EndIf
    CopySprite(0,1)
    CopySprite(0,2)
  Else
    MessageRequester("Error", "Can't open windowed screen!", 0)
    End
  EndIf

EndIf

direction = 1
playerX = 1
playerY = 1

Repeat
  Event.l = WindowEvent()    
  
  If Event = #PB_Event_Gadget
    ; do the normal application stuff here...
    Gadget  = EventGadget()  

    Select Gadget
      Case 1, 2, 3
        SetGadgetText(4,"Button "+Str(Gadget)+" pressed.")
    EndSelect
  Else
    ; do the sprite & screen stuff here...
    FlipBuffers()       ; Inverse the buffers (the back become the front (visible)... and we can do the rendering on the back
    ExamineKeyboard()
    If KeyboardPushed(#PB_Key_Up)    And playerY > 0   : playerY -3 : EndIf  
    If KeyboardPushed(#PB_Key_Down)  And playerY < 280 : playerY +3 : EndIf  
    If KeyboardPushed(#PB_Key_Left)  And playerX > 0   : playerX -3 : EndIf  
    If KeyboardPushed(#PB_Key_Right) And playerX < 300 : playerX +3 : EndIf  
    
    ; Clear the screen and draw our sprites
    ClearScreen(RGB(0,0,0))
    ClipSprite(0, 0, 0, x, x/8)
    DisplaySprite(0, x, 100)
    DisplaySprite(1, x, x)
    DisplaySprite(0, 300-x, x)
    DisplaySprite(2, playerX, playerY)

    x + direction
    If x > 300 : direction = -1 : EndIf   ; moving back to the left with negative value
    If x < 0   : direction =  1 : EndIf   ; moving to the right with positive value
    
    Delay(1)
  EndIf

Until Event = #PB_Event_CloseWindow Or KeyboardPushed(#PB_Key_Escape)

End   

Obwohl es hier unsinnig ist, den Auszug aus der Hilfe zu kopieren.
Aber du scheinst es ja sonst nicht richtig zu finden :?

Es hilft doch nichts, wenn du immer wieder die gleiche Frage stellst und
Anleitungen für Spiele haben möchtest. Was für Spiele denn?
Am Ende wird jemand dir ein Spiel vorsetzen und du wirst dann
auch nur genau dieses Spiel mit der Anleitung wieder bauen können.

Etwas Eigeninitiative ist gefragt.

Ich kann dir auch eine Prozedur schreiben, wenn du willst

Code: Alles auswählen

Global Spieleigenschaft.s="Super cooles Spiel"
MachSpiel("Für mich")
:roll:

Verfasst: 12.07.2008 14:25
von Danilo
Xaby hat geschrieben:Etwas Eigeninitiative ist gefragt.
Impact:) ist ja schon aktiv geworden und hat hier die Frage
gestellt und bittet um Hilfe - was ich durchaus positiv bewerte,
denn es zeigt schonmal Interesse.

Ich könnte mir vorstellen das Impact:) nicht richtig weiß wo er
anfangen soll... das er vielleicht ein bißchen "an die Hand genommen"
werden möchte.
Dazu würde sich, meiner Meinung nach, bestimmt ein Buch gut machen.

Es gibt viele Bücher zum Thema Spieleprogrammierung, -design usw.,
wo man etliche Techniken/Methoden/Algorithmen kennenlernen kann.
Es soll doch ein Buch für PB geben, wo auch ein Spiel entwickelt wird,
so dass ein Einsteiger etwas daraus lernen kann und erstmal einen
Start hat? Da mich das nie interessiert hat, weiß ich aber nichts über
dieses PB-Buch (nur englisch verfügbar?).
Aus meiner Bibliothek wüßte ich auch nicht was ich Impact:) empfehlen
könnte, da es nichts für absolute Anfänger ist und oftmals auch C++ Code
enthält, was für PureBasic-Anfänger nicht gerade ideal ist.

Ich denke aber das ist die Richung die Impact:) sucht. Ein Buch oder
ein ausführliches Tutorials, das ihn ein bissl an die Hand nimmt und
ihm die richtige Richtung zeigt.

Vielleicht kennt hier jemand sowas in der Richtung...

Verfasst: 12.07.2008 14:42
von PMTheQuick
Wie wärs noch damit?
http://www.robsite.de/daten/tutorials/PURE-Kurs.zip
Da entwickelste nen kleines Weltraumballerspiel... Aber du musst auch Basics beherrschen!

Gruss
PMTheQuick ;)

Verfasst: 12.07.2008 16:17
von Impact:)
hi leute


bedanke mich erstmal für eure antworten :allright:






gruß Impact:)

Verfasst: 12.07.2008 17:04
von Xaby
@PMTheQuick

Die Idee des Tutorials ist ja super,
nur leider hoffnungslos veraltet.
Da gab es scheinbar noch keine Prozeduren in PureBasic.
(na ja, zu mindest ist der Code nur nach einigen Änderungen ausführbar und sobald ich ein Schiff zur Explosion bringe, stürzt das Programm ab)

Und mir ist auch nicht klar, wozu GOSUB und RETURN verwendet werden.
Das kann man auch mit Prozeduren machen.

:? Ich bin dafür, dass wir eine Hilfe speziell für
komplette Programmieranfänger auf die Beine stellen.

:roll:

Verfasst: 12.07.2008 17:17
von DarkDragon
Xaby hat geschrieben:@PMTheQuick

Die Idee des Tutorials ist ja super,
nur leider hoffnungslos veraltet.
Da gab es noch keine Prozeduren in PureBasic.
PureBASIC Version 3.81
:wink: Da gab es schon lange Prozeduren.

[EDIT]
Wird dort sogar verwendet:
Zu guter letzt benutzen wir noch Procedure, um den weiteren Umgang mit den Schüssen zu "automatisieren".

Verfasst: 12.07.2008 17:23
von Xaby
Dann verstehe ich nicht, wieso im Kurs7 alles voll von GOSUB und RETURN ist :?

Hab meinen Text noch mal geändert. Natürlich gab es da schon Prozeduren. Hab ja selbst PureBasic 3.3 benutzt. Und da sich an der Syntax im 2D-Spielebereich nicht viel getan hat, brauchte man auch nur einige Befehle etwas abändern.

Aber genau diese kleinen Abänderungen machen es einem Anfänger sehr schwierig den Einstieg zu finden, weil er ja weder die richtig noch die alte Syntax kennt.

Und mir fehlen Bildchen und die Gestaltung der HTML-Dokumentation könnte schicker sein.

Da hat sich von 2003 bis 2008 doch einiges getan.
Kleine fliegende Schiffe in einer GIF-Animation oder bewegte Sprites über
JavaScript und DHTML wären auch cool.

Aber ich sag mal nicht zu viel, nachher muss ich noch ran und so etwas machen :shock:

Verfasst: 13.07.2008 16:10
von Xaby
Irgendwann gibt es etwas ähnliches sicherlich auch für PureBasic

http://de.youtube.com/watch?v=2mp2vc8owAk&NR=1

Pong mit einem "GameMaker"
http://de.youtube.com/watch?v=4X39JsxLrMc

Fast so einfach geht es mit PureBasic auch :roll:

Monsters und Sprites
http://de.youtube.com/watch?v=xtBIOHfJtts

Fetziges Spiel
Schnell gebastelt:
(und nicht in englisch)
http://de.youtube.com/watch?v=_K90jeh-IHM