sb-edit-custom 0.20.140 → 0.20.142
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/io/leopard/infrastructure.d.ts +1 -1
- package/lib/io/leopard/infrastructure.js +1 -5
- package/lib/io/leopard/toLeopard.js +4 -3
- package/lib/models/costume.d.ts +1 -0
- package/lib/models/game.js +13 -10
- package/lib/models/sprite.d.ts +2 -0
- package/lib/models/sprite.js +50 -13
- package/package.json +1 -1
|
@@ -11,7 +11,7 @@ export declare const GAME_STAGE_JS = "\nimport { Stage as StageBase, Trigger, Wa
|
|
|
11
11
|
export declare const WRAP_SPRITE_CLASS_JS = "\nimport { GameSprite } from \"./GameSprite.js\"\nimport { copyPrototypeToInstance, setConstructingTarget, clearConstructingTarget, callUserInit } from \"./helpers.js\"\n\nexport function wrapSpriteClass(UserClass) {\n if (UserClass.prototype?.hasOwnProperty(\"constructor\")) {\n const userCtor = UserClass.prototype.constructor\n if (userCtor && userCtor !== UserClass) {\n throw new Error(`${UserClass.name}: Please use init() instead of constructor()`)\n }\n }\n\n var spriteId = UserClass.name;\n\n return class WrappedSprite extends GameSprite {\n constructor(...args) {\n var opts = args[0] ?? {}\n args[0] = { ...opts, spriteId: spriteId }\n super(...args)\n\n copyPrototypeToInstance(this, UserClass.prototype)\n }\n\n _callInit() {\n setConstructingTarget(this)\n try {\n callUserInit(this)\n } finally {\n clearConstructingTarget()\n }\n\n this._finalizeTriggers()\n }\n }\n}\n";
|
|
12
12
|
export declare const WRAP_STAGE_CLASS_JS = "\nimport { GameStage } from \"./GameStage.js\"\nimport { copyPrototypeToInstance, setConstructingTarget, clearConstructingTarget, callUserInit } from \"./helpers.js\"\n\nexport function wrapStageClass(UserClass) {\n return class WrappedStage extends GameStage {\n constructor(...args) {\n super(...args)\n\n copyPrototypeToInstance(this, UserClass.prototype)\n }\n\n _callInit() {\n setConstructingTarget(this)\n try {\n callUserInit(this)\n } finally {\n clearConstructingTarget()\n }\n\n this._finalizeTriggers()\n }\n }\n}\n";
|
|
13
13
|
export declare const getUserApiJS: (_leopardJSURL?: string) => string;
|
|
14
|
-
export declare const SPRITE_FUNCS_JS = "\n// spriteFuncs.js - Free functions that delegate to the current sprite\n// These allow cleaner code: wait(1) instead of this.wait(1)\n// Works both during init() (via constructing target) and at runtime (via context.target)\n\nimport { context } from \"./userApi.js\";\nimport { getConstructingTarget } from \"./helpers.js\";\n\nfunction self() {\n return getConstructingTarget() || context.target;\n}\n\n// Control\nexport function wait(seconds) {\n return self().wait(seconds);\n}\n\nexport function broadcast(message) {\n return self().broadcast(message);\n}\n\nexport function broadcastAndWait(message) {\n return self().broadcastAndWait(message);\n}\n\nexport function createClone() {\n self().createClone();\n}\n\nexport function deleteThisClone() {\n self().deleteThisClone();\n}\n\nexport function stop(option) {\n self().stop(option);\n}\n\nexport function stopGame() {\n self().stopGame();\n}\n\nexport function stopAllSounds() {\n self().stopAllSounds();\n}\n\n// Looks\nexport function say(message) {\n var s = self();\n if (typeof s.say !== \"function\") {\n throw new Error(\"say() can only be used in sprite code, not stage code.\");\n }\n s.say(message);\n}\n\nexport function sayAndWait(message, seconds) {\n var s = self();\n if (typeof s.sayAndWait !== \"function\") {\n throw new Error(\"sayAndWait() can only be used in sprite code, not stage code.\");\n }\n return s.sayAndWait(message, seconds);\n}\n\nexport function think(message) {\n var s = self();\n if (typeof s.think !== \"function\") {\n throw new Error(\"think() can only be used in sprite code, not stage code.\");\n }\n s.think(message);\n}\n\nexport function thinkAndWait(message, seconds) {\n var s = self();\n if (typeof s.thinkAndWait !== \"function\") {\n throw new Error(\"thinkAndWait() can only be used in sprite code, not stage code.\");\n }\n return s.thinkAndWait(message, seconds);\n}\n\n// Motion\nexport function move(steps) {\n self().move(steps);\n}\n\nexport function goto(x, y) {\n self().goto(x, y);\n}\n\nexport function glide(seconds, x, y) {\n return self().glide(seconds, x, y);\n}\n\nexport function setDirection(direction) {\n self().direction = direction;\n}\n\nexport function changeDirection(amount) {\n self().direction += amount;\n}\n\nexport function turnClockwise(degrees) {\n self().direction += degrees;\n}\n\nexport function turnCounterClockwise(degrees) {\n self().direction -= degrees;\n}\n\nexport function pointTowards(target) {\n var s = self();\n var x, y;\n if (typeof target === \"string\" && target === \"mouse\") {\n x = s.mouse.x;\n y = s.mouse.y;\n } else {\n x = target.x;\n y = target.y;\n }\n s.direction = s.radToScratch(Math.atan2(y - s.y, x - s.x));\n}\n\nexport function changeX(amount) {\n self().x += amount;\n}\n\nexport function setX(x) {\n self().x = x;\n}\n\nexport function changeY(amount) {\n self().y += amount;\n}\n\nexport function setY(y) {\n self().y = y;\n}\n\nexport function ifOnEdgeBounce() {\n self().ifOnEdgeBounce();\n}\n\n// Pen\nexport function stamp() {\n self().stamp();\n}\n\nexport function penDown() {\n self().penDown = true;\n}\n\nexport function penUp() {\n self().penDown = false;\n}\n\nexport function setPenColor(color) {\n self().penColor = color;\n}\n\nexport function setPenSize(size) {\n self().penSize = size;\n}\n\nexport function changePenSize(amount) {\n self().penSize += amount;\n}\n\nexport function clearPen() {\n self().clearPen();\n}\n\n// Sound\nexport function playSoundUntilDone(sound) {\n return self().playSoundUntilDone(sound);\n}\n\nexport function startSound(sound) {\n return self().startSound(sound);\n}\n\n// Sensing\nexport function touching(target) {\n return self().touching(target);\n}\n\nexport function colorTouching(color, target) {\n return self().colorTouching(color, target);\n}\n\nexport function keyPressed(key) {\n return self().keyPressed(key);\n}\n\nexport function isMouseDown() {\n return self().mouse.down;\n}\n\nexport function getMouseX() {\n return self().mouse.x;\n}\n\nexport function getMouseY() {\n return self().mouse.y;\n}\n\nexport function askAndWait(question) {\n return self().askAndWait(question);\n}\n\nexport function getAnswer() {\n return self().answer;\n}\n\nexport function getTimer() {\n return self().timer;\n}\n\nexport function restartTimer() {\n self().restartTimer();\n}\n\n// Visibility\nexport function show() {\n self().visible = true;\n}\n\nexport function hide() {\n self().visible = false;\n}\n\n// Size\nexport function setSize(percent) {\n self().size = percent;\n}\n\nexport function changeSize(amount) {\n self().size += amount;\n}\n\n// Effects\nexport function setEffect(effect, value) {\n self().effects[effect] = value;\n}\n\nexport function changeEffect(effect, amount) {\n self().effects[effect] += amount;\n}\n\nexport function clearEffects() {\n self().effects.clear();\n}\n\n// Costume\nexport function setCostume(costume) {\n self().costume = costume;\n}\n\nexport function nextCostume() {\n self().costumeNumber++;\n}\n\n// Layer\nexport function moveToFront() {\n self().moveAhead();\n}\n\nexport function moveToBack() {\n self().moveBehind();\n}\n\nexport function moveForward(layers = 1) {\n self().moveAhead(layers);\n}\n\nexport function moveBackward(layers = 1) {\n self().moveBehind(layers);\n}\n\n// Rotation style\nexport function setRotationStyle(style) {\n self().rotationStyle = style;\n}\n\n// Variables / Watchers\nexport function createVar(name, initialValue, options) {\n self().createVar(name, initialValue, options);\n}\n\nexport function setVar(name, value) {\n self().setVar(name, value);\n}\n\nexport function showVar(name) {\n self().showVar(name);\n}\n\nexport function hideVar(name) {\n self().hideVar(name);\n}\n\nexport function moveVar(name, x, y) {\n self().moveVar(name, x, y);\n}\n\n// Event handlers\nexport function whenGreenFlag(method) {\n self().whenGreenFlag(method);\n}\n\nexport function whenKeyPressed(keyOrOptions, method) {\n self().whenKeyPressed(keyOrOptions, method);\n}\n\nexport function whenBroadcast(nameOrOptions, method) {\n self().whenBroadcast(nameOrOptions, method);\n}\n\nexport function whenClicked(method) {\n self().whenClicked(method);\n}\n\nexport function whenTouchStart(method) {\n self().whenTouchStart(method);\n}\n\nexport function whenTouchEnd(method) {\n self().whenTouchEnd(method);\n}\n\nexport function whenTouchMove(method) {\n self().whenTouchMove(method);\n}\n\nexport function whenCloneStart(method) {\n self().whenCloneStart(method);\n}\n\nexport function whenBackdropChanged(method) {\n self().whenBackdropChanged(method);\n}\n\n// Sound (additional)\nexport function stopAllOfMySounds() {\n self().stopAllOfMySounds();\n}\n\nexport function getSound(soundName) {\n return self().getSound(soundName);\n}\n\n// Motion (additional getters/setters)\nexport function getX() {\n return self().x;\n}\n\nexport function getY() {\n return self().y;\n}\n\nexport function getDirection() {\n return self().direction;\n}\n\nexport function positionInFence() {\n self().positionInFence();\n}\n\nexport function moveAhead(value) {\n self().moveAhead(value);\n}\n\nexport function moveBehind(value) {\n self().moveBehind(value);\n}\n\n// Looks (additional getters)\nexport function getCostumeNumber() {\n return self().costumeNumber;\n}\n\nexport function setCostumeNumber(number) {\n self().costumeNumber = number;\n}\n\nexport function prevCostume() {\n self().costumeNumber--;\n}\n\nexport function getCostume() {\n return self().costume.name;\n}\n\nexport function getCostumes() {\n return self().costumes.map(c => c.name);\n}\n\nexport function getSize() {\n return self().size;\n}\n\nexport function getVisible() {\n return self().visible;\n}\n\n// Sensing (additional)\nexport function getLoudness() {\n return self().loudness;\n}\n\nexport function nearestEdge() {\n return self().nearestEdge();\n}\n\nexport function getStage() {\n return self().stage;\n}\n\nexport function getSprites() {\n return self().sprites;\n}\n\n// Pen (additional getters)\nexport function getPenDown() {\n return self().penDown;\n}\n\nexport function getPenColor() {\n return self().penColor;\n}\n\nexport function getPenSize() {\n return self().penSize;\n}\n\n// Clone\nexport function andClones() {\n return self().andClones();\n}\n\n// Math utilities\nexport function degToRad(deg) {\n return self().degToRad(deg);\n}\n\nexport function radToDeg(rad) {\n return self().radToDeg(rad);\n}\n\nexport function degToScratch(deg) {\n return self().degToScratch(deg);\n}\n\nexport function scratchToDeg(scratchDir) {\n return self().scratchToDeg(scratchDir);\n}\n\nexport function radToScratch(rad) {\n return self().radToScratch(rad);\n}\n\nexport function scratchToRad(scratchDir) {\n return self().scratchToRad(scratchDir);\n}\n\nexport function scratchTan(angle) {\n return self().scratchTan(angle);\n}\n\nexport function normalizeDeg(deg) {\n return self().normalizeDeg(deg);\n}\n\nexport function wrapClamp(n, min, max) {\n return self().wrapClamp(n, min, max);\n}\n\nexport function random(a, b) {\n return self().random(a, b);\n}\n\n// Type conversion\nexport function toNumber(value) {\n return self().toNumber(value);\n}\n\nexport function toBoolean(value) {\n return self().toBoolean(value);\n}\n\nexport function toStr(value) {\n return self().toString(value);\n}\n\n// String / Array utilities\nexport function stringIncludes(string, substring) {\n return self().stringIncludes(string, substring);\n}\n\nexport function arrayIncludes(array, value) {\n return self().arrayIncludes(array, value);\n}\n\nexport function letterOf(string, index) {\n return self().letterOf(string, index);\n}\n\nexport function itemOf(array, index) {\n return self().itemOf(array, index);\n}\n\nexport function indexInArray(array, value) {\n return self().indexInArray(array, value);\n}\n\nexport function compare(v1, v2) {\n return self().compare(v1, v2);\n}\n\n// Control (additional)\nexport function warp(procedure) {\n return self().warp(procedure);\n}\n\n// Loop helpers\nexport function repeat(times, body) {\n for (var i = 0; i < times; i++) {\n body();\n }\n}\n\nexport function forever(body) {\n while (true) {\n body();\n }\n}\n\nexport function untilLoop(condition, body) {\n while (!condition()) {\n body();\n }\n}\n\n// Color utilities\nexport function rgb(r, g, b) {\n return Color.rgb(r, g, b);\n}\n\nexport function hex(hex) {\n return Color.hex(hex);\n}\n\nexport function colorNumToRgb(num) {\n return Color.num(num);\n}\n\nfunction hexToRGB(hex) { return Color.hexToRGB(hex); }\nfunction hexToHSL(hex) { return Color.hexToHSL(hex); }\nfunction rgbToHex(r, g, b) { return Color.rgbToHex(r, g, b); }\nfunction rgbToHSL(r, g, b) { return Color.rgbToHSL(r, g, b); }\nfunction hslToRGB(h, s, l) { return Color.hslToRGB(h, s, l); }\nfunction hslToHex(h, s, l) { return Color.hslToHex(h, s, l); }\n";
|
|
14
|
+
export declare const SPRITE_FUNCS_JS = "\n// spriteFuncs.js - Free functions that delegate to the current sprite\n// These allow cleaner code: wait(1) instead of this.wait(1)\n// Works both during init() (via constructing target) and at runtime (via context.target)\n\nimport { context } from \"./userApi.js\";\nimport { getConstructingTarget } from \"./helpers.js\";\n\nfunction self() {\n return getConstructingTarget() || context.target;\n}\n\n// Control\nexport function wait(seconds) {\n return self().wait(seconds);\n}\n\nexport function broadcast(message) {\n return self().broadcast(message);\n}\n\nexport function broadcastAndWait(message) {\n return self().broadcastAndWait(message);\n}\n\nexport function createClone() {\n self().createClone();\n}\n\nexport function deleteThisClone() {\n self().deleteThisClone();\n}\n\nexport function stop(option) {\n self().stop(option);\n}\n\nexport function stopAllSounds() {\n self().stopAllSounds();\n}\n\n// Looks\nexport function say(message) {\n var s = self();\n if (typeof s.say !== \"function\") {\n throw new Error(\"say() can only be used in sprite code, not stage code.\");\n }\n s.say(message);\n}\n\nexport function sayAndWait(message, seconds) {\n var s = self();\n if (typeof s.sayAndWait !== \"function\") {\n throw new Error(\"sayAndWait() can only be used in sprite code, not stage code.\");\n }\n return s.sayAndWait(message, seconds);\n}\n\nexport function think(message) {\n var s = self();\n if (typeof s.think !== \"function\") {\n throw new Error(\"think() can only be used in sprite code, not stage code.\");\n }\n s.think(message);\n}\n\nexport function thinkAndWait(message, seconds) {\n var s = self();\n if (typeof s.thinkAndWait !== \"function\") {\n throw new Error(\"thinkAndWait() can only be used in sprite code, not stage code.\");\n }\n return s.thinkAndWait(message, seconds);\n}\n\n// Motion\nexport function move(steps) {\n self().move(steps);\n}\n\nexport function goto(x, y) {\n self().goto(x, y);\n}\n\nexport function glide(seconds, x, y) {\n return self().glide(seconds, x, y);\n}\n\nexport function setDirection(direction) {\n self().direction = direction;\n}\n\nexport function changeDirection(amount) {\n self().direction += amount;\n}\n\nexport function turnClockwise(degrees) {\n self().direction += degrees;\n}\n\nexport function turnCounterClockwise(degrees) {\n self().direction -= degrees;\n}\n\nexport function pointTowards(target) {\n var s = self();\n var x, y;\n if (typeof target === \"string\" && target === \"mouse\") {\n x = s.mouse.x;\n y = s.mouse.y;\n } else {\n x = target.x;\n y = target.y;\n }\n s.direction = s.radToScratch(Math.atan2(y - s.y, x - s.x));\n}\n\nexport function changeX(amount) {\n self().x += amount;\n}\n\nexport function setX(x) {\n self().x = x;\n}\n\nexport function changeY(amount) {\n self().y += amount;\n}\n\nexport function setY(y) {\n self().y = y;\n}\n\nexport function ifOnEdgeBounce() {\n self().ifOnEdgeBounce();\n}\n\n// Pen\nexport function stamp() {\n self().stamp();\n}\n\nexport function penDown() {\n self().penDown = true;\n}\n\nexport function penUp() {\n self().penDown = false;\n}\n\nexport function setPenColor(color) {\n self().penColor = color;\n}\n\nexport function setPenSize(size) {\n self().penSize = size;\n}\n\nexport function changePenSize(amount) {\n self().penSize += amount;\n}\n\nexport function clearPen() {\n self().clearPen();\n}\n\n// Sound\nexport function playSoundUntilDone(sound) {\n return self().playSoundUntilDone(sound);\n}\n\nexport function startSound(sound) {\n return self().startSound(sound);\n}\n\n// Sensing\nexport function touching(target) {\n return self().touching(target);\n}\n\nexport function colorTouching(color, target) {\n return self().colorTouching(color, target);\n}\n\nexport function keyPressed(key) {\n return self().keyPressed(key);\n}\n\nexport function isMouseDown() {\n return self().mouse.down;\n}\n\nexport function getMouseX() {\n return self().mouse.x;\n}\n\nexport function getMouseY() {\n return self().mouse.y;\n}\n\nexport function askAndWait(question) {\n return self().askAndWait(question);\n}\n\nexport function getAnswer() {\n return self().answer;\n}\n\nexport function getTimer() {\n return self().timer;\n}\n\nexport function restartTimer() {\n self().restartTimer();\n}\n\n// Visibility\nexport function show() {\n self().visible = true;\n}\n\nexport function hide() {\n self().visible = false;\n}\n\n// Size\nexport function setSize(percent) {\n self().size = percent;\n}\n\nexport function changeSize(amount) {\n self().size += amount;\n}\n\n// Effects\nexport function setEffect(effect, value) {\n self().effects[effect] = value;\n}\n\nexport function changeEffect(effect, amount) {\n self().effects[effect] += amount;\n}\n\nexport function clearEffects() {\n self().effects.clear();\n}\n\n// Costume\nexport function setCostume(costume) {\n self().costume = costume;\n}\n\nexport function nextCostume() {\n self().costumeNumber++;\n}\n\n// Layer\nexport function moveToFront() {\n self().moveAhead();\n}\n\nexport function moveToBack() {\n self().moveBehind();\n}\n\nexport function moveForward(layers = 1) {\n self().moveAhead(layers);\n}\n\nexport function moveBackward(layers = 1) {\n self().moveBehind(layers);\n}\n\n// Rotation style\nexport function setRotationStyle(style) {\n self().rotationStyle = style;\n}\n\n// Variables / Watchers\nexport function createVar(name, initialValue, options) {\n self().createVar(name, initialValue, options);\n}\n\nexport function setVar(name, value) {\n self().setVar(name, value);\n}\n\nexport function showVar(name) {\n self().showVar(name);\n}\n\nexport function hideVar(name) {\n self().hideVar(name);\n}\n\nexport function moveVar(name, x, y) {\n self().moveVar(name, x, y);\n}\n\n// Event handlers\nexport function whenGreenFlag(method) {\n self().whenGreenFlag(method);\n}\n\nexport function whenKeyPressed(keyOrOptions, method) {\n self().whenKeyPressed(keyOrOptions, method);\n}\n\nexport function whenBroadcast(nameOrOptions, method) {\n self().whenBroadcast(nameOrOptions, method);\n}\n\nexport function whenClicked(method) {\n self().whenClicked(method);\n}\n\nexport function whenTouchStart(method) {\n self().whenTouchStart(method);\n}\n\nexport function whenTouchEnd(method) {\n self().whenTouchEnd(method);\n}\n\nexport function whenTouchMove(method) {\n self().whenTouchMove(method);\n}\n\nexport function whenCloneStart(method) {\n self().whenCloneStart(method);\n}\n\nexport function whenBackdropChanged(method) {\n self().whenBackdropChanged(method);\n}\n\n// Sound (additional)\nexport function stopAllOfMySounds() {\n self().stopAllOfMySounds();\n}\n\nexport function getSound(soundName) {\n return self().getSound(soundName);\n}\n\n// Motion (additional getters/setters)\nexport function getX() {\n return self().x;\n}\n\nexport function getY() {\n return self().y;\n}\n\nexport function getDirection() {\n return self().direction;\n}\n\nexport function positionInFence() {\n self().positionInFence();\n}\n\nexport function moveAhead(value) {\n self().moveAhead(value);\n}\n\nexport function moveBehind(value) {\n self().moveBehind(value);\n}\n\n// Looks (additional getters)\nexport function getCostumeNumber() {\n return self().costumeNumber;\n}\n\nexport function setCostumeNumber(number) {\n self().costumeNumber = number;\n}\n\nexport function prevCostume() {\n self().costumeNumber--;\n}\n\nexport function getCostume() {\n return self().costume.name;\n}\n\nexport function getCostumes() {\n return self().costumes.map(c => c.name);\n}\n\nexport function getSize() {\n return self().size;\n}\n\nexport function getVisible() {\n return self().visible;\n}\n\n// Sensing (additional)\nexport function getLoudness() {\n return self().loudness;\n}\n\nexport function nearestEdge() {\n return self().nearestEdge();\n}\n\nexport function getStage() {\n return self().stage;\n}\n\nexport function getSprites() {\n return self().sprites;\n}\n\n// Pen (additional getters)\nexport function getPenDown() {\n return self().penDown;\n}\n\nexport function getPenColor() {\n return self().penColor;\n}\n\nexport function getPenSize() {\n return self().penSize;\n}\n\n// Clone\nexport function andClones() {\n return self().andClones();\n}\n\n// Math utilities\nexport function degToRad(deg) {\n return self().degToRad(deg);\n}\n\nexport function radToDeg(rad) {\n return self().radToDeg(rad);\n}\n\nexport function degToScratch(deg) {\n return self().degToScratch(deg);\n}\n\nexport function scratchToDeg(scratchDir) {\n return self().scratchToDeg(scratchDir);\n}\n\nexport function radToScratch(rad) {\n return self().radToScratch(rad);\n}\n\nexport function scratchToRad(scratchDir) {\n return self().scratchToRad(scratchDir);\n}\n\nexport function scratchTan(angle) {\n return self().scratchTan(angle);\n}\n\nexport function normalizeDeg(deg) {\n return self().normalizeDeg(deg);\n}\n\nexport function wrapClamp(n, min, max) {\n return self().wrapClamp(n, min, max);\n}\n\nexport function random(a, b) {\n return self().random(a, b);\n}\n\n// Type conversion\nexport function toNumber(value) {\n return self().toNumber(value);\n}\n\nexport function toBoolean(value) {\n return self().toBoolean(value);\n}\n\nexport function toStr(value) {\n return self().toString(value);\n}\n\n// String / Array utilities\nexport function stringIncludes(string, substring) {\n return self().stringIncludes(string, substring);\n}\n\nexport function arrayIncludes(array, value) {\n return self().arrayIncludes(array, value);\n}\n\nexport function letterOf(string, index) {\n return self().letterOf(string, index);\n}\n\nexport function itemOf(array, index) {\n return self().itemOf(array, index);\n}\n\nexport function indexInArray(array, value) {\n return self().indexInArray(array, value);\n}\n\nexport function compare(v1, v2) {\n return self().compare(v1, v2);\n}\n\n// Control (additional)\nexport function warp(procedure) {\n return self().warp(procedure);\n}\n\n// Loop helpers\nexport function repeat(times, body) {\n for (var i = 0; i < times; i++) {\n body();\n }\n}\n\nexport function forever(body) {\n while (true) {\n body();\n }\n}\n\nexport function untilLoop(condition, body) {\n while (!condition()) {\n body();\n }\n}\n\n// Color utilities\nexport function rgb(r, g, b) {\n return Color.rgb(r, g, b);\n}\n\nexport function hex(hex) {\n return Color.hex(hex);\n}\n\nexport function colorNumToRgb(num) {\n return Color.num(num);\n}\n\nfunction hexToRGB(hex) { return Color.hexToRGB(hex); }\nfunction hexToHSL(hex) { return Color.hexToHSL(hex); }\nfunction rgbToHex(r, g, b) { return Color.rgbToHex(r, g, b); }\nfunction rgbToHSL(r, g, b) { return Color.rgbToHSL(r, g, b); }\nfunction hslToRGB(h, s, l) { return Color.hslToRGB(h, s, l); }\nfunction hslToHex(h, s, l) { return Color.hslToHex(h, s, l); }\n";
|
|
15
15
|
export declare const REGISTRATION_RUNTIME_JS = "\n// registrationRuntime.js\n// Stores \"which sprite class is currently being registered\" during module evaluation.\nconst REG = {\n currentSpriteClass: null,\n};\nexport function enterSpriteRegistration(spriteClass) {\n REG.currentSpriteClass = spriteClass;\n}\nexport function exitSpriteRegistration() {\n REG.currentSpriteClass = null;\n}\nexport function getCurrentSpriteClass() {\n const Cls = REG.currentSpriteClass;\n if (!Cls) {\n throw new Error(\n \"Sprite registration API called outside sprite module evaluation. \" +\n \"Make sure index.js calls enterSpriteRegistration(Class) before importing the sprite user module.\"\n );\n }\n return Cls;\n}\n";
|
|
16
16
|
export declare const getInfrastructureFiles: (options?: InfrastructureOptions) => {
|
|
17
17
|
"userApi.js": string;
|
|
@@ -375,10 +375,6 @@ export function stop(option) {
|
|
|
375
375
|
self().stop(option);
|
|
376
376
|
}
|
|
377
377
|
|
|
378
|
-
export function stopGame() {
|
|
379
|
-
self().stopGame();
|
|
380
|
-
}
|
|
381
|
-
|
|
382
378
|
export function stopAllSounds() {
|
|
383
379
|
self().stopAllSounds();
|
|
384
380
|
}
|
|
@@ -932,4 +928,4 @@ const getInfrastructureFiles = (options = {}) => ({
|
|
|
932
928
|
"registrationRuntime.js": exports.REGISTRATION_RUNTIME_JS,
|
|
933
929
|
});
|
|
934
930
|
exports.getInfrastructureFiles = getInfrastructureFiles;
|
|
935
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
931
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mcmFzdHJ1Y3R1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW8vbGVvcGFyZC9pbmZyYXN0cnVjdHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7OztHQUdHOzs7QUFNSCxNQUFNLHNCQUFzQixHQUMxQixrRkFBa0YsQ0FBQTtBQUV2RSxRQUFBLFVBQVUsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0E2QnpCLENBQUE7QUFFWSxRQUFBLGNBQWMsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBcUg3QixDQUFBO0FBRVksUUFBQSxhQUFhLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBb0g1QixDQUFBO0FBRVksUUFBQSxvQkFBb0IsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FtQ25DLENBQUE7QUFFWSxRQUFBLG1CQUFtQixHQUFHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0F3QmxDLENBQUE7QUFFTSxNQUFNLFlBQVksR0FBRyxDQUFDLGFBQXNCLEVBQUUsRUFBRSxDQUFDOzs7O0NBSXZELENBQUE7QUFKWSxRQUFBLFlBQVksZ0JBSXhCO0FBRVksUUFBQSxlQUFlLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQTJpQjlCLENBQUE7QUFFWSxRQUFBLHVCQUF1QixHQUFHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBc0J0QyxDQUFBO0FBRU0sTUFBTSxzQkFBc0IsR0FBRyxDQUNwQyxVQUFpQyxFQUFFLEVBQ25DLEVBQUUsQ0FBQyxDQUFDO0lBQ0osWUFBWSxFQUFFLElBQUEsb0JBQVksRUFBQyxPQUFPLENBQUMsWUFBWSxDQUFDO0lBQ2hELFlBQVksRUFBRSxrQkFBVTtJQUN4QixnQkFBZ0IsRUFBRSx1QkFBZTtJQUNqQyxlQUFlLEVBQUUsc0JBQWM7SUFDL0IsY0FBYyxFQUFFLHFCQUFhO0lBQzdCLG9CQUFvQixFQUFFLDRCQUFvQjtJQUMxQyxtQkFBbUIsRUFBRSwyQkFBbUI7SUFDeEMsd0JBQXdCLEVBQUUsK0JBQXVCO0NBQ2xELENBQUMsQ0FBQTtBQVhXLFFBQUEsc0JBQXNCLDBCQVdqQyJ9
|
|
@@ -1254,13 +1254,13 @@ async function toLeopard(project, inOptions = {}, prettierConfig = {}) {
|
|
|
1254
1254
|
}
|
|
1255
1255
|
case "all": {
|
|
1256
1256
|
blockSource = `
|
|
1257
|
-
|
|
1257
|
+
stop("stopSprite");
|
|
1258
1258
|
return;
|
|
1259
1259
|
`;
|
|
1260
1260
|
break;
|
|
1261
1261
|
}
|
|
1262
1262
|
default: {
|
|
1263
|
-
blockSource = `
|
|
1263
|
+
blockSource = `stop("stopSprite")`;
|
|
1264
1264
|
break;
|
|
1265
1265
|
}
|
|
1266
1266
|
}
|
|
@@ -2141,6 +2141,7 @@ async function toLeopard(project, inOptions = {}, prettierConfig = {}) {
|
|
|
2141
2141
|
name: costume.name,
|
|
2142
2142
|
md5: costume.md5,
|
|
2143
2143
|
ext: costume.ext,
|
|
2144
|
+
bitmapResolution: costume.bitmapResolution,
|
|
2144
2145
|
centerX: scaledCenterX,
|
|
2145
2146
|
centerY: scaledCenterY,
|
|
2146
2147
|
},
|
|
@@ -2397,4 +2398,4 @@ async function toLeopard(project, inOptions = {}, prettierConfig = {}) {
|
|
|
2397
2398
|
});
|
|
2398
2399
|
return { files, game };
|
|
2399
2400
|
}
|
|
2400
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9MZW9wYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lvL2xlb3BhcmQvdG9MZW9wYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTRkQSw0QkF3a0ZDO0FBcGlHRCxtREFBb0M7QUFHcEMsMkNBQThDO0FBQzlDLGtFQUEyRDtBQUUzRCxrREFLNkI7QUFDN0Isc0VBQStEO0FBQy9ELDhEQUF1RDtBQUV2RCxzREFHK0I7QUFDL0IsK0NBQXdDO0FBSXhDLDJEQU80QjtBQUU1Qjs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLGlCQUFpQixHQUFHO0lBQ3hCLFdBQVc7SUFDWCxPQUFPO0lBQ1AsT0FBTztJQUNQLE1BQU07SUFDTixPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxVQUFVO0lBQ1YsVUFBVTtJQUNWLFNBQVM7SUFDVCxRQUFRO0lBQ1IsSUFBSTtJQUNKLE1BQU07SUFDTixNQUFNO0lBQ04sTUFBTTtJQUNOLFFBQVE7SUFDUixTQUFTO0lBQ1QsT0FBTztJQUNQLFNBQVM7SUFDVCxLQUFLO0lBQ0wsVUFBVTtJQUNWLElBQUk7SUFDSixZQUFZO0lBQ1osUUFBUTtJQUNSLElBQUk7SUFDSixZQUFZO0lBQ1osV0FBVztJQUNYLEtBQUs7SUFDTCxLQUFLO0lBQ0wsTUFBTTtJQUNOLFNBQVM7SUFDVCxTQUFTO0lBQ1QsV0FBVztJQUNYLFFBQVE7SUFDUixRQUFRO0lBQ1IsUUFBUTtJQUNSLE9BQU87SUFDUCxRQUFRO0lBQ1IsTUFBTTtJQUNOLE9BQU87SUFDUCxNQUFNO0lBQ04sS0FBSztJQUNMLFFBQVE7SUFDUixPQUFPO0lBQ1AsS0FBSztJQUNMLE1BQU07SUFDTixPQUFPO0lBQ1AsTUFBTTtDQUNQLENBQUE7QUFFRDs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsTUFBTSw2QkFBNkIsR0FBRztJQUNwQyx5QkFBeUI7SUFDekIsVUFBVTtJQUNWLEtB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
|
|
2401
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9MZW9wYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lvL2xlb3BhcmQvdG9MZW9wYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTRkQSw0QkF5a0ZDO0FBcmlHRCxtREFBb0M7QUFHcEMsMkNBQThDO0FBQzlDLGtFQUEyRDtBQUUzRCxrREFLNkI7QUFDN0Isc0VBQStEO0FBQy9ELDhEQUF1RDtBQUV2RCxzREFHK0I7QUFDL0IsK0NBQXdDO0FBSXhDLDJEQU80QjtBQUU1Qjs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLGlCQUFpQixHQUFHO0lBQ3hCLFdBQVc7SUFDWCxPQUFPO0lBQ1AsT0FBTztJQUNQLE1BQU07SUFDTixPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxVQUFVO0lBQ1YsVUFBVTtJQUNWLFNBQVM7SUFDVCxRQUFRO0lBQ1IsSUFBSTtJQUNKLE1BQU07SUFDTixNQUFNO0lBQ04sTUFBTTtJQUNOLFFBQVE7SUFDUixTQUFTO0lBQ1QsT0FBTztJQUNQLFNBQVM7SUFDVCxLQUFLO0lBQ0wsVUFBVTtJQUNWLElBQUk7SUFDSixZQUFZO0lBQ1osUUFBUTtJQUNSLElBQUk7SUFDSixZQUFZO0lBQ1osV0FBVztJQUNYLEtBQUs7SUFDTCxLQUFLO0lBQ0wsTUFBTTtJQUNOLFNBQVM7SUFDVCxTQUFTO0lBQ1QsV0FBVztJQUNYLFFBQVE7SUFDUixRQUFRO0lBQ1IsUUFBUTtJQUNSLE9BQU87SUFDUCxRQUFRO0lBQ1IsTUFBTTtJQUNOLE9BQU87SUFDUCxNQUFNO0lBQ04sS0FBSztJQUNMLFFBQVE7SUFDUixPQUFPO0lBQ1AsS0FBSztJQUNMLE1BQU07SUFDTixPQUFPO0lBQ1AsTUFBTTtDQUNQLENBQUE7QUFFRDs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsTUFBTSw2QkFBNkIsR0FBRztJQUNwQyx5QkFBeUI7SUFDekIsVUFBVTtJQUNWLEtB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
|
package/lib/models/costume.d.ts
CHANGED
package/lib/models/game.js
CHANGED
|
@@ -6,6 +6,7 @@ exports.generateIndexJS = generateIndexJS;
|
|
|
6
6
|
exports.generateConstantsFile = generateConstantsFile;
|
|
7
7
|
const toLeopard_js_1 = require("../io/leopard/toLeopard.js");
|
|
8
8
|
const CostumeIndex_js_1 = require("./CostumeIndex.js");
|
|
9
|
+
const sprite_js_1 = require("./sprite.js");
|
|
9
10
|
function generateAssetRegistryJS(game) {
|
|
10
11
|
const toLeopardJS = (0, toLeopard_js_1.getPathsToRelativeOrAbsolute)(toLeopard_js_1.defaultOptions.leopardJSURL);
|
|
11
12
|
const allSprites = [...Object.values(game.sprites), game.stage];
|
|
@@ -14,13 +15,15 @@ function generateAssetRegistryJS(game) {
|
|
|
14
15
|
const spriteScale = sprite.scale ?? 1;
|
|
15
16
|
const costumeEntries = Object.values(sprite.costumes)
|
|
16
17
|
.map(costume => {
|
|
17
|
-
const
|
|
18
|
-
const
|
|
18
|
+
const bitmapResolution = (0, sprite_js_1.getCostumeBitmapResolution)(costume);
|
|
19
|
+
const centerX = (0, sprite_js_1.getCostumeCenterCoordinate)(sprite, costume, "x");
|
|
20
|
+
const centerY = (0, sprite_js_1.getCostumeCenterCoordinate)(sprite, costume, "y");
|
|
19
21
|
const fileKey = `${costume.name}.${costume.ext}`;
|
|
20
22
|
return `${JSON.stringify(fileKey)}: new Costume({
|
|
21
23
|
name: ${JSON.stringify(costume.name)},
|
|
22
24
|
url: ${JSON.stringify(`./${sprite.name}/costumes/${costume.name}.${costume.ext}`)},
|
|
23
25
|
center: { x: ${centerX * spriteScale}, y: ${centerY * spriteScale} },
|
|
26
|
+
resolution: ${bitmapResolution},
|
|
24
27
|
scale: ${spriteScale}
|
|
25
28
|
})`;
|
|
26
29
|
})
|
|
@@ -61,23 +64,23 @@ function generateIndexJS(game) {
|
|
|
61
64
|
import { wrapSpriteClass } from "./wrapSpriteClass.js"
|
|
62
65
|
import { wrapStageClass } from "./wrapStageClass.js"
|
|
63
66
|
|
|
64
|
-
import
|
|
67
|
+
import Stage from "./Stage/Stage.js";
|
|
65
68
|
${Object.values(game.sprites)
|
|
66
|
-
.map(target => `import
|
|
69
|
+
.map(target => `import ${target.name} from "./${target.name}/${target.name}.js";`)
|
|
67
70
|
.join("\n")}
|
|
68
71
|
|
|
69
72
|
async function main() {
|
|
70
|
-
const
|
|
73
|
+
const WrappedStage = wrapStageClass(Stage);
|
|
71
74
|
|
|
72
|
-
const stage = new
|
|
75
|
+
const stage = new WrappedStage({ costumeNumber: 1, width: ${game.stage.width ?? 480}, height: ${game.stage.height ?? 360} });
|
|
73
76
|
|
|
74
77
|
${Object.values(game.sprites)
|
|
75
|
-
.map(target => `const ${target.name} = wrapSpriteClass(
|
|
78
|
+
.map(target => `const Wrapped${target.name} = wrapSpriteClass(${target.name});`)
|
|
76
79
|
.join("\n")}
|
|
77
80
|
|
|
78
81
|
const sprites = {
|
|
79
82
|
${Object.values(game.sprites)
|
|
80
|
-
.map(sprite => `${sprite.name}: new ${sprite.name}({${Object.entries({
|
|
83
|
+
.map(sprite => `${sprite.name}: new Wrapped${sprite.name}({${Object.entries({
|
|
81
84
|
x: sprite.x,
|
|
82
85
|
y: sprite.y,
|
|
83
86
|
direction: sprite.direction,
|
|
@@ -115,7 +118,7 @@ function generateIndexJS(game) {
|
|
|
115
118
|
|
|
116
119
|
var stopBtn = document.querySelector('#stopButton');
|
|
117
120
|
if (stopBtn) {
|
|
118
|
-
stopBtn.addEventListener('click', function() { project.
|
|
121
|
+
stopBtn.addEventListener('click', function() { project.stopAll(); });
|
|
119
122
|
}
|
|
120
123
|
|
|
121
124
|
// Autoplay
|
|
@@ -203,4 +206,4 @@ function generateConstantsFile(game) {
|
|
|
203
206
|
// export default project;
|
|
204
207
|
// `;
|
|
205
208
|
// }
|
|
206
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
209
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RlbHMvZ2FtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0NBQStDOztBQW9CL0MsMERBeURDO0FBRUQsMENBcUZDO0FBRUQsc0RBS0M7QUF6S0QsNkRBR21DO0FBQ25DLHVEQUFnRDtBQUNoRCwyQ0FJb0I7QUFTcEIsU0FBZ0IsdUJBQXVCLENBQUMsSUFBZTtJQUNyRCxNQUFNLFdBQVcsR0FBRyxJQUFBLDJDQUE0QixFQUFDLDZCQUFjLENBQUMsWUFBWSxDQUFDLENBQUE7SUFFN0UsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUUvRCxNQUFNLGVBQWUsR0FBRyxVQUFVO1NBQy9CLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUNaLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFBO1FBQ3JDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQzthQUNsRCxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDYixNQUFNLGdCQUFnQixHQUFHLElBQUEsc0NBQTBCLEVBQUMsT0FBTyxDQUFDLENBQUE7WUFDNUQsTUFBTSxPQUFPLEdBQUcsSUFBQSxzQ0FBMEIsRUFBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFBO1lBQ2hFLE1BQU0sT0FBTyxHQUFHLElBQUEsc0NBQTBCLEVBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQTtZQUNoRSxNQUFNLE9BQU8sR0FBRyxHQUFHLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFBO1lBRWhELE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9B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
|
package/lib/models/sprite.d.ts
CHANGED
|
@@ -22,5 +22,7 @@ export interface SpriteModel {
|
|
|
22
22
|
sounds: Record<string, SoundModel>;
|
|
23
23
|
costumes: NonEmptyRecord<CostumeModel>;
|
|
24
24
|
}
|
|
25
|
+
export declare function getCostumeBitmapResolution(costume: CostumeModel): number;
|
|
26
|
+
export declare function getCostumeCenterCoordinate(sprite: SpriteModel, costume: CostumeModel, axis: "x" | "y"): number;
|
|
25
27
|
export declare function generateNewSpriteJS(sprite: SpriteModel): [string, string];
|
|
26
28
|
export declare function generateSpriteDefJS(sprite: SpriteModel): [string, string];
|
package/lib/models/sprite.js
CHANGED
|
@@ -1,9 +1,57 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Sprite model used for generating js and def.js files
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.getCostumeBitmapResolution = getCostumeBitmapResolution;
|
|
5
|
+
exports.getCostumeCenterCoordinate = getCostumeCenterCoordinate;
|
|
4
6
|
exports.generateNewSpriteJS = generateNewSpriteJS;
|
|
5
7
|
exports.generateSpriteDefJS = generateSpriteDefJS;
|
|
6
8
|
const toLeopard_js_1 = require("../io/leopard/toLeopard.js");
|
|
9
|
+
const DEFAULT_STAGE_WIDTH = 480;
|
|
10
|
+
const DEFAULT_STAGE_HEIGHT = 360;
|
|
11
|
+
const DEFAULT_BITMAP_RESOLUTION = 2;
|
|
12
|
+
function getStageDimension(sprite, axis) {
|
|
13
|
+
const dimension = axis === "x" ? sprite.width : sprite.height;
|
|
14
|
+
if (dimension === undefined) {
|
|
15
|
+
return axis === "x" ? DEFAULT_STAGE_WIDTH : DEFAULT_STAGE_HEIGHT;
|
|
16
|
+
}
|
|
17
|
+
return dimension;
|
|
18
|
+
}
|
|
19
|
+
function getCostumeBitmapResolution(costume) {
|
|
20
|
+
if (costume.bitmapResolution === undefined) {
|
|
21
|
+
return DEFAULT_BITMAP_RESOLUTION;
|
|
22
|
+
}
|
|
23
|
+
return costume.bitmapResolution;
|
|
24
|
+
}
|
|
25
|
+
function getCostumeCenterCoordinate(sprite, costume, axis) {
|
|
26
|
+
let rawCenter;
|
|
27
|
+
if (sprite.isStage) {
|
|
28
|
+
rawCenter =
|
|
29
|
+
(getStageDimension(sprite, axis) * getCostumeBitmapResolution(costume)) /
|
|
30
|
+
2;
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
rawCenter = axis === "x" ? costume.centerX : costume.centerY;
|
|
34
|
+
}
|
|
35
|
+
if (rawCenter === null || rawCenter === undefined) {
|
|
36
|
+
return 0;
|
|
37
|
+
}
|
|
38
|
+
return rawCenter;
|
|
39
|
+
}
|
|
40
|
+
function generateCostumeDefinition(sprite, costume) {
|
|
41
|
+
const bitmapResolution = getCostumeBitmapResolution(costume);
|
|
42
|
+
const centerX = getCostumeCenterCoordinate(sprite, costume, "x");
|
|
43
|
+
const centerY = getCostumeCenterCoordinate(sprite, costume, "y");
|
|
44
|
+
return `new Costume({name: ${JSON.stringify(costume.name)}, url: ${JSON.stringify(toLeopard_js_1.defaultOptions.getAssetURL({
|
|
45
|
+
type: "costume",
|
|
46
|
+
target: sprite.name,
|
|
47
|
+
name: costume.name,
|
|
48
|
+
md5: costume.md5,
|
|
49
|
+
ext: costume.ext,
|
|
50
|
+
}))}, center: {
|
|
51
|
+
x: ${centerX} * CostumeScale * spriteScale,
|
|
52
|
+
y: ${centerY} * CostumeScale * spriteScale,
|
|
53
|
+
}, resolution: ${bitmapResolution}, scale: 1 * CostumeScale * spriteScale})`;
|
|
54
|
+
}
|
|
7
55
|
function generateNewSpriteJS(sprite) {
|
|
8
56
|
const toLeopardJS = (0, toLeopard_js_1.getPathsToRelativeOrAbsolute)(toLeopard_js_1.defaultOptions.leopardJSURL);
|
|
9
57
|
return [
|
|
@@ -36,18 +84,7 @@ function generateSpriteDefJS(sprite) {
|
|
|
36
84
|
super(...args);
|
|
37
85
|
this.costumes = [
|
|
38
86
|
${Object.values(sprite.costumes)
|
|
39
|
-
.map(costume =>
|
|
40
|
-
type: "costume",
|
|
41
|
-
target: sprite.name,
|
|
42
|
-
name: costume.name,
|
|
43
|
-
md5: costume.md5,
|
|
44
|
-
ext: costume.ext,
|
|
45
|
-
}))}, center: {
|
|
46
|
-
// x: costume.centerX,
|
|
47
|
-
// y: costume.centerY
|
|
48
|
-
x: ${sprite.isStage ? 480 : costume.centerX} * CostumeScale * spriteScale,
|
|
49
|
-
y: ${sprite.isStage ? 360 : costume.centerY} * CostumeScale * spriteScale,
|
|
50
|
-
}, scale: 1 * CostumeScale * spriteScale})`)
|
|
87
|
+
.map(costume => generateCostumeDefinition(sprite, costume))
|
|
51
88
|
.join(",\n")}
|
|
52
89
|
];
|
|
53
90
|
|
|
@@ -82,4 +119,4 @@ function generateSpriteDefJS(sprite) {
|
|
|
82
119
|
`,
|
|
83
120
|
];
|
|
84
121
|
}
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ByaXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZGVscy9zcHJpdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHVEQUF1RDs7QUF5RHZELGdFQU1DO0FBRUQsZ0VBb0JDO0FBd0JELGtEQWFDO0FBRUQsa0RBNkRDO0FBdkxELDZEQUdtQztBQXNDbkMsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLENBQUE7QUFDL0IsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLENBQUE7QUFDaEMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLENBQUE7QUFFbkMsU0FBUyxpQkFBaUIsQ0FBQyxNQUFtQixFQUFFLElBQWU7SUFDN0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQTtJQUU3RCxJQUFJLFNBQVMsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUM1QixPQUFPLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQTtJQUNsRSxDQUFDO0lBRUQsT0FBTyxTQUFTLENBQUE7QUFDbEIsQ0FBQztBQUVELFNBQWdCLDBCQUEwQixDQUFDLE9BQXFCO0lBQzlELElBQUksT0FBTyxDQUFDLGdCQUFnQixLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQzNDLE9BQU8seUJBQXlCLENBQUE7SUFDbEMsQ0FBQztJQUVELE9BQU8sT0FBTyxDQUFDLGdCQUFnQixDQUFBO0FBQ2pDLENBQUM7QUFFRCxTQUFnQiwwQkFBMEIsQ0FDeEMsTUFBbUIsRUFDbkIsT0FBcUIsRUFDckIsSUFBZTtJQUVmLElBQUksU0FBb0MsQ0FBQTtJQUV4QyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQixTQUFTO1lBQ1AsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEdB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
|