Was soll man als Neuling lernen bzw. wo ??

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

Stani

Betreff: Was soll man als Neuling lernen bzw. wo ??

BeitragFr, März 26, 2010 17:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen,

wie man sieht binich neu hier.Ich lerne seit ein paar Tagen mit Blitz3D zu programmieren und wolte mal was fragen.
Gibt es irgendwo Tutorials oder sowas ,wo das Grundgerüst erklärt wird??Ich hab mir mal die Hilfe von hier runtergeladen wo es die ganzen Befehle gibt,aber was nützen die einem wenn man nichtmal das Grundgerüst von einem 3D Programm hat.

Es währe wirklich sehr nett,wen mit jemand eine Seite sagen kann.

Und in Youtube hab ich auch schon mal diese Blitz Basic videos angeguckt,aber die brachtn nicht viel.

Mein Ziel: Mein Ziel ist es in den nächsten Tagen(Wochen...) ein 3D Spiel zu konstruieren.Es soll nur sowas wie Pong oder Tetris sein.Ich hab auch schon alles schön geplant(Design....).

Mfg Stani

Eingeproggt

BeitragFr, März 26, 2010 17:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Ganz einfach
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9
 

Lion

BeitragFr, März 26, 2010 17:37
Antworten mit Zitat
Benutzer-Profile anzeigen
http://de.wikibooks.org/wiki/B...C3.BChrung

Soll einige geben, die damit anfangen.
Ich selber kenne das Tutorial nicht direkt, aber du kannst es dir ja sicher mal anschauen. Ansonsten nutz mal die Suche und such nach Robsite Tutorials.
Intel Core 2 Quad 4x2.66 ghz - 4gb ddr2 - nvidia GeForce GTX660 2gb
Intel Atom 1x1.83 ghz - 2gb ddr2 - intel GMA 3150 256mb
AMD A10-5750M 4x2.5 ghz - 8 gb ddr4 - AMD R9 M290x

blackgecko

BeitragFr, März 26, 2010 17:38
Antworten mit Zitat
Benutzer-Profile anzeigen
https://www.blitzforum.de/scene/links/tutorials/
So long and thanks for all the fish.
Fedora 17 | Windows 7 || BlitzPlus | BlitzMax
Rechtschreibflame GO!!! Deppenapostroph | SeidSeit | Deppenakzent | DassDas | Deppenleerzeichen | TodTot | enzigste.info - Ja, ich sammel die.

TimBo

BeitragSa, März 27, 2010 13:58
Antworten mit Zitat
Benutzer-Profile anzeigen
schau dir das mal an :
https://www.blitzforum.de/foru...hp?t=33687

beschäftigt sich kurz und knapp mit dem Grundgerüst.
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.
 

Stani

BeitragSa, März 27, 2010 18:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok Danke ich hab mir alles mal durchgeguckt.Ich hab mal noch eine kleine Frage:

Ich will mir ein Abschiess Spiel machen(2D).Hab schon alles zusammen.Die Maus ist halt ein Punkt mitdem ich immer ein Gegner abschiessen soll(Strichmenchen^^).

Da wolte ich jetzt eine Treffer Funktion machen,die halt wenn ich mit dem Punkt auf dem Gegner Bild bin und auf MouseHit(1) drücke ,dan die Punkte dazu kommen und sowas.

Ich weiß jetzt nicht wie ich das mit dem Maus auf Gegner und Taste drücken machen soll.Mit den Variablen ist das ja kein Problemm und mit Drawimage Gegner kann ich immer die Gegner wo anders postizionieren aber das eine versth ich garnicht.

Tut mir leid ,dass ich jetzt vielleicht etwas unverständlich schreibe aber ich *bin aufgeregt*.

Mfg Stani

Hubsi

BeitragSa, März 27, 2010 18:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Du prüfst auf MouseHit. Wenn das zutrifft wird mittels MouseX() und MouseY() eine simple Prüfung ausgeführt ob die Mauskoordinaten innerhalb der Bildkoordinaten + Bildgröße X/Y sind. Trifft auch das noch zu die finale Rechnung: punkte = punkte + irrsinnig_viele_Punkte. Mehr ist da gar nicht mal zu machen Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Xeres

Moderator

BeitragSa, März 27, 2010 18:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Nicht übersehen:
BlitzFAQ: Wie kann ich Mausklicks richtig abfragen?
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

Stani

BeitragSa, März 27, 2010 18:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok ich hab das mit der Collision gefunden(was ich eigendlich meinte).
 

