Wie soll ich anfangen ?
Übersicht

Gehe zu Seite 1, 2, 3, 4 Weiter
Oli27Betreff: Wie soll ich anfangen ? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
ich habe mich nun schon mit sehr vielen Programiersprachen und Programmen beschäftigt, darunter PHP und Flash und viele andere die ich schon wieder vergessen hab ![]() Jednfalls kam es fast immer aufs gleiche raus, nach 3 wochen hatte ich keine Lust mehr, weil nichts dabei rauskam ![]() Die Antwort is einfach .... ich hab einfach fröhlich drauf los programmiert. Nun möchte ich mit Blitz Basic das anders machen und damit auch mal Erfolge erziehlen, nur weiß ich nicht wie ich damit anfangen soll. Ich habe mir das Tutorial auf www.robsite.de (das mit den grundbegriffen) durchgelesen und auch fast alles verstanden nur wie soll ich jetzt weitermachen ? Ich habe keine Ahnung wie man ein Spiel oder auch Programm anfägt zu programmieren. Gebt mir Tips, weil ich diese Sprache wirklich lernen möchte und hoffentlich nicht nach 2-3 Wochen was anderes machen möchte ![]() PS: Mein erstes "Ziel" sollte eine Art Super Mario sein also ein 2D Jump´n´Run und das natürlich vorerst mit nur einem Level ![]() |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Der große Teil der Blitzer hat mit einfachen Spaceshootern angefangen und die Sprache in kleinen Schritten gelernt. Wobei man eigentlich weniger die Sprache selbst lernt, die macht nur einen kleinen Teil des Programmierens aus. Vielmehr lernt man logische Abläufe im Kopf zu bilden und auf den Quellcode zu übertragen, die Befehle und Funktionen selbst zu verstehen ist das wenigste. Zumal sich ja auch alles in der Onlinehilfe recht unkompliziert nachschlagen lässt ![]() Ein Jumpn Run ist für den Anfang vielleicht nicht sonderlich geeignet, man hat schon viele damit scheitern sehen. Nicht das es ein besonders schweres oder aufwendiges Thema wäre, aber die Fortschritte bei so einem Projekt sind eher klein wenn man nicht soo viel Zeit vor dem Rechner verbringt und darum werden von vielen (hauptsächlich eben Neulinge) unkonventionielle Techniken angewandt die auf den ersten Blick leichter zu verstehen erscheinen, sich aber im späteren Verlauf als reines Hinderniss erweisen ![]() Soweit mein Senf dazu ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
Hummelpups |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, ich würde dir auch raten, mit einem Space Invaders Klon anzufangen.
Diese sind wohl mit die leichtesten zum lernen. Hier kann man gut etwas über Strukturen (Types) lernen Einen PacMan Klon. Trainiert auch Arrays und Types. Arrays werden für das SPielfeld benutzt und Types für die Gegner. Ist jedem natürlich selber überlassen womit er anfängt. Ich würde aber einen Space Invaders Klon vorschlagen. IMurDOOM |
||
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus |
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nimm dir anfangs am besten kein komplettes Spiel vor. Ich würde mich erst mal mit den allereinfachsten Dingen befassen:
![]() ![]() ![]() ![]() usw. Dazu musst du dir gar kein komplettes Spiel vornehmen. Schreibe einfach kleine Codestückchen und experimentiere darin ein wenig mit den verschiedenen BlitzBasic-Befehlen. Wenn du das Gefühl hast, genug Befehle zu kennen, oder dich ein wenig sicherer fühlst, kannst du mal mit einem total simplen Minigame weitermachen, wie z.B. ein Raumschiff, das man steuern kann und das auf Tastendruck schiesst. Das steigerst du dann halt nach und nach und fügst weitere Dinge hinzu. |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
Oli27 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@IMurDOOM
Ok dan werd ich wohl ersteinmal ein SpaceInvadersclone baun @ X-pressive Im großen und ganzen hab ich das ja schon getan (www.robsite.de) Aber das kann ich ja gleich mit dem SpaceInvaders verbinden Bin trozdem noch offen für weitere Vorschläge und vieleicht auch seiten oder quellcodes. ![]() EDIT: Achso hat jemand ein Tutorial in dem Tastensteuerung erklärt wird ![]() |
||
- Zuletzt bearbeitet von Oli27 am Mo, Mai 22, 2006 14:55, insgesamt einmal bearbeitet
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du schon mit einzelnen Komponenten eines Spiels (Grafik, Tastatur etc.) experimentiert hast, dann fang einfach mal mit einem Minigame an, das all diese Elemente enthält. Arbeite z.B. in folgender Reihenfolge (es folgen Pfeile, meine neuen Lieblingsgrafiken):
![]() ![]() ![]() ![]() ![]() ![]() ![]() So, dann hast du schon mal dein erstes komplettes Minispiel. Und zu jedem dieser einzelnen Punkte gibt es hier im Forum ja massenhaft Antworten und Tipps. Also schmeiss dich rein ![]() |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
Oli27 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
THX ... dann werd ich mal das forum durchforsten ![]() |
||
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wozu jetzt schon? Suchst du Antworten auf Fragen, die du noch gar nicht hast? Vielleicht die geheime CreateTombRaiderGame()-Funktion? ![]() Schmeiss dich einfach rein und tüftle selbst. Gerade wenn du an ein Problem kommst und kurz steckenbleibst, lernst du dann am meisten. Es bringt wirklich nichts, für jede Lösung schon im Vorfeld einen fertigen Code zu suchen (wenn ich das richtig verstanden habe). Dadurch entwickelt sich dein "Progger-Gehirn" nämlich nicht. Das ist wie Sport im Fernsehen anzuschauen. Deshalb wird man ja auch nicht sportlich. Deinen Postings nach macht das ein wenig den Eindruck (vielleicht täuscht der ja auch), das du dich gar nicht erst rantraust. Gebranntes Kind? |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
Oli27 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich such doch nicht vorgefertigte code schnipsel ![]() Ich versuche grad die Tastatusteuerung, die klappt nich ![]() Nur irgendwie wird bei mir grad die Figur gar nicht erst angezeigt ![]() ![]() EDIT: Sieg Oli über Programm ![]() |
||
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ach so, ich dachte schon, du hast mit anderen Sprachen so schlechte Erfahrungen gemacht, daß du dich schon gar nicht mehr traust ![]() Ich habe übrigens auch vorher in Flash programmiert -das war eine geniale Schule für's Blitzprogrammieren. Und zwar deswegen, weil Flash grottenlahm ist und man sehr diszipliniert coden muss, um mit den vorhanden Resourcen gut umzugehen. Da habe ich mir angewöhnt, bei jeder Codezeile auf Speedoptimierung zu achten. Bei Flash hat's kaum was geholfen, aber bei Blitz macht sich das in einer Spitzenframerate und viel übrige Power für nette Spezialeffekte bezahlt. Das macht mich immer wieder aufs neue happy ![]() |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
Oli27 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Flash hab ich auch versucht aber das war mir irgendwie auch zu doof ![]() muss jetzt mal gucken wie einen schuss hinbekomme ![]() |
||
flohrian |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Oli27 hat Folgendes geschrieben: Nur irgendwie wird bei mir grad die Figur gar nicht erst angezeigt
![]() ![]() lol ![]() gib mal den code, vlt können wir helfn EDIT: sry, hab das: Zitat: EDIT: Sieg Oli über Programm
![]() überlesen |
||
Oli27 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Boha also bei den Types kram blick ich ja mal überhauptnicht durch ![]() Gibt es irgend eine "leichtere" art schüsse zu erstellen ? Hab mir jetzt 3 Tutorials dazu angesehnen, einmal das auf robsite und das in der Onlinehilfe aber irgendwie komm ich mit Types nicht klar. Gibs nicht irgendwie "Types für Dummies" oder so ![]() Oder hat einer ein einfaches Script mit Types für schüsse das ich das mal am praktischen beispiel sehen kann ? |
||
![]() |
Mr.HydeNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also eigentlich sind Types die idealste Lösung dafür. Du könntest auch ein DIM-Feld benutzen aber eine Type-Lösung wäre wesentlich besser.
Ich such mal nen gutes Beispiel raus. EDIT: Code: [AUSKLAPPEN] Type tBullet Field x Field xs# Field y Field ys# End Type So erstellst du zunächst den Type, wobei die einzelnen Fields die notwendigen Informationen des Schusses beinhalten. Dabei steht z.B. x für die x-Position des Schusses auf dem Monitor und xs für die Geschwindigkeit mit der sich der Schuss in Pixeln pro Durchlauf über den Bildschirm bewegt. Um eine neue Variable mit diesen Schubladen zu erstellen baut man sich eine Funktion, die ungefähr so aussieht: Code: [AUSKLAPPEN] b.tbullet = New tbullet b\x= x-Position von wo der Schuss abgegeben werden soll b\y= y-Position von wo der Schuss abgegeben werden soll b\xs= Geschwindigkeit auf der x-Achse b\ys= Geschwindigkeit auf der y-Achse Natürlich muss man die Informationen auch abrufen. Das geht so: Code: [AUSKLAPPEN] For b.tbullet = Each tbullet
b\y = b\y - b\ys b\x = b\x + b\xs DrawImage IMG_Laser, b\x, b\y b\ys = b\ys + .2 If b\y < 0 Then Delete b Next Hier werden die Informationen aus einem Type verarbeitet. |
||
BBP News RSS | Chaos Interactive | Watanien 2 Screens, Infos und Download | Watanien 2 Worklog | PuzzleMasters
http://abgeordnetenwatch.de - http://www.regierungs-beratung.de - Der Regierung auf die Finger schauen |
- Zuletzt bearbeitet von Mr.Hyde am Mo, Mai 22, 2006 17:49, insgesamt 2-mal bearbeitet
Oli27 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zitat: Also eigentlich sind Types die idealste Lösung dafür. Du könntest auch ein DIM-Feld benutzen aber eine Type-Lösung wäre wesentlich besser.
Ich such mal nen gutes Beispiel raus. Immer her damit ![]() |
||
![]() |
Mr.HydeNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schon passiert siehe EDIT oberer Post ![]() |
||
BBP News RSS | Chaos Interactive | Watanien 2 Screens, Infos und Download | Watanien 2 Worklog | PuzzleMasters
http://abgeordnetenwatch.de - http://www.regierungs-beratung.de - Der Regierung auf die Finger schauen |
Oli27 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hm jetzt versteh ich schon fast, aber wozu ist das b ? also das z.B
b.tbullet = New tbullet b\x= x-Position von wo der Schuss abgegeben werden soll |
||
![]() |
Kryan |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich glaube, das nennt man "Instanz"
Musst es dir so vorstellen: Jeder Schuss hat einen eigenen Namen ![]() In diesem Beispiel "B" Danach kann man diesen Type immer mit diesem Namen ansprechen (sofern er global deklariert worden ist; also Global b.tBullet)! |
||
Webspaceanbieter?
Klick hier! Kultige Spieleschmiede? Klick hier! |
![]() |
5k41 |
![]() Antworten mit Zitat ![]() |
---|---|---|
das b ist sozusagen ein "fakepointer"! Types sind ja objekte, die von Blitz ganz von alleine Verwaltet werden und du dir so darüber keine gedanken mehr machen musst, aber du kannst ja nun 10 Types erstellen und nun würde ja das programm wenn du nur an einer Kugel was ändern willst garnicht wissen welche du meinst, desshalb das b danach kannst du halt per b\ auf alle werte die du oben in der "Typeschablone" definiert hast zugreifen!
MfG |
||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
Oli27 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Alles klar ![]() ok das mit dem types hab ich nun fast verstanden, ich hab das ganze jetzt erstmal eingebaut aber wenn ich jetzt starten möchte kommt ne Fehlermeldung Zitat: Index variabe is not a NewType
Hä ? was hab ich falsch gemacht ? hier mal mein Quellcode Code: [AUSKLAPPEN] Graphics 640, 480,16,2
SetBuffer BackBuffer() Global hintergrund = LoadImage ("data\gfx\background.bmp") Global figur = LoadImage ("data\gfx\figur.bmp") MaskImage figur, 255, 0, 255 Global laser = LoadImage ("data\gfx\laser.bmp") Global x = 300 Global y = 450 ;Tasten definieren rauf = 200 runter = 208 rechts = 205 links = 203 space = 57 Global b.schuss ;schuss Type schuss Field x Field xs# Field y Field ys# End Type ;-------------------------------------------------------------- ; Hauptschleife | ;-------------------------------------------------------------- Repeat Cls ; Hintergrund und Figur werden gezeichnet TileBlock hintergrund DrawImage figur, x, y ;schuss b.schuss = New schuss b\x= x-300 b\y= y-550 b\xs= 1 b\ys= 3 ; Steuerung der Figur If KeyDown (rauf) = 1 Then y = y - 1 If KeyDown (runter) = 1 Then y = y + 1 If KeyDown (rechts) = 1 Then x = x + 2 If KeyDown (links) = 1 Then x = x - 2 ; Rand setzen If X < 0 Then X= 0 If X > 610 Then X = 610 If Y < 0 Then Y = 0 If Y > 450 Then Y = 450 ;schuss For schuss = Each schuss b\y = b\y - b\ys b\x = b\x + b\xs DrawImage laser, b\x, b\y b\ys = b\ys + .2 If b\y < 0 Then Delete b Next Flip Until KeyHit(1) End |
||
Gehe zu Seite 1, 2, 3, 4 Weiter
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group