FRAGEN ÜBER FRAGEN! ^^
Übersicht

DMXBetreff: FRAGEN ÜBER FRAGEN! ^^ |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hallo erstmal,
erstmal kurz zusammenfassen, was ich eigentlich will: Also ich habe vor ein Spiel zu programmieren wie manch anderer! Nun denn ich bin noch ein "NOOB", wenn es über Programmieren geht....ich habe viele Turtorials gelesen......aber ob dir mir so richtig daran zweifel...ich wollte mir sogar ein Buch kaufen, aber die aus der Buchhandlung haben mir gesagt, dass erst ab Mitte 2007 ein Buch über Blitz Basic erscheihnen wird....dauert mir noch zu lange und dann habe ich euch gefunden! ![]() Um wieder zurück zum Thema zu kommen, ich habe vor ein spiel zu programmieren und das ist gar nicht einfach! Wie auch immer um ein Spiel zu programmieren muss man erstmal ein Grundgerüst aufbauen, d.h., dass ich ein MAIN Menu brauche! Das kennt ihr ja aus vielen kommenziellen Games: Neus Spiel Spiel Laden Option Exit und am besten noch ein Hintergrundbis im Menu....doch das ist nicht einfach....wie kann ich es programmieren?...worauf muss ich achten? Mir ist klar, dass man ein Befehl dafür geben muss um mit der Mous taste Neustart oder Option zu klicken um zum nächsten Fenster zu kommen!Aber ich kenn den Befehl nicht und wie man es ganz genau macht.....bei dieser Sache hänge ich irgendwie zu lange! (Ist schon frustrierend wenn am Anfang seines ersten Programmiertes Spiel nicht mehr weiter kommt! ![]() Vielleicht könnt ihr mir Beispiel Programme zeigen oder mir wenigsten irgendeinen Hinweis geben! Damit ich wenigsten irgendwie orientieren kann. Ich finde es mal wichtig, dass man das überhaupt lernt wie man es kann! Ich habe überall rumgelesen....und nun ja ist für mich kein Problem ein Hintergrundbild zu machen ....oder diese Wörter auf dem Bildschirm zu zeigen, aber das bringt mich noch gar nicht weiter....wenn ich nicht mal ein normales Menu vor ein Game programmieren kann! Ich bedanke mich im vorraus für eure Mühen! M.f.G. DMX Ps.: Sry....das ich keine Fachausdrücke benutze, ich hoffe ihr wisst schon was ich von euch will ![]() |
||
![]() |
Christoph |
![]() Antworten mit Zitat ![]() |
---|---|---|
Eigentlich macht man das Hauptmenü eines Spiels nicht am Anfang (oder ich zumindest nicht)...aber:
1. Ich muss ein Bild laden (Benötigte Befehle: ql:loadimage) 2. Ich muss das Bild anzeigen (Benötigte Befehle: ql:drawimage) 3. Ich muss überprüfen, ob die Maus über dem Bild ist (Benötigte Befehle: ql:mousex, ql:mousey, ql:imagewidth, ql:imageheight (ql:if ![]() 4. Wenn ja muss ich überprüfen, ob die linke Maustaste gedrückt wird (ql:mousehit) 5. Wenn ja, muss irgendwas gemacht werden (ist ja bei jedem Knopf verschieden) So in etwa musst du das machen. |
||
![]() |
aMulSieger des Minimalist Compo 01/13 |
![]() Antworten mit Zitat ![]() |
---|---|---|
1. Willkommen im Forum!
2. Schön, das du zugibst, dass du keinen Plan hast(ist nicht bei allen Anfängern so) ![]() 3. Versuch dich lieber erstmal an etwas einfacherem. Ein kleines Programm, was z.B per 'Input()' fragen stellt und die eingegebenen Information zum Schluss gebündelt wieder ausgibt, ist meiner Meinung nach ein guter Anfang um mit Variablen und den grundlegenden Befehlen zurechtzukommen ![]() |
||
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans! Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver |
DMX |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
danke erstmal für eure Antworte
Die Befehle Print, Input und Variabeln..kenn ich mich schon recht gut aus...also denke ich...ich habe mich auch bei dieser Seite informiert: www.robsite.de ....oder wie sie in etwa heißt Das ich ein Hintergrundbild schaffe, das wird auch kein problem sein und das ich die Mouse einschalte ist auch kein Problem....die frage ist nur eher, wie kann ich mit der Mouse wie z.B. Optionen drauf klicken um auf ein neues "Fenster" zu kommen....also Start, Option oder Exit sowas in der Art wie Buttons zu bekommen! Und dann auf die nächste Seite zu kommen... gut wäre, wenn ihr Beispiel texte kennt, wo manche ein einfaches Menu aufgebaut haben.....damit ich ein Bild davon machen kann. M.f.G. DMX |
||
Darkbyte |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also auch erstmal Willkommen im Forum.
also ein Beispiel für den Punkt Exit der ist am kürzesten: Code: [AUSKLAPPEN] Bilder Laden [...] If ImagesCollide(MouseBild,X,Y,0,ExitButton,100,100,0) And Mousehit(1) Then end Endif Also erstmal die Erklärung. ImagesCollide Prüft Pixelgenau ob eine Kollision statt gefunden hat. Dann muss ich den Bildnamen angeben und seine Koordinaten. Die 0 ist für Frames gedacht (störe dich nicht daran das lernst du später irgendwann noch, gib einfach eine 0 an). Mit Mousehit(1) überprüfe ich Ob die linke Maustaste gedrückt worden ist. Hoffe du kannst was damit anfangen ^^ |
||
Darkbyte |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Kleiner Tipp. Wenn du mehrere Buttons so überprüfen möchtest dann setzte am Anfang der Schleife: klick = Mousehit(1) somit hat, wenn die linke Maustaste gedrückt worden ist, den Wert 1 gespeichert. um das dann in den Code um zusetzten hier nochmal ein kleines Beispiel:
Code: [AUSKLAPPEN] Bilder Laden [...] Repeat klick = Mousehit(1) [...] If ImagesCollide(MouseBild,X,Y,0,ExitButton,100,100,0) And klick = 1 Then end Endif [...] Warum? Weil sonst das Klicken nicht richtig funktioniert. |
||
DMX |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
danke...supper...ich habe schon mir gedacht das es etwas mit If und endif...irgendwie zu tun hat...morgen probier ich es aus...und dann sag ich dir bescheid ob ich damit erfolgreich gewesen biin! Aber wer noch weiter Tipss hat. der soll es ruhig hier posten...bin für jede Hilfe dankbar! ![]() |
||
![]() |
skey-z |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hy und willkommen,
was du suchst, ist eine Hauptschleife, die wiederum andere Schleifen ausführt, je nachdem welcher Button gedrückt wurde. Such mal hier im Forum nach "Spielschleife" unter Codearchiv, dort hat SucoX(meine ich jedenfalls) mal ein tutorial geschrieben wie man sowas aufbauen kann und ich habe es auch in meinen Projekten eingesetzt, ist vlt. am Anfang etwas schwierig zu verstehen, wie das Prinzip genau funktioniert. |
||
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz BAC#57: 2. Platz |
![]() |
Jo0oker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hier sihst du mal wie soetwas augebaut sein könnte.
Ich hoffe das ist nich zu viel code auf einmal. Code: [AUSKLAPPEN] Graphics 1024,768,32,2 SetBuffer BackBuffer() ok = LoadImage("ok1.bmp") ok2 = LoadImage("ok2.bmp") pointer = LoadImage ("pointer.bmp") anwahl = 0 Repeat Cls x = MouseX() y = MouseY() If anwahl = 0 Then DrawImage ok , 200,200 If anwahl = 1 Then DrawImage ok2 , 200,200 If ImagesOverlap(ok,200,200,pointer,x,y) = 1 Then anwahl = 1 If ImagesOverlap(ok,200,200,pointer,x,y) = 0 Then anwahl = 0 If MouseHit(1) Then an_ok = 1 If anwahl = 1 And an_ok = 1 Then Goto en DrawImage pointer,x,y Flip Until KeyHit(1) .en Graphics 1024,768,32,2 SetBuffer BackBuffer() Text 300,300,("Vertig") WaitKey PS: Mit deiner Beschreibung kann man wenigstens was anfangen, was man nich immer behaupten kann. lg Jo0oker |
||
Tehadon, das kostenlose 3D RPG
www.tehadon.de http://www.blitzforum.de/worklogs/14/ Das Abenteuer wird beginnen! |
![]() |
aMulSieger des Minimalist Compo 01/13 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dein Code ist Müll, Jo0oker.
Allein wegen dem Goto gehört er schon in die Tonne... Und der Rest hilft auch keinem. |
||
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans! Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver |
DMX |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich glaube ich habe jetzt das Prinzip ungefähr verstanden...eigentlich geht es um "Bedingungen"...also so drücke ich es mal aus! Wenn die Mouse folgende BEdingung erfülllt....passiert das oder gar nix!....
Um es mal einfach auszudrücken ![]() |
||
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jap auch von mir wilkommen im Forum.
Aber das mit dem "klick" wie darkbyte es beschrieben hat, ist garnicht nötig, wenn du einfach mousehit mit mousedown ersetzt. Aber ich rate dir aus eigener erfahrung zuerst Das Spiel und dann das menü zu machen. Weiterhin Viel Spaß im Forum! |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
Darkbyte |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Achja noch ein Tipp, wenn du mein Beispiel ausprobierst an z.b Start dann benutze statt end ;Gusob Start; du musst dann natürlich in deiner Hauptschleife (die schleife in der dein Spiel lauft, das Menü ist z.B die Menüschleife) .Start einsetzen dann wird mit Gosub zu start gewechselt bzw. gesprungen. Wenn jetzt in deiner Spielschleife alle leben verloren sind oder halt das Spiel zu ende ist wird mit Return zurück zum Menü gesprungen. das heißt mit Return springt man dahin wo man Gosub benutzt hat. ( ich hoffe du verstehst das kann das nichts so gut Formulieren). Benutze nie Goto das macht deinen Quelltext nur undurchschaubar (Ich spreche aus Erfahrung ^^). | ||
DMX |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich werde es erstmal ausprobieren und studieren...und dann werde ich euch berichten, was ich dann morgen alles geschaft habe....! | ||
![]() |
Lunatix |
![]() Antworten mit Zitat ![]() |
---|---|---|
mas93, er will nicht draufhalten wie'n irrer, er will klicken ![]() Des weiteren verstehe ich nicht, warum er soclhe befehle wie "Gosup" order gar Goto (igitt! oO) verwenden sollte. Mal was von mir, hatte grad etwas langeweile ^^ : Code: [AUSKLAPPEN] Graphics 640,480,32,2
SetBuffer BackBuffer() Global mode% Global g_mHit%,g_mx%,g_my% AddButton("New Game",20,20,200,20,1) ;Zwei neue Buttons hinzufügen... AddButton("Quit",20,50,200,20,2) timer = CreateTimer(100) ;Timer erstellen, damit das programm nicht unnötig viel ;CPU leistung verschwendet While True ;Hier wird eine Endlosschleife erstellt... g_mHit = MouseHit(1) ;Da beim abfragen der Maus befehle der status (True) gelöscht wird, und bein ;nächsten Abfragen deshalb ein "0" status zurückgegeben würde, speichern wir g_mx = MouseX() ;die werte in eine Variable. g_my = MouseY() Select mode ;Modus wählen bzw. prüfen Case 0 ;Im Fall "0" : Menu ausführen rMenu() Case 1 ;Im Fall "1" : Spiel ausführen rGame() Default ;Ansonsten : beenden (diese liste könnte man so eweig weiterführen) End End Select Flip ;Backbuffer anzeigen und löschen Cls WaitTimer timer ;Hier wird auf den Timer gewartet Wend End Type TButton ;Der Type der die Buttons verwaltet; Ein Type kann beliebig oft erstellt ;werden, deshalb ist er gut geeignet für die Buttons. Field bText$ ;Feld "bText", enthält den Text der später angezeigt werden soll Field x%,y% ;x- und y-koordinate Field width%,height% ;länge und höhe der selektion (beim überfahren mit der maus) Field Mode% ;Modus, 1 = Game, 2 = Ende End Type Function rMenu%() For b.TButton = Each TButton ;Jeden erstellten Button in einer Schleife abarbeiten If RectsOverlap(b\x,b\y,b\width,b\height,g_mx,g_my,1,1) ;Wenn die Maus über dem Button ist... If g_mhit ;Wenn die maus gedrückt wurde... Mode = b\Mode ;Wird der globalen Variable "Mode" der Wert des Buttons zugewiesen FlushKeys() ;Aktuelle key-staten löschen EndIf Color 0,0,$ff0000 ;Html Farbe "rot" (Mouse over) Else Color 0,0,$00ffff ;Html Farbe "Blau" (Normal) EndIf Text b\x,b\y,b\bText ;Text des Buttons an dessen x und y position anzeigen Next End Function Function rGame() Text 20,20,"ESC : Return to menu; Q : Quit" If KeyHit(1) Mode = 0 ;Zurück ins Menu mit moudus "0" FlushKeys() Else If KeyHit(16) ;Taste "q" für Quit - beenden End EndIf End Function Function AddButton(bText$,bX%,bY%,bWidth%,bHeight%,bMode%) b.TButton = New TButton ;Ein neues Handle der Klasse TButton erstellen b\x=bx ;Werte x,y,width (breite), height (höhe), mode und Text b\y=by ;Zuweisen b\width=bwidth b\height=bheight b\Mode=bMode b\bText=bText End Function Hoffe es hilft, habs aber reichlich Dokumentiert. |
||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group