Stani

BeitragMo, März 29, 2010 10:06
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hab noch eine kleine Frage.Wie bewegt man ein Objekt in 2D??
Es gibt bei 3D Move/TurnEntity aber in 2D hab ich garnichts gefunden.Kann mir da einer helfen??

Danke

Thunder

BeitragMo, März 29, 2010 10:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Im 2D-Raum bewegst du Objekte indem du sie löscht und neu zeichnest. Das ganze geht dann aber so schnell, dass du nichts davon mitbekommst. Die Neupositionierung musst du durch das Verändern von Variablen machen, die die X- bzw. Y-Koordinate des Objekts darstellen. Ein Beispiel:

BlitzBasic: [AUSKLAPPEN]
Graphics 800,600,0,2
SetBuffer BackBuffer()

Local x%,y%=300

Repeat
Cls ; Bildschirminhalt löschen
Rect x,y,5,5 ; Das Erhöhen der X-Koordinate bringt aber nichts, wenn man das Objekt nicht neu zeichnet
Flip ; Buffer "flippen"
x=x+1 ;Hier wird die X-Koordinate um 1 erhöht
Until x>=800
End


mfg Thunder


Edit: Zwar schneller, aber count-doku's Beispiel ist besser, da er den Timer mit Flip 0 verwendet.
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit
  • Zuletzt bearbeitet von Thunder am Mo, März 29, 2010 10:37, insgesamt einmal bearbeitet

count-doku

BeitragMo, März 29, 2010 10:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Du änderst einfach die Koordinaten die du bei dem Zeichenbefehl angibst.
Das musst du tun, weil es bei 2D keine "Objekte" gibt.
z.b:BlitzBasic: [AUSKLAPPEN]
Graphics 800,600,32,2;Grafikfenster initialisieren
SetBuffer BackBuffer();Hinteren Puffer verwenden

Local timer=CreateTimer(30);30 mal in der Sek. einen Tick geben
Local x=50,y=50;Startkoordinaten für Oval festsetzten.
While Not KeyHit(1);Solange nicht ESC gedrückt wird
Cls;Bildschirm löschen
x=x+(KeyDown(205)-KeyDown(203));Pfeiltasten abfragen und evtl. Koordinaten verändern
y=y+(KeyDown(208)-KeyDown(200))
Oval x,y,10,10,1;Ein Oval an den Koordinaten zeichen
WaitTimer timer;Auf Timer Tick warten
Flip 0;Auf Bildschirm bringen
Wend
End


mfg,
count-doku
 

Stani

BeitragMo, März 29, 2010 11:20
Antworten mit Zitat
Benutzer-Profile anzeigen
ok danke hab mal ein Code geschrieben:
Code: [AUSKLAPPEN]

Graphics 800,600,32,2


Global brett = LoadImage("brett.bmp")
Global x%,y%

x=10
y=300


CreateTimer(60)

SetBuffer= BackBuffer()


Repeat

Cls

If KeyDown(200) = 1 Then
   y = y-5
End If
If KeyDown(208) = 1 Then
   y = y+5
End If


DrawImage brett,x,y



Flip

Until KeyDown(1)





Solte soweit richtig sein.
Jetzt muss ich nur noch irgendwie die Bsllbewegung und die fenstergrenze festlegen...^^

Thunder

BeitragMo, März 29, 2010 11:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich würde mir an deiner Stelle nochmal die Grundlagen anschauen. Es heißt "SetBuffer BackBuffer()". Auch CreateTimer(60) bringt dir so nichts, wie du es verwendest. Du musst den Timer in eine Variable speichern, sonst geht er verloren. CreateTimer, SetBuffer

Für die Fenstergrenze überprüfst du einfach nur, ob das Objekt schon aus dem Fenster draußen ist. Wenn ja, positionierst du es wieder an die Kante.


mfg Thunder
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit
 

Stani

BeitragMo, März 29, 2010 12:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Könnt ihr mir immer so etwas weiterhelfen??Ich programmier ja gerade Pong und kann ja mal immer mein aktullen Code reinschreiben.

Jo0oker

BeitragMo, März 29, 2010 12:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich empfehle dir:
-Eine saubere Struktur
-EInrücken
-Kommentare

Dann könnte dein Code wie folgt aussehen:

BlitzBasic: [AUSKLAPPEN]

; ------------------------------------------------

Graphics 800,600,32,2

SetBuffer BackBuffer()
; ------------------------------------------------

; ------------------------------------------------
; Varaiblen deklareiren
Global brett
Global x%,y%
Global Timer
; ------------------------------------------------

