@@ -13,19 +13,19 @@ Client-side JavaScript library for creating web 2D games. Focusing at objective
1313Use the JSGL to create 2D games.
1414## Features
1515* Creating 2D Games in HTML Canvas
16+ * Auto canvas scaling to size
1617* Game Settings (autoCanvasResize...)
1718* Creating OOP game objects
1819* Easy events system
1920* Resources loading system
2021* Easy management objects with Transform and Vector2
21- * No need to write HTML. The JSGL.ExampleHTML can render default game page.
22- * Drawing text and UI (W.I.P)
22+ * No need to write HTML. The JSGL.ExampleHTML/JSGL.DefaultGame can render default game page.
2323## Documentation
2424Read @ [ Documentation] ( https://jsglreference.pl/ ) .
2525## Installing
2626### CDN
2727``` html
28- <script src =" https://unpkg.com/@moderrkowo/jsgl@1.0.5 /dist/JSGL.js" ></script >
28+ <script src =" https://unpkg.com/@moderrkowo/jsgl/dist/JSGL.js" ></script >
2929```
3030### npm
3131```
@@ -37,7 +37,7 @@ To include JSGL in browser add script tag to body element. Like below.
3737``` html
3838...
3939<body >
40- <script src =" https://unpkg.com/@moderrkowo/jsgl@1.0.5 /dist/JSGL.js" ></script >
40+ <script src =" https://unpkg.com/@moderrkowo/jsgl/dist/JSGL.js" ></script >
4141 <script src =" ./js/game.js" ></script >
4242</body >
4343...
@@ -54,125 +54,5 @@ const exampleVector2 = new Vector2(5, 10);
5454console .log (exampleVector2);
5555// Vector2 { x: 5, y: 10 }
5656```
57- ## Example init
58- `` index.html ``
59- ``` html
60- ...
61- <body >
62- <script src =" JSGL.js" ></script >
63- <script >
64- // This function creates game path with canvas (id = gameCanvas)
65- JSGL .ExampleHTML .Render ({
66- backgroundColor: ' #0F0F0F'
67- }); // render html page with overrided backgroundColor setting
68- // Creating game instance
69- let game = new JSGL.Game ({
70- /* required */ canvas: document .getElementById (" gameCanvas" ),
71- /* required */ grid: new JSGL.Vector2 (8 , 6 ), /* Vector2(x, y) */
72- autoResize: true ,
73- refreshWhenUnfocused: true
74- })
75- // Optional
76- game .LoadResource (' image' , ' example-img' , ' ./resources/images/point.png' );
77-
78- game .RescaleCanvasToParentElement (0.95 ); // Decimal mid point
79-
80- // Creating own JSGL GameObject
81- class ExampleGameObject extends JSGL .GameObject {
82- // Properties
83- /*
84- readonly id: string;
85- enabled: boolean;
86- name: string;
87- tag: string;
88- sortingOrder: number;
89- transform: Transform;
90- */
91- // Executed at spawn
92- OnStart (event ){
93- // event.game - game reference
94- }
95- // Executed at destroy
96- OnDestroy (event ){
97- // event.game - game reference
98- }
99- // Executed at every frame (max frame is limited to monitor hz)
100- Update (event ){
101- // event.deltaTime - frame time
102- // event.game - game reference
103- }
104- // Executed at rendering (rendering is executed when need to update)
105- // To tell the game that it need to be redrawed call game.Update();
106- OnDraw (event ){
107- // event.renderer - renderer reference
108- // event.game - game reference
109- }
110- // FixedUpdate is last update at every frame refresh
111- FixedUpdate (event ){
112- // event.deltaTime - frame time
113- // event.game - game reference
114- }
115- }
116-
117- // Creating own JSGL Sprite game object
118- class ExampleSprite extends JSGL .Sprite {
119- // + properties from JSGL.GameObject
120- /* Properties from JSGL.Sprite
121- visible: boolean = true;
122- texture: HTMLImageElement = undefined;
123- showHitbox: boolean = false;
124- */
125-
126- // Dont override this functions
127- // * OnDraw
128-
129- // Adds function
130- OnStart (event ){
131- // event.game - game reference
132- console .log (" I have spawned!" );
133- this .texture = event .game .GetImage (' example-img' );
134- // this.showHitbox = true;
135- event .game .Update (); // to tell the game needs to redraw
136- }
137- OnMouseClick (event ){
138- // event.isMouseDown - false (click is registered after mouse button up)
139- // event.mousePos - Vector2 of mouse position on game grid (Integer)
140- // event.mousePrecisePos - Vector2 of mouse position on canvas (Scaled)
141- // event.mouseClientPos - Vector2 of mouse position on canvas (Client Position)
142- console .log (" Clicked!" );
143- return true ; // is handled? (boolean)
144- // if returned true click go to game object under this
145- }
146- }
147-
148- function gameInit (){
149- game .on (' draw' , (event ) => {
150- // event.renderer - the renderer reference
151- // event.game - the game reference
152- event .renderer .fillFrame ({
153- color: ' #F0F0F0'
154- });
155- })
156- game .AddGameObject (new ExampleGameObject ());
157- game .AddGameObject (new ExampleSprite ());
158- console .log (game .gameObjects );
159- }
160-
161- // Starting the game
162-
163- // Method 1
164- // game.on('loadAllResources', () => {
165- // game.Start();
166- // gameInit();
167- // });
168- // game.LoadAllResources();
169-
170- // Method 2
171- game .LoadGameAndStart ().then (() => {
172- console .log (" Game loaded!" );
173- gameInit ();
174- });
175- </script >
176- </body >
177- ...
178- ```
57+ ## Checks examples
58+ [ Examples] ( https://github.com/Moderrek/JSGL/tree/release/examples/ ) ;
0 commit comments