1- JSGL . ExampleHTML . Render ( ) ; // render with default settings
2- // new JSGL.ExampleHTML().Render({
1+ JSGL . ExampleHTML . Render ( {
2+ backgroundColor : '#0F0F0F'
3+ } ) ; // render with default settings
4+ // JSGL.ExampleHTML.Render({
35// backgroundColor: 'red'
46// }); // override default settings (sets the background color of body to red)
57
68// Create Game Instance
79let game = new JSGL . Game ( {
810 canvas : document . getElementById ( "gameCanvas" ) ,
9- grid : new JSGL . Vector2 ( 8 , 6 )
11+ grid : new JSGL . Vector2 ( 8 , 6 ) ,
12+ autoResize : true ,
13+ refreshWhenUnfocused : true
1014} ) ;
1115// Add resource to load
12- game . LoadResource ( 'image' , 'points' , './point.png' ) ;
16+ game . LoadResource ( 'image' , 'points' , './resources/images/ point.png' ) ;
1317// game.LoadResource('image', 'player', './player.png');
1418// game.LoadResource('image', 'enemy', './enemy.png');
1519
@@ -18,18 +22,22 @@ game.RescaleCanvasToParentElement(0.95);
1822
1923// Creating own JSGL Sprite GameObject
2024class Enemy extends JSGL . Sprite {
21- OnStart ( game ) {
22- this . texture = game . GetImage ( 'points' ) ;
25+ move = true ;
26+
27+ OnStart ( event ) {
28+ this . texture = event . game . GetImage ( 'points' ) ;
2329 this . showHitbox = true ;
2430 }
25- Update ( deltaTime , game ) {
26- const rotationPerSec = 180 ;
31+ Update ( event ) {
32+ const rotationPerSec = 30 ;
2733 const rotationPerMillis = rotationPerSec / 1000 ;
28- this . transform . rotation += rotationPerMillis * deltaTime ;
29- game . Update ( ) ;
34+ this . transform . rotate ( rotationPerMillis * event . deltaTime ) ;
35+ if ( this . move )
36+ this . transform . move ( new JSGL . Vector2 ( 1 / 10000 * event . deltaTime , 1 / 10000 * event . deltaTime ) ) ;
37+ event . game . Update ( ) ;
3038 }
31- OnMouseClick ( mousePos , game ) {
32- console . log ( "Clicked! @" , this ) ;
39+ OnMouseClick ( event ) {
40+ console . log ( "Clicked! @" , event ) ;
3341 return true ;
3442 }
3543}
@@ -39,14 +47,59 @@ class Enemy extends JSGL.Sprite{
3947// game.Start();
4048// });
4149// game.LoadAllResources();
50+ console . log ( "Waiting for load.." ) ;
4251game . LoadGameAndStart ( ) . then ( ( ) => {
4352 console . log ( "Loaded" ) ;
44- game . on ( 'draw' , ( ) => {
45- game . renderer . fillFrame ( '#F0F0F0' ) ;
46- game . renderer . drawRectangle ( 0 , 0 , 1 , 1 ) ;
47- game . renderer . drawRectangle ( 2 , 0 , 1 , 1 , 'blue' ) ;
48- game . renderer . drawRectangle ( 3 , 0 , 1 , 1 , 'yellow' ) ;
49- game . renderer . drawRectangle ( 1 , 0 , 1 , 1 , 'red' , 45 ) ;
53+ game . on ( 'draw' , ( event ) => {
54+ game . renderer . fillFrame ( {
55+ color : '#F0F0F0'
56+ } ) ;
57+ game . renderer . drawRectangle ( 0 , 0 , 1 , 1 , {
58+ shadow : {
59+ color : 'black' ,
60+ offsetX : 0.05 ,
61+ offsetY : 0.05 ,
62+ blur : 0.4
63+ }
64+ } ) ;
65+ game . renderer . drawTriangle ( 2 , 0 , 1 , 1 , {
66+ color : 'blue'
67+ } ) ;
68+ //
69+ game . renderer . drawRectangle ( 4.9 , 0 , 1.2 , 3.1 , {
70+ alpha : 0.2
71+ } ) ;
72+ game . renderer . drawCircle ( 5 , 0 , 1 , {
73+ color : 'green' ,
74+ border : true ,
75+ fill : true ,
76+ alpha : 0.1
77+ } ) ;
78+ game . renderer . drawCircle ( 5 , 1 , 1 , {
79+ color : 'yellow' ,
80+ border : true ,
81+ fill : true ,
82+ alpha : 0.1
83+ } ) ;
84+ game . renderer . drawCircle ( 5 , 2 , 1 , {
85+ color : 'red' ,
86+ border : true ,
87+ fill : true
88+ } ) ;
89+ //
90+ game . renderer . drawRectangle ( 1 , 2 , 1 , 1 , {
91+ color : 'magenta' ,
92+ angle : 45 ,
93+ border : true ,
94+ borderColor : 'red' ,
95+ alpha : 0.1 ,
96+ shadow : {
97+ color : 'red' ,
98+ offsetX : 0.1 ,
99+ offsetY : 0.1 ,
100+ blur : 1
101+ }
102+ } ) ;
50103 } ) ;
51104 game . on ( 'mouseUp' , ( event ) => {
52105 console . log ( 'Mouse up!' ) ;
@@ -58,6 +111,10 @@ game.LoadGameAndStart().then(() => {
58111 console . log ( event . mousePos , event . mouseClientPos ) ;
59112 } ) ;
60113 let enemy = new Enemy ( ) ;
61- enemy . transform . addX ( 3 ) . addY ( 2 ) ;
62- game . AddGameObject ( enemy ) ;
114+ enemy . transform . addX ( 3 ) . addY ( 1 ) ;
115+ enemy . move = false ;
116+ game . AddGameObject ( enemy ) . showHitbox = false ;
117+ game . AddGameObject ( new Enemy ( ) ) . showHitbox = false ;
118+ game . AddGameObject ( new Enemy ( ) ) . transform . add ( new JSGL . Vector2 ( 3.5 , 2.5 ) ) ;
119+ game . AddGameObject ( new Enemy ( ) ) . transform . add ( new JSGL . Vector2 ( 0 , 3 ) ) ;
63120} ) ;
0 commit comments