Hallo allerseits erstmal 
Ich bin richtig froh, euer Forum entdeckt zu haben. Ich sitze nämlich im moment an einem Projekt - Ein kleines Spiel, dass an "the impossible game" [iPod/Xbox] angelehnt ist - für ein paar Freunde (und mich natürlich^^), bei dem ich schon einige Probleme hatte und grade garnichtmehr weiterkomme.
Da dies im grunde mein erstes Game ist (ich hatte vorher schon das eine oder andere mal ein wenig rumprobiert, hatte aber nie den enthusiasmus etwas fertigzukriegen) kenne ich mich mit dem GameMaker noch nicht so gut aus. Ich benutze (noch) die kostenlose Version von GM7. Ich versuche, so viel wie möglich mit Drag & Drop zu machen, da ich leider mit dem Programmieren noch etwas überfordert bin
Soviel zur Vorgeschichte...
Das Spiel an sich ist eigentlich schon recht weit.
Es handelt sich um ein - eigentlich - ziemlich simples Spielprinzip.
Ein Objekt - Ball - "rollt" und springt in einem Level über Quadrate, Dreiecke und gefährliche Bodenteile. Die letzteren Beiden dürfen dabei nicht berührt werden.
Zur Steuerung steht lediglich die Leertaste - springen - zur Verfügung. (Und die "R"-Taste zum wiederholen des Spiels)
Das ganze Spiel besteht aus einem niedrigen, aber langen Room. Die View verfolgt den Ball. (Oder besser gesagt ein unsichtbares Objekt (obj_controller) in der Mitte, aufgrund technischer Schwierigkeiten - aber darum geht es mir jetzt garnicht^^)
Da ich noch so wenig Erfahrung habe, sind einige Dinge im Spiel für euch wahrscheinlich ziemlich abstrakt gelöst. (Wie eben, dass die View nicht den Ball wirklich verfolgt, sondern ein extra Objekt... Oder, dass der Boden nicht flächig im ganzen Raum gesetzt wurde, sondern ein Objekt ist, das sich in der gleichen Geschwindigkeit wie der Ball bewegt - Das wurde gemacht um ein farb-fading im Boden einzubringen, was ich sonst nicht hinbekommen hätte :S)
Aber jetzt zu meinem eigentlichen Problem: (Zu den Problemen^^)
Zum springen habe ich folgenden Code verwendet:
Bei drücken der Leertaste:
Und um die Gravity wieder auf 0 zu setzten, wenn ein Objekt (Der Boden oder ein Quadrat unter dem Ball ist) habe ich ein step-Event mit folgendem Code erstellt:
Alles anzeigen
Das funktioniert auch. Zumindest, wenn der Ball auf den Boden (obj_Boden) kommt und dort springt. Wenn er allerdings auf einem Quadrat (Obj_Quadrat) ist, springt er nicht. Das finde ich zimelich seltsam, da der Boden und das Quadrat absolut gleich "behandelt" werden. Ich finde keinen Unterschied, der ausmachen könnte, dass der Ball auf dem einen Objekt springt und auf dem anderen nicht.
Die codes zum springen habe ich übrigens aus dem Internet kopiert...
Dass ich das nicht hinkriege, macht mich grade richtig fertig.
Ich hoffe ihr könnt mir helfen.
Ich habe auch die GameMaker Datei hochgeladen. - Damit ihr euch den ganzen Rest mal ansehen könnt. Ich hoffe es reicht, wenn man die gmk-Datei hochlädt.
Ich weiß ich kenn mich mit GameMaker noch nicht richtig aus, deswegen werdet ihr einiges als wahnsinnig umständlich erachten, aber über jeden Tipp und Ratschlag zur vereinfachung wäre ich auch sehr dankbar.
Download:
http://www.megaupload.com/?d=F9Z44NQF
Und ich hätte noch ein kleines Problem mit einer Animation:
Wenn der Ball gegen z.B. ein Dreieck stößt, bleibt zwar alles stehen und man muss das Spiel resetten (Mit der "R"-Taste) aber der Ball sollte sich in einer Animation "auflösen". Dazu habe ich einfach n Bild animiert, als Sprite geladen und im collision-event mit obj_Dreieck den Ball-sprite ändern lassen, allerdings funktioniert die Animation nicht. Das Bild bleibt einfach stehen. Wenn ihr wisst, wieso, wäre ich darüber auch sehr froh^^
Man ist das viel Text. - Tut mir leid, kürzer gings nicht.
Danke schonmal an alle, die sich das hier wenigstens durchlesen ;),
Ullsøn

