Suchergebnisse
Suchergebnisse 21-40 von insgesamt 1.000. Es gibt noch weitere Suchergebnisse, bitte verfeinern Sie Ihre Suche.
-
Es gibt mehrere möglichkeiten dies zu realisieren. a) lass die room speed auf 120 fps (sofern du fixed time stamp verwendest) und führe die draw-events nur jedes 2te frame aus. Create event: GML-Quellcode (1 Zeile) step: GML-Quellcode (5 Zeilen) Das schwierige an der sache ist aber festzustellen was für einen Monitor der User hat. (ob dieser auf 60Hz oder 120 Hz läuft.) b) setze die FPS/room speed auf 60 und führe das Step-event 2 mal pro frame aus. Dazu müsstest du die step events aller objekte…
-
Daten auf server speichern
BeitragIch kenne keine alternativen zu den oben gennanten services (hab auch nie mit solchen gearbeitet) wollte legendlich hinweisen dass es durchaus möglich ist sowas auch selbst implementieren zu können. Game Maker hat die möglichkeit einfache HTTP requests an Webserver senden zu können. Diese kannst du dann auf dem Webserver mithilfe von PHP bearbeiten und gegebenenfalls in eine SQL Datenbank eintragen (sei es MySQL oder PostgreSQL.) Schaut dir die http_post_string() methode an: docs.yoyogames.com/s…
-
Game Maker Studio 2
BeitragZitat von Chinafreak: „@LEWA aber ich würde noch nicht die Hoffnung aufgeben. Ich meine, geh bei Startseite bei Game Maker: Studio 2.0, auf "neues Projekt" erstellen und dann siehe da, es gibt 2 Button Auswahl zwischen "Drag & Drop" und "GML", da aber die Button eher in Grid-form anzeigt (statt hälfte links für D&D-Button und hälfte rechts für GML-Button) , vermute ich mal, das es in der Zukunft auch hoffentlich in andere Sprachen geben wird. Ich hoffe auf C# oder C/C++. JavaScript wäre auch in …
-
Game Maker Studio 2
BeitragZitat: „@'LEWA' so wie ich es momentan sehe muss ich dich leider enttäuschen also im großen und ganzen sieht es so aus als wäre alles so geblieben wie es auch davor schon war... die GML hat einfach nur paar neue Funktionen. in-Built Variablen usw. erhalten ansonsten sieht es stark dannach aus als hätte man nichts gemacht.“ Das ist sehr schade. Das war einer der größten Kritikpunkte der immerwieder auf der alten GMC aufgebracht wurde. Das Problem daran ist dass Code modularisierung und Datenabstr…
-
Game Maker Studio 2
BeitragWas ich mir erhofft habe ist dass die der GML scriptsprache einen komplette neusanierung verpassen werden. Soweit ich gesehen/gehört habe hat man immernoch die möglichkeit die alte Syntax zu verwenden (habe die Beta version nicht) wodurch das ganze mit GM Studio 1.x abwärtskompatibel sein soll. (daher nehme ich an dass es immernoch das Event system gibt?) Hat GML aber nun konkreten OOP support bekommen? Paar fragen dazu falls dies der Fall sein sollte. (diejenigen die in anderen Sprachen program…
-
Draw anstatt step.
BeitragNatürlich kannst du die Spiellogik (wie kollisionsprüfungen oder AI) im draw-event stehen haben. Keiner hällt dich davon ab. Allerdings musst du dir bewusst sein dass der GM das step und draw-event intern in bestimmten Szenarios unterschiedlich handhaben wird. Beispielsweise kannst du mit draw_enable_drawevent() das automatische ausführen aller draw-events von objekten deaktivieren. (Wenn du z.B diese manuell ausführen/zeichnen möchtest.) Wenn die Spiellogik im Draw event steht, wird diese dann …
-
Texturgenerierung verhindern
BeitragDu kannst backgrounds/sprites/texturen auch als "included files" ins Spiel laden. Diese Ressourcen werden vom GM nicht konvertiert (oder sonst irgendwie verändert.) Dann musst du aber viele Sachen die der GM für dich übernehmen würde (wie z.B: die Texturepage optimierungen) selbst implementieren. Ist es suboptimal? Womöglich. Dass hast du aber heutzutage bei vielen Engines (Game Maker ist bei weitem nicht ein einzelfall). Entweder passt man sich daran an oder (wozu ich immer tendiere da ich selb…
-
Texturgenerierung verhindern
BeitragDu musst bedenken dass Grafikkarten die Texturen nicht auf dieselbe weise (komprimiert als jpeg oder png) im Grafikspeicher speicher. Die GPU speichert texturen unkomprimiert, egal was das ursprüngliche format auf der Festplatte ist. (Weshalb ich generell nicht empfehle jpegs zu verwenden.) Die Textur wird von der HDD in den RAM gelesen, dort dekomprimiert und an die GPU in unkomprimierten format gesendet. Du kannst dir einfach ausrechnen wieviel Speicher ein 1024*1024 pixel bild verbraucht: Jed…
-
Verwende einen DataInputStream anstelle eines normalen Inputstreams. Quellcode (1 Zeile) Du kannst dann den inhalt der an den Server gesendet wird ganz einfach auslesen: Quellcode (24 Zeilen) Der Thread wird gestartet und die "checkForMessages" Methode wird ausgeführt. In dem Fall versucht es immerwieder 4 bytes zu lesen die empfangen wurden. Wenn ein Byte noch nicht angekommen ist (z.B: das c2) dann stallt/wartet der ganze Thread und wird erst an der stelle (an dem er auf das byte wartet) fortg…
-
Ein Sockettimeout kann jederzeit auftauchen, egal an welcher stelle das Programm gerade executiert. In java kannst du du mit einem try/catch block einfach auf eine Sockettimeoutexception prüfen (welche und (falls diese auftauchen sollte) die jeweiligen maßnahmen treffen. Quellcode (17 Zeilen) Wenn ein disconnect auftritt, wird die SocketTimeoutException geworfen und demnach der ganze Thread beendet.
-
Zitat von Husi012: „*Thema neu aufgreifen* Zitat von LEWA: „Auf der Java Seite musst du nichts dergleichen machen was das ganze wesentlich simpler macht. (Durch multithreading und thread-stalling verläuft das empfangen von nachrichten nach einem anderen Prinzip.)“ @LEWA ist es ganz sicher, dass theoretisch durch einer sehr sehr schlechten Verbindung in Java trotzdem alles vollständig ankommt? Ich würde mir sonst so ein "warte ding" machen, was dann erst auf alles wartet. Bis jetzt konnte ich nur…
-
Aus der GM Documentation: Networking Event Zitat: „ Connecting / Disconnecting ... It is worth noting that the Networking Event does not get triggered in clients when the server disconnects, and that neither of the network_type_* events will be triggered in clients when the server they are connected to disconnects, even if the connection is TCP based. “ Prinzipiell heisst das dass du (auf der seite des Clients) auf andere weise den disconnect erkennen musst. Eine möglichkeit wäre einfach den tim…
-
Zitat von Husi012: „ Jetzt kommt das hier an: Quellcode (2 Zeilen) die letzten 4 Werte passen. Wie ich aus dem Thread des alten GMC Forums entnehmen konnte, sind dann auch die 12 Bytes davor der normale Header, welchen GM mit sendet. Ist es möglich, die 12Bytes auch weg zu lassen?“ Verwende die _raw varianten der networking funktionen. (network_connect_raw(), network_send_raw(), etc...). Wenn du die default networking funktionen verwendest (die ohne _raw) wird der GM header mitgesendet, da diese…
-
Zitat von Husi012: „Oh stimmt, daran hatte ich nicht gedacht, ja das alignment ist auf 2. Ich weiß nicht, wie das BufferSystem genau funktioniert. Darf man nur dieses nur unter 2 haben?“ Ich bin mir nicht 100%ig sicher wie genau bytes bei einem byte-alignment von > 1 gespeichert werden, daher könnte meine Aussage nicht akkurat sein. Mit dem Byte alignment kannst du sicher stellen dass jegliche information in fixen "byte-schritten" gespeichert wird. Wenn du also z.B: ein byte alignment von 2 hast…
-
Auf der java seite sehe ich ehrlich gesagt keine Fehler. Was eigenartig ist dass du deutlich mehr bytes auf der Java seite empfängst als dass du sie in den Buffer schreibst. Wie genau erstellst du den byte buffer auf der GM seite (welchen du dann zum sever sendest)? Verwendest du zufälligerweise ein byte-alignment welches größer als 1 ist?
-
Zitat von Husi012: „Sehr cool ich werde mich dann mal auf machen und deinen Code studieren. Würde es dir etwas ausmachen, wenn ich die Klasse in meinem Projekt JEN verwende? “ Habe nichts dagegen. Zitat von Husi012: „ Was meinst du genau mit dem zusammenfügen von den Datenfragmenten? “ Es gibt 2 Arten wie du daten über das netzwerk versenden kannst: TCP und UDP. UDP versendet datenpackete als ganzes. Die kommen entweder beim client an oder eben auch nicht. TCP hingegen baut einen "Stream" auf üb…
-
Prinzipiell, ja es ist möglich die Buffer auszulesen. Allerdings musst du (Wenn die die Daten über TCP from server zum GM client) vorsichtig sein. (TCP versendet keine packete sonder ist ein Datenstrom. Du musst auf der GM Seite also das zusammenfügen von Informationen von den Datenfragmenten selbst durchführen.) Zusätzlich verwended der GM eine andere Endianess im Vergleich zu Java, wodurch du zwischen diesen konvertierne musst. Ich habe mir für Java eine eigene Klasse geschrieben welche dies b…
-
Abfragen der Größe einer Textur
BeitragIch bin mir nicht sicher ob die OpenGL ES Version die man zur programmierung von Multiplatform shadern (im GM) verwendet dieses Feature überhaupt unterstützt. (Ich glaub das ist GLSL ES 2.0, nach einer kurzen google suche scheint das auch der Fall zu sein.) Zusätzlich gibt es noch die hürde dass die GLSL ES Shader je nach exportmodul in eine andere Shadersprache konvertiert werden. Sprich, wenn du einen GLSL ES shader schreibst und das Spiel mit dem shader für Windows exportierst, wird der inter…
-
"Boden" auffüllen
BeitragZitat von Husi012: „Sorry wegen dem DoppelDreifachpost. Ich wollte mal ein Beispielcode zeigen und dazu dann den Screenshot. GML-Quellcode (12 Zeilen) Ich habe 2 Statt 1 genommen, weil das dann eigentlich wiederholt werden sollte, wie ich das verstanden habe. gm-d.de/wbb/index.php/Attachment/15740/ Man sieht hier ganz klar meine billig Grafiken, die dahinter auf der TexturePage sind.“ Das problem an der Sache ist dass der default-shader nicht die UV koordinaten des Sprites auf der Texturepage mi…