Hur att installera och använda ScratchExt: Javascript Scratch tillägg (3 / 3 steg)
Steg 3: Skriva dina egna tillägg
För dem som vill ta detta ett steg längre, kan du skapa dina egna block.
Detta kräver en förståelse för JavaScript, samt ett sätt att publicera JS kod på internet, såsom en greasyfork. För testning kan du också köra din kod i din webbläsares JavaScript-konsolen eller skapa din egen bookmarklet.
Se det officiella Scratch Extensions dokument för mer information.
Exempelkod:
Hej världen:
funktion installHelloWorld() {
(function(ext) {
Diskrensning funktion när utvidgningen är obelastad
ext._Shutdown = function() {}; Statuskoden rapportering
Använda detta betänkande saknas maskinvara, plugin eller rotlös webbläsare
ext._getStatus = function() {
returnera {status: 2, msg: 'Installerat'};
};
var deskriptor = {
block: [
["", "hello world", 'helloWorld']
]
};
Funktionen Hej världen
ext.helloWorld = function() {
Alert ("Hello World!")
};
ScratchExtensions.register ("Hello World", deskriptor, ext);
})({});
} < br > installHelloWorld();
Grundläggande blocktyper:
funktion installBasicBlocks() {
(function(ext) {
Diskrensning funktion när utvidgningen är obelastad
ext._Shutdown = function() {}; Statuskoden rapportering
Använda detta betänkande saknas maskinvara, plugin eller rotlös webbläsare
ext._getStatus = function() {
returnera {status: 2, msg: 'Installerat'};
};
var deskriptor = {
block: [
["", "en grundläggande metod", "foo"],
['h', 'en hatt blocket', 'hatMethod'],
["r", "reporter", "reporterMethod"],
["b", "en boolesk reporter", "bReporterMethod"],
['-'], //Separator
["", "strängen %s nummer %n färg %c", "bar", "petrichor", "42", "16775399"]
]
};
Alert metod
ext.foo = function() {
Alert('Foo');
};
Metoden hatt (kör kod när detta returnerar true)
ext.hatMethod = function() {
return true;
};
Reporter
ext.reporterMethod = function() {
returnera 42.
};
Booleska Reporter
ext.bReporterMethod = function() {
return true;
};
Metoden med argument
ext.bar = funktion (arg1, arg2, arg3) {
Alert ("Received:" + arg1 + "" + arg2 + "" + arg3);
};
ScratchExtensions.register ("Grundläggande block", deskriptor, ext);
})({});
}
installBasicBlocks();