Ich bin richtig froh, euer Forum entdeckt zu haben. Ich sitze nämlich im moment an einem Projekt - Ein kleines Spiel, dass an "the impossible game" [iPod/Xbox] angelehnt ist - für ein paar Freunde (und mich natürlich^^), bei dem ich schon einige Probleme hatte und grade garnichtmehr weiterkomme.
Da dies im grunde mein erstes Game ist (ich hatte vorher schon das eine oder andere mal ein wenig rumprobiert, hatte aber nie den enthusiasmus etwas fertigzukriegen) kenne ich mich mit dem GameMaker noch nicht so gut aus. Ich benutze (noch) die kostenlose Version von GM7. Ich versuche, so viel wie möglich mit Drag & Drop zu machen, da ich leider mit dem Programmieren noch etwas überfordert bin

Soviel zur Vorgeschichte...

Das Spiel an sich ist eigentlich schon recht weit.
Es handelt sich um ein - eigentlich - ziemlich simples Spielprinzip.
Ein Objekt - Ball - "rollt" und springt in einem Level über Quadrate, Dreiecke und gefährliche Bodenteile. Die letzteren Beiden dürfen dabei nicht berührt werden.
Zur Steuerung steht lediglich die Leertaste - springen - zur Verfügung. (Und die "R"-Taste zum wiederholen des Spiels)
Das ganze Spiel besteht aus einem niedrigen, aber langen Room. Die View verfolgt den Ball. (Oder besser gesagt ein unsichtbares Objekt (obj_controller) in der Mitte, aufgrund technischer Schwierigkeiten - aber darum geht es mir jetzt garnicht^^)
Da ich noch so wenig Erfahrung habe, sind einige Dinge im Spiel für euch wahrscheinlich ziemlich abstrakt gelöst. (Wie eben, dass die View nicht den Ball wirklich verfolgt, sondern ein extra Objekt... Oder, dass der Boden nicht flächig im ganzen Raum gesetzt wurde, sondern ein Objekt ist, das sich in der gleichen Geschwindigkeit wie der Ball bewegt - Das wurde gemacht um ein farb-fading im Boden einzubringen, was ich sonst nicht hinbekommen hätte :S)
Aber jetzt zu meinem eigentlichen Problem: (Zu den Problemen^^)
Zum springen habe ich folgenden Code verwendet:
Bei drücken der Leertaste:
Und um die Gravity wieder auf 0 zu setzten, wenn ein Objekt (Der Boden oder ein Quadrat unter dem Ball ist) habe ich ein step-Event mit folgendem Code erstellt:
GML-Quellcode
- if(place_free(x,y+1)) // Wenn der Ball in der Luft ist...
- {
- gravity_direction=270
- gravity=2 // ... ist die gravity auf 2. (Das ist doppelt-gemoppelt, denn ich habe es ja schon im eigentlichen
- // springen-event (Der Code oben) benutzt - Ich wusste nicht, wie ich das sonst lösen sollte - Anfängerfehler!? ;))
- }
- else // Wenn ein Objekt unter dem Ball ist...
- {
- gravity_direction=270
- gravity=0 // ... ist die Gravity gleich 0.
- }
Das funktioniert auch. Zumindest, wenn der Ball auf den Boden (obj_Boden) kommt und dort springt. Wenn er allerdings auf einem Quadrat (Obj_Quadrat) ist, springt er nicht. Das finde ich zimelich seltsam, da der Boden und das Quadrat absolut gleich "behandelt" werden. Ich finde keinen Unterschied, der ausmachen könnte, dass der Ball auf dem einen Objekt springt und auf dem anderen nicht.
Die codes zum springen habe ich übrigens aus dem Internet kopiert...

Dass ich das nicht hinkriege, macht mich grade richtig fertig.

Ich habe auch die GameMaker Datei hochgeladen. - Damit ihr euch den ganzen Rest mal ansehen könnt. Ich hoffe es reicht, wenn man die gmk-Datei hochlädt.
Ich weiß ich kenn mich mit GameMaker noch nicht richtig aus, deswegen werdet ihr einiges als wahnsinnig umständlich erachten, aber über jeden Tipp und Ratschlag zur vereinfachung wäre ich auch sehr dankbar.
Download:
http://www.megaupload.com/?d=F9Z44NQF
Und ich hätte noch ein kleines Problem mit einer Animation:
Wenn der Ball gegen z.B. ein Dreieck stößt, bleibt zwar alles stehen und man muss das Spiel resetten (Mit der "R"-Taste) aber der Ball sollte sich in einer Animation "auflösen". Dazu habe ich einfach n Bild animiert, als Sprite geladen und im collision-event mit obj_Dreieck den Ball-sprite ändern lassen, allerdings funktioniert die Animation nicht. Das Bild bleibt einfach stehen. Wenn ihr wisst, wieso, wäre ich darüber auch sehr froh^^
Man ist das viel Text. - Tut mir leid, kürzer gings nicht.

Danke schonmal an alle, die sich das hier wenigstens durchlesen ;),
Ullsøn
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Ullsøn ()