@@ -428,4 +428,145 @@ const floor = {
428428
429429e . add ( floor ) ;
430430
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