2D tutorials

Anfängerfragen zum Programmieren mit PureBasic.
Impact:)
Beiträge: 20
Registriert: 17.06.2008 17:25

2D tutorials

Beitrag 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:
Benutzeravatar
Mok
BotHunter
Beiträge: 1484
Registriert: 26.12.2005 14:14
Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit
Wohnort:   

Beitrag 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
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Beitrag 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:
Kinder an die Macht http://scratch.mit.edu/
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Beitrag 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...
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
PMTheQuick
Beiträge: 630
Registriert: 05.05.2005 19:06

Beitrag 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 ;)
Impact:)
Beiträge: 20
Registriert: 17.06.2008 17:25

Beitrag von Impact:) »

hi leute


bedanke mich erstmal für eure antworten :allright:






gruß Impact:)
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Beitrag 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:
Zuletzt geändert von Xaby am 12.07.2008 17:26, insgesamt 1-mal geändert.
Kinder an die Macht http://scratch.mit.edu/
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag 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".
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Beitrag 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:
Kinder an die Macht http://scratch.mit.edu/
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Beitrag 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
Kinder an die Macht http://scratch.mit.edu/
Antworten