; ------------------------------------------------
; Bilder laden
brett = LoadImage("brett.bmp")
; ------------------------------------------------

; ------------------------------------------------
; Startkoordinaten setzten
x = 10
y = 300
; ------------------------------------------------

; ------------------------------------------------
; Timer erstellen
Timer = CreateTimer(60)
; ------------------------------------------------

; ------------------------------------------------
; Hauptschleife
Repeat

; ------------------------------------------------
; Frontbuffer leeren
Cls
; ------------------------------------------------

; ------------------------------------------------
; Benutzereingabe
If KeyDown(200) = 1 Then
y = y - 5
End If

If KeyDown(208) = 1 Then
y = y + 5
End If
; ------------------------------------------------


; ------------------------------------------------
; Alle BIlder zeichnen
DrawImage brett,x,y
; ------------------------------------------------

; ------------------------------------------------
; Timer
WaitTimer(Timer) ;Ohne diese Zeile nützt dein Timer garnichts!

Flip 0 ;Wenn du ein Timer nutzt, muss du bei Flip den Parameter auf 0 setzten
; ------------------------------------------------

Until KeyDown(1)
; ------------------------------------------------




lg Jo0oker
Tehadon, das kostenlose 3D RPG
www.tehadon.de
http://www.blitzforum.de/worklogs/14/
Das Abenteuer wird beginnen!

Hubsi

BeitragMo, März 29, 2010 12:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Es wird Dir bei Problemen immer gerne geholfen, aber ich denke es wird sich keiner immer den kompletten Code reinziehen. Sowas geht ja schnell mal über ein paar hundert Zeilen. Aber, wie gesagt, bei Gottogott Problemen hier und ichkommnichtweiter Sorgen dort findest Du hier sicher immer schnelle Hilfe Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

Stani

BeitragMo, März 29, 2010 12:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Also so sieht das alles im Moment aus:Code: [AUSKLAPPEN]
Graphics 1024,768,32,1
SetBuffer BackBuffer()

Local timer = CreateTimer(200)
Global brett1 = LoadImage("brett.bmp")
Global brett2 = LoadImage("brett.bmp")
Global ball   = LoadImage("ball.bmp")

Global x1%,y1%,x2%,y2%,xpos%,ypos%


Type Spieler
Field name$
Field leben%
Field Punkte%
End Type

Global Spieler1.Spieler
Global Spieler2.Spieler

Spieler1 = New Spieler
Spieler2 = New Spieler

xpos = 512
ypos = 384
x1=10
y1=350
x2=1000
y2=350

Spieler1\name$ = Input("Spieler1 Name : ")
Spieler2\name$ = Input("Spieler2 Name : ")

Spieler1\leben% = 3
Spieler1\Punkte% = 0
Spieler2\leben% = 3
Spieler2\Punkte% = 0

Repeat
Cls

Text 380,0 ,"Spieler1 Name: " + Spieler1\name$
Text 380,10, "Leben : " + Spieler1\leben%
Text 380,20, "Punkte: " + Spieler1\Punkte%
Text 380,728,"Spieler2 Name: "+ Spieler2\name$
Text 380,748,"Leben : "+ Spieler2\leben%
Text 380,738,"Punkte: " + Spieler2\Punkte%


Steuerung() ;Steuerfunktion für Bretter
    ;Grenze für Grafiken
DrawImage brett1,x1,y1
DrawImage brett2,x2,y2
DrawImage ball,xpos,ypos
Flip

Until KeyDown(1)

End

;Functionen
Function Steuerung()

If KeyDown(17) = 1 Then
   y1 = y1-3
End If
If KeyDown(31) = 1 Then
   y1 = y1+3
End If

If KeyDown(200) = 1 Then
   y2 = y2 -3
End If

If KeyDown(208) = 1 Then
   y2 = y2 +3
End If

End Function


TimBo

BeitragMo, März 29, 2010 12:26
Antworten mit Zitat
Benutzer-Profile anzeigen
das =1 kannst du weglassen
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.
 

Stani

BeitragMo, März 29, 2010 14:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Aber wie soll den das mit den Winkeln beim Ball gehen??Der soll sich ja bewegen und gegen die wand prallen und so.
Und das mit der Grenze ??Wie soll ich den die if bedingng mit koordinaten machen??(if brett = 50,40????)
Ich kann ja nicht für jeden pixel so ne grenze machen,das währe ja etwas dumm außer ich nehm eine For schleife.

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group