Skip to content

Commit 14bd8da

Browse files
committed
Update api-play.js
1 parent 0c4c2c6 commit 14bd8da

File tree

1 file changed

+142
-1
lines changed

1 file changed

+142
-1
lines changed

notes/api-play.js

+142-1
Original file line numberDiff line numberDiff line change
@@ -428,4 +428,145 @@ const floor = {
428428

429429
e.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

Comments
 (0)