mirror of
https://github.com/scratchfoundation/scratch-vm.git
synced 2024-12-24 06:52:40 -05:00
9b04392211
* Move Node output: /dist.js => /dist/node/scratch-vm.js * Move web output: /vm{.js,.min.js} => /dist/web/scratch-vm{.js,.min.js} * Update build output references in package.json and the playground's index.html * Move the VirtualMachine class out of index.js into its own file, referenced by index.js. The VirtualMachine class is otherwise unchanged. * Add .gitattributes rules for new file types which were added to this repository without specifying their text/binary attributes * Turn on source maps in webpack and add corresponding .gitignore rule
88 lines
3.1 KiB
HTML
88 lines
3.1 KiB
HTML
<!doctype html>
|
|
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Scratch VM Playground</title>
|
|
<link rel="stylesheet" href="playground.css">
|
|
<link rel="stylesheet" href="zenburn.css">
|
|
</head>
|
|
<body>
|
|
<div id="vm-devtools">
|
|
<h2>Scratch VM Playground</h2>
|
|
<select id="selectedTarget" multiple></select>
|
|
<div id="projectButtons">
|
|
<button id="greenflag">Green flag</button>
|
|
<button id="stopall">Stop</button>
|
|
</div>
|
|
<div>
|
|
Turbo: <input id='turbomode' type='checkbox' />
|
|
</div>
|
|
<div>
|
|
Compatibility (30 TPS): <input id='compatmode' type='checkbox' />
|
|
</div>
|
|
<br />
|
|
<ul id="playgroundLinks">
|
|
<li><a id="renderexplorer-link" href="#">Renderer</a></li>
|
|
<li><a id="threadexplorer-link" href="#">Threads</a></li>
|
|
<li><a id="blockexplorer-link" href="#">Block Representation</a></li>
|
|
<li><a id="importexport-link" href="#">Import/Export</a></li>
|
|
</ul><br />
|
|
<div id="tab-renderexplorer">
|
|
Renderer<br />
|
|
<canvas id="scratch-stage" style="width: 480px; height: 360px;"></canvas><br />
|
|
x: <input id='sinfo-x' />
|
|
y: <input id='sinfo-y' /><br />
|
|
dir: <input id='sinfo-direction' />
|
|
rotation style: <input id='sinfo-rotationstyle' /><br />
|
|
visible: <input id='sinfo-visible' />
|
|
<button id='sinfo-post'>Post</button>
|
|
</div>
|
|
<div id="tab-threadexplorer">
|
|
Thread explorer
|
|
<pre id="threadexplorer"></pre>
|
|
</div>
|
|
<div id="tab-blockexplorer">
|
|
Block explorer
|
|
<pre id="blockexplorer"></pre>
|
|
</div>
|
|
<div id="tab-importexport">
|
|
Import/Export<br />
|
|
Project ID: <input id="projectId" value="119615668" />
|
|
<button id="projectLoadButton">Load</button>
|
|
<button id="createEmptyProject">New Project</button><br />
|
|
<p>
|
|
<input type="button" value="Export to XML" onclick="toXml()">
|
|
|
|
<input type="button" value="Import from XML" onclick="fromXml()" id="import">
|
|
<br /><br />
|
|
<textarea id="importExport"></textarea>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="blocks"></div>
|
|
|
|
<!-- FPS counter, Syntax highlighter, Blocks, Renderer -->
|
|
<script src="./vendor.js"></script>
|
|
<!-- VM Worker -->
|
|
<script src="./scratch-vm.js"></script>
|
|
<!-- Playground -->
|
|
<script src="./playground.js"></script>
|
|
<script>
|
|
function toXml() {
|
|
var output = document.getElementById('importExport');
|
|
var xml = Blockly.Xml.workspaceToDom(workspace);
|
|
output.value = Blockly.Xml.domToPrettyText(xml);
|
|
output.focus();
|
|
output.select();
|
|
}
|
|
|
|
function fromXml() {
|
|
var input = document.getElementById('importExport');
|
|
var xml = Blockly.Xml.textToDom(input.value);
|
|
Blockly.Xml.domToWorkspace(workspace, xml);
|
|
}
|
|
</script>
|
|
</body>
|
|
</html>
|