@@ -428,4 +428,145 @@ const floor = {
428
428
429
429
e . add ( floor ) ;
430
430
431
- e . start ( ) ;
431
+ e . start ( ) ;
432
+
433
+ ////////////////////////////////
434
+
435
+ // initialize engine
436
+ // const e = setScreenSize(300, 300);
437
+
438
+ // fix screen size? fixed aspect ratio
439
+ // units are 0 - 100
440
+
441
+ // default origin is center?
442
+ // remove rotate? keep flip?
443
+ let beaker = add ( {
444
+ sprite : sprite_beaker , // assign sprite here
445
+ solid : true , // collides with other solid objects
446
+ x : 130 , // set initial x position
447
+ y : 91 , // set initial y position
448
+ scale : 2 ,
449
+ } )
450
+
451
+ add ( {
452
+ sprite : sprite_floor ,
453
+ tags : [ "floor" ] , // can be used to reference object
454
+ solid : true ,
455
+ x : 102 ,
456
+ y : 242 ,
457
+ scale : 3
458
+ } )
459
+
460
+ createTimer ( _ => {
461
+ getTagged ( "floor" ) . forEach ( sprite => {
462
+ sprite . y += 3 ;
463
+ } )
464
+ } , 1 / 30 )
465
+
466
+ let timer = createTimer ( time => {
467
+ console . log ( "every second" ) ;
468
+ if ( time > 10 ) cancelTimer ( timer ) ;
469
+ } , 1 )
470
+
471
+ onCollision ( "tag1" , "tag2" , ( tag0 , tag1 ) => {
472
+
473
+ } )
474
+
475
+ onCollision ( beaker , "tag2" , ( tag0 , tag1 ) => {
476
+
477
+ } )
478
+
479
+ onInput ( "keyheld" , ( data ) => {
480
+ if ( data === "3" ) {
481
+ getTagged ( "floor" ) . forEach ( floor => {
482
+ floor . y = 300 ;
483
+ } )
484
+ }
485
+ } )
486
+
487
+ // onInput("keypress:3", () => { })
488
+ // onInput("keyheld:space", () => { })
489
+
490
+ // onKeyPress("a", () => { })
491
+ // onKeyHeld("a", () => { })
492
+ // onKeyHeld("a", () => { })
493
+
494
+ // won't need this with timer
495
+ onUpdate ( ( ) => {
496
+ getTagged ( "floor" ) . forEach ( sprite => {
497
+ sprite . x += 3 ;
498
+ sprite . y += 3 ;
499
+ } )
500
+
501
+ // forTagged("floor", floor => { })
502
+ } )
503
+
504
+ // start the game
505
+ start ( ) ;
506
+
507
+
508
+ //////////////////////////////
509
+
510
+ const obj = add ( {
511
+ sprite,
512
+ tags : [ ] ,
513
+ scale : [ 1 , 1 ] ,
514
+ x,
515
+ y,
516
+ vx,
517
+ vy,
518
+ solid : true ,
519
+ origin : [ 0.5 , 0.5 ] ,
520
+ zIndex : 1 ,
521
+ props : { } ,
522
+ // bounce: 1,
523
+ // rotate: 0
524
+ } ) ;
525
+
526
+ obj . teleport ( x , y ) ;
527
+ obj . distanceTo ( otherObj ) ;
528
+ obj . addTag ( "something" ) ;
529
+ obj . removeTag ( "something" ) ;
530
+ obj . width ;
531
+ obj . height ;
532
+
533
+
534
+ // center is x, y
535
+ let sampleText = addText ( "text" , x , y , { size, color, rotate } ) ;
536
+ sampleText . text = "text" ;
537
+ // or sampleText.setText("text")
538
+ // or just remove and re-add
539
+
540
+ remove ( tag | sprite | text ) ;
541
+
542
+ getTagged ( tagName ) ;
543
+
544
+ let timer0 = createTimer ( time => {
545
+ if ( keyheld ( "k" ) ) {
546
+ console . log ( "key k held" ) ;
547
+ }
548
+
549
+ if ( keypressed ( "k" ) ) { // when is this triggered?
550
+ console . log ( "key k pressed" ) ;
551
+ }
552
+ } , 1 / 30 ) ;
553
+ cancelTimer ( timer0 ) ; // or timer0.cancel(); or remove(timer0)
554
+
555
+ // should i be able to remove these?
556
+ // when will keyheld be triggered?
557
+ onInput ( "keypress" , data => { // "keyhold" | "mousemove" | "mousedown" | "mouseup"
558
+ if ( data === "k" ) {
559
+ console . log ( "k" ) ;
560
+ }
561
+ } )
562
+
563
+ onCollision ( tag0 | obj , tag1 , ( tagged0 , tagged1 ) => { // on collide
564
+
565
+ } )
566
+
567
+ start ( ) ;
568
+ end ( ) ;
569
+
570
+ playTune ( tune_asset_name ) ;
571
+ const tuneToStop = loopTune ( tune_asset_name ) ;
572
+ tuneToStop . end ( ) ; // or endTune(tuneToStop) or remove(tuneToStop)
0 commit comments