GML Script testen

Knuddelbearli

Commodore
Registriert
Nov. 2009
Beiträge
4.786
Moin,
ich bin gerade wieder dabei bisschen zu programmieren. Dachte mir dazu teste ich einfach mal das Gamemaker Studio.
Sehe ich das aber richtig das es dort keinerlei Möglichkeit gibt einzelne Scripte mal zu testen?
habe zwar vor einigen Jahren schon ein wenig Programmiererfahrung gesammelt. aber das meiste habe ich wieder vergessen und möchte erstmal ganz klein mit einzelnen Scripts anfangen.
Möchte aber am Ende eventuell ein kleineres Spiel programmieren ( sowas wie Tetris oder ein Sidescroller würde mir schon reichen ^^ ) weshalb ich direkt mit GML einsteigen möchte und nicht wieder bei Java und BlueJ wie früher, damit ich nicht zuerst lerne und dann alle Befehle umlernen muss ( System.out.print und show_message zB usw usf )
 
Was für Scripte stellst du dir denn bspw vor? Ich habe noch nie mit dem GameMakerStudio gearbeitet aber so wie es aussieht, benötigst du schon eine eigens erstellte Test-Szene, wenn du Logik oder Mechaniken ausprobieren möchtest. Oder geht es dir einfach nur ums "Debuggen" eines Scripts?
 
zB einfach paar übungen die ich noch früher habe mit schleifen if else usw.
Eben um mich mit allem wieder vertraut zu machen. Testszene liegt ihmo noch weit außerhalb meiner Möglichkeiten ^^
 
Wäre vielleicht codeacademy.com was für dich?

Edit:
Das ist zwar javascript dort, aber erstens kannst Du da auch Sachen mit Grafik und dergleichen testen und zweitens ist die Syntax vom Gamemaker faktisch mit javascript gleichzusetzen, wenn ich das auf die Schnelle auf der Produkseite richtig gesehen habe.
 
hmm meine damaliges Programmierversuche musste ich abbrechen da mein Eng zu mies war ( hatte keines in der Schule ) es wurde zwar inzwischen besser aber eine komplett englische Seite dürfte dann doch zu hart sein. Vor allem mit den ganzen Fachbegriffen ( Auch wenn die oft auf Deutsch und Englisch gleich sind ).

Werds mir auf jedenfall trotzdem mal angucken!
 
Anschauen würde ich sie mir zumindest mal. Ich hatte zwar Englisch, war aber immer sehr mies in Sprachen und die Seite fand ich trotzdem gut verständlich. Aber ganz ohne Englischkenntnisse könnte es zu schwierig für dich sein. Das kann ich verstehen...
Das gute ist halt, dass Du deinen Code dort eingibst und teilweise auch nur halbfertige Skripte ergänzen musst und dann in einem kleinen Bereich der Seite sofort siehst, was dein Code anstellt.
 
so mal paar Übungen abgeschlossen. Ganz nett gemacht. nur wird einem viel zu viel geholfen. im Prinzip kann man ja meist nur copy + paste von links nach rechts machen und dann das richtige einfüllen...
 
Grundsätzliche Frage: "Wieso" möchtest du das GM-Studio benutzen? Du scheinst ja bereits von "früher" ein paar Programmier-Kenntnisse mitzubringen. Da wäre es eventuell nicht verkehrt mit einer Script-Sprache anzufangen. Ich kann da Unity3D (mit 2D Modus) empfehlen.
Hier gibts eine gute deutsch-sprachige Tutorial Reihe: http://www.youtube.com/watch?v=FKAg1S4NBag&list=PLoFAh-iWxtU4f37zzz5gJlBSljqBbfZJ3

Das war mein Einstieg in Unity, nachdem ich einige Jahre schon Apps und mobile Games mit Lua und Corona SDK entwickelt habe.
Generell gesprochen kommt man allerdings nicht um Englisch herum.
 
bleibe jetzt doch mal bei JS, bin da auch schon paar Übungen auf codecademy weiter, und läuft ganz gut auch wenn ich oft zu kompliziert denke da ich bisher nur mit Java zu tun hatte.

Habe nur bei der Übung function in JS massive Verständnis Probleme :-/
Wozu ist die genau da? ging ja bisher auch ohne. Und bei Übung 3 verstehe ich gar nicht was die von mir wollen :-/
 
Was ist denn jetzt geneu dein Problem? Wofür eine Funktion gut ist? Dein Post ist leider etwas unverständlich. Sorry, ist nicht böse gemeint. Ansonsten poste das mal in Codetags, wo dein Problem ist. Du kannst aber auch auf der linken Seite bei codeacademy auf "Hints" klicken, dann wird Dir der halbe Lösungsweg schon mal vorgegeben.

Prinzipiell nutzt Du eine Funktion, wenn du deinen Codeblock halt mehrmals benutzen willst. Entweder immer wieder genau das gleiche oder halt mit veränderten Werten, dann übergibst Du der Funktion eine oder mehrere Variablen und die werden dann in der Funktion verarbeitet.

Edit:
Und denk wirklich nicht zu kompliziert. Das hab ich anfangs auch gemacht und das ganze ist eigentlich echt einfach. Nachdem ich den ganzen BLock an Übungen zu javascript durchgearbeitet habe, habe ich mir noch ein wenig Wissen bei Peter Kropff angelesen und konnte dann direkt meine ersten Versuch komplett auf der eigenen Webseite machen. Bzw ich hab auf dem Rechner einen Server laufen lassen und meine Seite dort zum ausprobieren gehabt.

Edit2:
Wenn Du dann in javascript einigermaßen Ahnung hast und schon das eine oder andere Projekt für dich selbst umgesetzt hast, dann kannst Du Dir mal z.B. jQuery anschauen. Das erleichtert in javascript einiges, aber Du solltest das erst anschauen, wenn du halbwegs fit in javscript selbst bist. Ansonsten stehst Du nachher wie ein Ochs vom Berg und weißt nicht, was Du da eigentlich genau machst.
Aber das kannst Du erstmal für die nächsten 2-3 Monate hintenanstellen.
 
Zuletzt bearbeitet von einem Moderator:
var divideByThree = function (number) {
var val = number / 3;
console.log(val);
};

divideByThree(6);

ok also zuerst erstelle ich eine Variable divideByThree. die fülle ich als Inhalt mit einer Funktion ?!?
Ist da egal was in der Klammer steht? wird am Ende ja eh mit 6 überschrieben.

Und der Vorteil ist halt das bevor var val ausgeführt wird der Assembler runter in die, in dem Fall letzte Zeile springt, um sich überhaupt erst einen gültigen Wert zu holen.

bis auf das macht das hier ja das selbe:

var divideByThree = 6;
var val = divideByThree / 3;
console.log(val);

Übung 3 habe ich jetzt aber zumindest kapiert mal wieder viiiiiel zu kompliziert gedacht ... dazu angefangen was zu schreiben und dann erstmal pausiert und dachte dann das was ich da schon geschrieben habe gehört zum vorgegeben code ...

In Zukunft klicke ich lieber nach jeder pause auf reset ^^
 
Also:
javascript ist ein bisschen eigen. Du darfst die Sprache nicht unbedingt mit anderen Sprachen vergleichen. Da kann man mal total auf dem Holzweg sein.
In dem ersten Code, den Du gepostet hast, erstellt Du nicht eine Variable, auch wenn es den Anschein hat, sondern eine Funktion mit dem Namen "dividebyThree". Das ist total komisch, ich weiß... Musst Du einfach so hinnehmen. das "var" davor ist ein wenig mißverständlich und es wundert mich nicht, dass du darüber gestolpert bist.

das "number" ist einfach dann eine lokale variable in der funktion. könntest auch "hanswurst" schreiben, aber number ist halt das englische wort für "nummer" und dann weiß man halt gleich, wofür die variable gedacht ist. der funktion wird halb ein wert übergeben und den kannst du dann in der funktion weiterbearbeiten.

also in laiensprache.

dividebyThree(9);

die funktion wird aufgerufen und die zahl 9 wird ihr mitgegeben. jetzt hat in der funktion automatisch die variable "number" den wert 9.

dividebyThree(100);

dann hätte "number" den wert 100. soweit leuchtet dir das bestimmt ein ;-)


wenn du eine funktion definierst mit "var funktionsname =function (variable, variable2,...) {}", dann passiert da erstmal garnichts. javascript weiß dann nur, dass er den codeblock immer dann ausführen soll, wenn später in deinem code der funktionsname auftaucht. egal ob einmal, zweimal oder tausendmal.
wichtig!!: du darfst die funktion erst aufrufen, wenn du sie vorher definiert hast.

richtig:
var divideByThree = function (number) {
var val = number / 3;
console.log(val);
};

divideByThree(6);

falsch:
divideByThree(6);

...
irgendein anderer code
....

var divideByThree = function (number) {
var val = number / 3;
console.log(val);
};

ich glaube, das leuchtet aber ein. ich hoffe, du konntest meine ausführungen ein bisschen verstehen.
 
jau, mir fällt zwar aktuell noch kein Verwendungszweck ein das war am Anfang aber mit % auch so bis mir ein Bekannter einige aufgezählt hat.
 
Edit: ok bin blind ...
 
Zurück
Oben